Re: [PATCH 6/6] mm/slab: allocation fastpath without disabling irq

2015-01-07 Thread Joonsoo Kim
On Tue, Jan 06, 2015 at 11:34:39AM +0100, Andreas Mohr wrote: > On Tue, Jan 06, 2015 at 10:31:22AM +0900, Joonsoo Kim wrote: > > Hello, > > > > On Mon, Jan 05, 2015 at 06:21:39PM +0100, Andreas Mohr wrote: > > > Hi, > > > > > > Joonsoo Kim wrote: > > > > + ac->tid = next_tid(ac->tid); > > >

Re: [PATCH 6/6] mm/slab: allocation fastpath without disabling irq

2015-01-06 Thread Andreas Mohr
On Tue, Jan 06, 2015 at 09:33:15AM -0600, Christoph Lameter wrote: > On Tue, 6 Jan 2015, Andreas Mohr wrote: > > by merely queuing them into a simple submission queue > > which then will be delay-applied by main-context > > either once main-context enters a certain "quiet" state (e.g. context > >

Re: [PATCH 6/6] mm/slab: allocation fastpath without disabling irq

2015-01-06 Thread Christoph Lameter
On Tue, 6 Jan 2015, Andreas Mohr wrote: > by merely queuing them into a simple submission queue > which then will be delay-applied by main-context > either once main-context enters a certain "quiet" state (e.g. context > switch?), > or once main-context needs to actively take into account This is

Re: [PATCH 6/6] mm/slab: allocation fastpath without disabling irq

2015-01-06 Thread Andreas Mohr
On Tue, Jan 06, 2015 at 10:31:22AM +0900, Joonsoo Kim wrote: > Hello, > > On Mon, Jan 05, 2015 at 06:21:39PM +0100, Andreas Mohr wrote: > > Hi, > > > > Joonsoo Kim wrote: > > > + ac->tid = next_tid(ac->tid); > > (and all others) > > > > object oriented: > > array_cache_next_tid(ac); > > (or perh

Re: [PATCH 6/6] mm/slab: allocation fastpath without disabling irq

2015-01-05 Thread Joonsoo Kim
Hello, On Mon, Jan 05, 2015 at 06:21:39PM +0100, Andreas Mohr wrote: > Hi, > > Joonsoo Kim wrote: > > + * Calculate the next globally unique transaction for disambiguiation > > "disambiguation" Okay. > > > + ac->tid = next_tid(ac->tid); > (and all others) > > object oriented: > array_cache

Re: [PATCH 6/6] mm/slab: allocation fastpath without disabling irq

2015-01-05 Thread Joonsoo Kim
On Mon, Jan 05, 2015 at 09:28:14AM -0600, Christoph Lameter wrote: > On Mon, 5 Jan 2015, Joonsoo Kim wrote: > > > index 449fc6b..54656f0 100644 > > --- a/mm/slab.c > > +++ b/mm/slab.c > > @@ -168,6 +168,41 @@ typedef unsigned short freelist_idx_t; > > > > #define SLAB_OBJ_MAX_NUM ((1 << sizeof(fr

Re: [PATCH 6/6] mm/slab: allocation fastpath without disabling irq

2015-01-05 Thread Christoph Lameter
On Mon, 5 Jan 2015, Andreas Mohr wrote: > These thoughts also mean that I'm unsure (difficult to determine) > of whether this change is good (i.e. a clean step in the right direction), > or whether instead the implementation could easily directly be made > fully independent from IRQ constraints.

Re: [PATCH 6/6] mm/slab: allocation fastpath without disabling irq

2015-01-05 Thread Andreas Mohr
Hi, Joonsoo Kim wrote: > + * Calculate the next globally unique transaction for disambiguiation "disambiguation" > + ac->tid = next_tid(ac->tid); (and all others) object oriented: array_cache_next_tid(ac); (or perhaps rather: array_cache_start_transaction(ac);?). > + /* > + * Be

Re: [PATCH 6/6] mm/slab: allocation fastpath without disabling irq

2015-01-05 Thread Christoph Lameter
On Mon, 5 Jan 2015, Joonsoo Kim wrote: > index 449fc6b..54656f0 100644 > --- a/mm/slab.c > +++ b/mm/slab.c > @@ -168,6 +168,41 @@ typedef unsigned short freelist_idx_t; > > #define SLAB_OBJ_MAX_NUM ((1 << sizeof(freelist_idx_t) * BITS_PER_BYTE) - 1) > > +#ifdef CONFIG_PREEMPT > +/* > + * Calculat