On 10/06/2010 05:16 πμ, Matthew Dillon wrote: [...]
For the most part these tokens are not going to be held for more than 1uS or so, and often quite a bit less then that. This is because most kernel operations only take long periods of time because they actually block, and of course the token will be released if the thread blocks.Take a vm_fault for example. The fault occurs and then blocks on I/O. That might be 200ns. Then later on the I/O completes and the thread wakes up and reacquires the token, then spends another 200ns with the token held before returning from the fault.
I was thinking more about a soft pagefault, where you might need to search the VM data structures, do a few allocations and wait for an IPI roundtrip (for the pagetable invalidation).
Aggelos
