RE: [PATCH] slub: remove a minus instruction in get_partial_node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2011-10-11 at 01:11 +0800, Christoph Lameter wrote:
> 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?

That is another story. 

Wondering if a page freeing by discard_slab impact this or not. I don't
fully understand the slub page alloc/free now, may study this later. :) 



--
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>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]