[prev in list] [next in list] [prev in thread] [next in thread]
List: uclibc
Subject: Can't get nanosleep to work for small delays
From: grant.b.edwards () gmail ! com (Grant Edwards)
Date: 2011-09-20 23:18:20
Message-ID: j5b6vs$o19$1 () dough ! gmane ! org
[Download RAW message or body]
On 2011-09-20, Grant Edwards <grant.b.edwards at gmail.com> wrote:
> I'm running a 2.6.30 kernel on an Atmel AT91SAM9g20 with uClibc
> 0.9.30.3 built with gcc 4.4.6.
>
> The problem is that when calling nanosleep with small delays, the
> calling task doesn't wake up until the next 4ms tick.
>
> Here are what I _think_ are the relevent portions of kernel config:
>
> CONFIG_TICK_ONESHOT=y
> CONFIG_NO_HZ=y
> CONFIG_HIGH_RES_TIMERS=y
> CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
> CONFIG_VMSPLIT_3G=y
> # CONFIG_VMSPLIT_2G is not set
> # CONFIG_VMSPLIT_1G is not set
> CONFIG_PAGE_OFFSET=0xC0000000
> CONFIG_PREEMPT=y
> CONFIG_HZ=250
> CONFIG_AEABI=y
> CONFIG_OABI_COMPAT=y
[...]
> What I'm trying to figure out is what piece is missing...
After some more googling and experimentation, I figured out that on
Atmel AT91 targets you have to enable ATMEL_TCLIB in the kernel build
in order to get high-res timers. [It would be nice if that were
mentioned in the help text for ATMEL_TCLIB, but it isn't.]
--
Grant
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic