On Sat, 8 Oct 2011, Alex,Shi wrote: > On Mon, 2011-10-03 at 21:55 +0800, Christoph Lameter wrote: > > On Sun, 2 Oct 2011, Shi, Alex wrote: > > > > > > A slab on the partial lists always has objects available. Why would it be > > > > zero? > > > > > > Um, my mistaken. The reason should be: if code is here, the slab will be per cpu slab. > > > It is no chance to be in per cpu partial and no relationship with per cpu partial. So > > > no reason to use this value as a criteria for filling per cpu partial. > > > > I am not sure I understand you. The point of the code is to count the > > objects available in the per cpu partial pages so that we can limit the > > number of pages we fetch from the per node partial list. > > Maybe my understanding is incorrect for PCP. :) > What I thought is: when object == null, the page we got from node > partial list will be added into cpu slab. It has no chance to become per > cpu partial page. And it has no relationship with further per cpu > partial count checking. Since even 'available > cpu_partial/2', it > doesn't mean per cpu partial objects number > cpu_partial/2. acquire_slab should not return NULL unless something seriously goes wrong. I think we can remove the] if (!t) statement to avoid futher confusion? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. 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@xxxxxxxxx"> email@xxxxxxxxx </a>