From: Thomas Gleixner <tglx@linutronix.de>
To: Christoph Lameter <cl@linux.com>
Cc: Peter Zijlstra <peterz@infradead.org>, Tejun Heo <tj@kernel.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
"Paul E. McKenney" <paulmck@us.ibm.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@elte.hu>,
eric.dumazet@gmail.com
Subject: Re: per-cpu operation madness vs validation
Date: Wed, 27 Jul 2011 19:33:14 +0200 (CEST) [thread overview]
Message-ID: <alpine.LFD.2.02.1107271919500.2660@ionos> (raw)
In-Reply-To: <alpine.DEB.2.00.1107271204260.13058@router.home>
On Wed, 27 Jul 2011, Christoph Lameter wrote:
> On Wed, 27 Jul 2011, Peter Zijlstra wrote:
> > All this is simply about de-obfuscating all per-cpu assumptions. This is
> > about verification and traceability/debuggability.
>
> Ok verification and traceability are good but they should not
> be in the way of making core functionality high performance and low
> latency.
>
> The key issue is that the -rt kernel has always had grave issues with
> performance when it comes to per cpu data access. Solving that by forcing
> the kernel to go slow it not the right approach.
Nobody want's the kernel to go slow. All we want and we consider that
also a benefit for mainline is: proper annotation of the per cpu data
access, like we have for RCU and for locking.
Right now everything else than the "atomic" this_cpu stuff needs
protection of some sort, but it's nowhere documented and we have no
way to prove the correctness.
That has absolutely nothing to do with -rt. We already had cases in
mainline where per cpu data structures were accessed without or with
wrong protections because the logic changed over time or people made
the wrong assumptions.
For -rt this lack of documentation and the lack of verification,
debugability and traceability is a major PITA, but that's true for
non-rt as well, just the PITA is gradually smaller and the bugs which
are there today are just extremly hard to trigger.
And Peters idea of per_cpu_lock*() annotations will boil down to the
exact same thing which is there today when you compile the kernel w/o
lockdep enabled for per_cpu data correctness. We don't want to change
anything or impose any slowness, we just want a proper way to document
and verify that maze. That's really not too much of a request.
Thanks,
tglx
next prev parent reply other threads:[~2011-07-27 17:33 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-26 21:06 Peter Zijlstra
2011-07-26 21:32 ` Christoph Lameter
2011-07-27 12:11 ` Peter Zijlstra
2011-07-27 13:01 ` Peter Zijlstra
2011-07-27 14:20 ` Christoph Lameter
2011-07-27 16:20 ` Peter Zijlstra
2011-07-27 16:29 ` Peter Zijlstra
2011-07-27 17:04 ` Christoph Lameter
2011-07-27 16:53 ` Christoph Lameter
2011-07-27 14:16 ` Christoph Lameter
2011-07-27 16:20 ` Peter Zijlstra
2011-07-27 17:13 ` Christoph Lameter
2011-07-27 17:33 ` Thomas Gleixner [this message]
2011-07-27 20:48 ` Christoph Lameter
2011-07-27 22:17 ` Thomas Gleixner
2011-07-28 13:50 ` Christoph Lameter
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=alpine.LFD.2.02.1107271919500.2660@ionos \
--to=tglx@linutronix.de \
--cc=cl@linux.com \
--cc=eric.dumazet@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulmck@us.ibm.com \
--cc=peterz@infradead.org \
--cc=tj@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®