On Fri, Jun 17, 2011 at 12:58:03AM +0200, Ingo Molnar wrote:
* Andi Kleen [off-list ref] wrote:
quoted
quoted
There's a crazy solution for that: the idle thread could process
RCU callbacks carefully, as if it was running user-space code.
In Ben's kernel NFS server case the system may not be idle.
An always-100%-busy NFS server is very unlikely, but even in the
hypothetical case a kernel NFS server is really performing system
calls from a kernel thread in essence. If it doesn't do it explicitly
then its main loop can easily include a "check RCU callbacks" call.
As long as they make sure to call it in a clean environment: no locks
held and so on. But I am a bit worried about the possibility of someone
forgetting to put one of these where it is needed -- it would work just
fine for most workloads, but could fail only for rare workloads.
That said, invoking RCU core/callback processing from the scheduler
context certainly sounds like an interesting way to speed up grace
periods.
Thanx, Paul
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>