On Saturday 05 January 2008 14:25, Linda Walsh wrote: > A question that comes to mind every time I go through the settings > for "Preemption Model" and "Preempt The Big Kernel Lock". > > Do each of the combinations "make sense", or are some "no-ops"? > For model, we have 1) no forced (server), 2) Voluntary (Desktop) > 3) preemptible (low-latency Desktop), and for Big Lock Preemption (BLP), > we have "yes" or "no". > > Questions: > > 1) What is the difference between "no forced" and "voluntary"? Doesn't > voluntary normally mean "not forced"?
voluntary adds a few more cond_resched() points. > 2) If a process is not preemptible, then it seems this would be "doubly > so" in the kernel when the big-lock is held. So does the big-lock > preemption question have any effect (when preempt-model="no forced"). With BLP, AFAIK code may not assume preemption is disabled. Debug checks should have caught any offenders by now. When there is no kernel preemption, I guess BLP still allows contenders to sleep and switch rather than spin, so it might improve throughput (or harm it!). > 3) If a process is "fully preemptible" but "BLP=false", is that > much different than "voluntary preemption" & BLP=false? I.e. -- > should 'preemptible kernel' also imply "BLP=true"...i.e. Yeah, they're all slightly different I think, but it probably is too much config options at this point in time. I think Ingo plans to make BLP the default and remove the config option. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/