[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20111222180329.GA24544@elte.hu>
Date: Thu, 22 Dec 2011 19:03:29 +0100
From: Ingo Molnar <mingo@...e.hu>
To: Christoph Lameter <cl@...ux.com>
Cc: Tejun Heo <tj@...nel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Pekka Enberg <penberg@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [GIT PULL] slab fixes for 3.2-rc4
* Christoph Lameter <cl@...ux.com> wrote:
> On Thu, 22 Dec 2011, Tejun Heo wrote:
>
> > Yeap, and that one too. Maybe we can finally kill the duplicate
> > confusing static/dynamic accessors too. I'm planning to get to it in
> > several weeks but if anyone can beat me to it, please go ahead.
>
> That would be great. I looked at _and and _or and they both still have one
> use case (_xor has none though). But its easy to get rid of the irqsafe
> variants once we are willing to take the additional overhead that comes
> with disabling interrupts for the fallback cases.
>
>
> Subject: [percpu] Remove irqsafe_cpu_xxx variants
>
> We simply say that regular this_cpu use must be safe regardless of preemption
> and interrupt state. That has no material change for x86 and s390 implementations
> of this_cpu operations. However, arches that do not provide their own implementation
> for this_cpu operations will now get code generated that disables interrupts
> instead of preemption.
>
> Signed-off-by: Christoph Lameter <cl@...ux.com>
>
> ---
> arch/s390/include/asm/percpu.h | 50 ++++-----
> arch/x86/include/asm/percpu.h | 28 -----
> include/linux/netdevice.h | 4
> include/linux/netfilter/x_tables.h | 4
> include/linux/percpu.h | 190 ++++---------------------------------
> include/net/snmp.h | 14 +-
> mm/slub.c | 6 -
> net/caif/caif_dev.c | 4
> net/caif/cffrml.c | 4
> 9 files changed, 65 insertions(+), 239 deletions(-)
While this is progress, i think you have missed the essence of
Linus's observations: percpu.h is *way* too complex and is
offering way too many variants. The irqsafe madness was just the
most blatant problem.
Note that even wit your patch applied linux/percpu.h is 800+
lines long, while the total number of usecases is smaller than
that - and then i havent even considered all the arch percpu.h
files.
Why not implement Linus's suggestion of just one or two
__this_cpu() ops and be content with that model?
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists