-
Alessandro Rubini authored
This changes the kernel configuration, in two ways: 1- It uses CONFIG_NOHZ, which enables Hight Resolution Timers Unfortunately this has no effect, as the timeevent device for AT91 doesn't support oneshot mode. This means that if you usleep(100) you'll wait 10ms. Thus, we can't remove the busy-looping in libwr/util.c . This is the output of my libstamp sample program: 0.003 -- stamping overhead 12.243 -- usleep 1 usec 10.005 -- usleep 1 usec 9.963 -- usleep 2 usec 10.037 -- usleep 5 usec 10.083 -- usleep 10 usec 9.905 -- usleep 100 usec 10.394 -- usleep 1000 usec 19.775 -- usleep 10000 usec 109.925 -- usleep 100000 usec 2- It moves CONFIG_HZ from 100 to 1000. Thus, we have 1000 timer interrupts per second. This means, in practice, that if you usleep(100) you wait 1ms. This costs around 2% of CPU power (measured by running a cpu-busy program before and after the change, in both cases after killing...
fe9f6db6