From: Ingo Molnar <mingo@elte.hu>
To: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
linux-arch@vger.kernel.org,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
Arnd Bergmann <arnd@arndb.de>,
Horst Hartmann <horsth@linux.vnet.ibm.com>,
Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>,
Nick Piggin <nickpiggin@yahoo.com.au>
Subject: Re: [patch 2/3] spinlock: allow inlined spinlocks
Date: Sun, 16 Aug 2009 23:36:57 +0200 [thread overview]
Message-ID: <20090816213657.GA2994@elte.hu> (raw)
In-Reply-To: <20090816213343.GA4766@osiris.boeblingen.de.ibm.com>
* Heiko Carstens <heiko.carstens@de.ibm.com> wrote:
> On Sun, Aug 16, 2009 at 10:48:31PM +0200, Ingo Molnar wrote:
> > * Heiko Carstens <heiko.carstens@de.ibm.com> wrote:
> > > On Sun, Aug 16, 2009 at 08:06:31PM +0200, Ingo Molnar wrote:
> > > > * Heiko Carstens <heiko.carstens@de.ibm.com> wrote:
> > > > > > #define __spin_lock_is_small
> > > >
> > > > > > +unsigned long __lockfunc _spin_lock_irqsave_nested(spinlock_t *lock, int subclass)
> > > > > > + __acquires(lock);
> > > > > > +
> > > > > > +#ifdef __spin_lock_is_small
> > > > > > +#define _spin_lock(lock) __spin_lock(lock)
> > > > > > +#else
> > > > > > +void __lockfunc _spin_lock(spinlock_t *lock) __acquires(lock);
> > > > > > +#endif
> > > >
> > > > Dunno - i'm somewhat wary of introducing a 2^28 variability here.
> > > > (although the number of real variations is much lower - but still).
> > > >
> > > > What's the current situation on s390, precisely which of the 28 lock
> > > > functions are a win to be inlined and which ones are a loss? Do you
> > > > have a list/table perhaps?
> > >
> > > No list unfortunately. [...]
> >
> > Well, if you dont know the functions you want to inline, how
> > will you make intelligent use of this facility then in s390?
>
> What I tried to say: in general we want to have all locking
> functions inlined. This is because all our measurements show if
> anything gets inlined performance improves. This is even true for
> large functions.
>
> > Btw., i just noticed that s390 has CONFIG_PREEMPT turned on by
> > default in its defconfig. Have you made your measurements with
> > CONFIG_PREEMPT? If yes then the current inlining rules in
> > spinlock.h will turn all the locking APIs into functions.
>
> All measurements were done with CONFIG_PREEMPT off.
ok.
( Btw., regardless of this patch-set, i suspect you _really_ want
compiler help for that - one with a global scope and which can go
inline even larger functions, and even if they were declared
global in the kernel. )
Ingo
next prev parent reply other threads:[~2009-08-16 21:37 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-14 12:58 [patch 0/3] Allow inlined spinlocks again V4 Heiko Carstens
2009-08-14 12:58 ` [patch 1/3] spinlock: move spinlock function bodies to header file Heiko Carstens
2009-08-14 12:58 ` [patch 2/3] spinlock: allow inlined spinlocks Heiko Carstens
2009-08-16 17:57 ` Heiko Carstens
2009-08-16 18:06 ` Ingo Molnar
2009-08-16 18:43 ` Linus Torvalds
2009-08-16 20:24 ` Ingo Molnar
2009-08-16 21:07 ` Linus Torvalds
2009-08-16 21:18 ` Ingo Molnar
2009-08-16 18:44 ` Heiko Carstens
2009-08-16 20:48 ` Ingo Molnar
2009-08-16 21:33 ` Heiko Carstens
2009-08-16 21:36 ` Ingo Molnar [this message]
2009-08-16 18:22 ` Linus Torvalds
2009-08-17 15:46 ` Heiko Carstens
2009-08-14 12:58 ` [patch 3/3] spinlock: inline code for all locking variants on s390 Heiko Carstens
-- strict thread matches above, loose matches on Subject: below --
2009-08-12 18:39 [patch 0/3] Allow inlined spinlocks again V3 Heiko Carstens
2009-08-12 18:39 ` [patch 2/3] spinlock: allow inlined spinlocks Heiko Carstens
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090816213657.GA2994@elte.hu \
--to=mingo@elte.hu \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=ehrhardt@linux.vnet.ibm.com \
--cc=heiko.carstens@de.ibm.com \
--cc=horsth@linux.vnet.ibm.com \
--cc=linux-arch@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
--cc=schwidefsky@de.ibm.com \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.