All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bill Huey (hui) <billh@gnuppy.monkey.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	John Stultz <johnstul@us.ibm.com>,
	"Paul E. McKenney" <paulmck@us.ibm.com>,
	Dipankar Sarma <dipankar@in.ibm.com>,
	Arjan van de Ven <arjan@infradead.org>,
	Esben Nielsen <simlo@phys.au.dk>,
	"Bill Huey (hui)" <billh@gnuppy.monkey.org>
Subject: Re: [PATCH] move put_task_struct() reaping into a thread [Re: 2.6.18-rt1]
Date: Thu, 21 Sep 2006 01:13:33 -0700	[thread overview]
Message-ID: <20060921081333.GC11644@gnuppy.monkey.org> (raw)
In-Reply-To: <20060921075633.GA30343@elte.hu>

On Thu, Sep 21, 2006 at 09:56:33AM +0200, Ingo Molnar wrote:
> * Bill Huey <billh@gnuppy.monkey.org> wrote:
> 
> > [...] If the upstream kernel used RCU function in a task allocation or 
> > task struct reading in the first place then call_rcu() would be a 
> > clear choice. However, I didn't see it used in that way (I could be 
> > wrong) [...]
> 
> it was RCU-ified briefly but then it was further improved to direct 
> freeing, because upstream _can_ free it directly.

Unfortunately, this is a problem with -rt patch and the lock ordering
in this system when you have to call a memory allocator within an atomic
critical section. I fully accept this as part of what goes into making a
kernel preemptive and I'm ok with it. Not many folks know about the
special case locking rules in the -rt kernel so this might be new to
various folks.

If you're looking for validation of this technique from me and an ego
stroking, then you have it from me. :)

Fortunately, it's in a non-critical place so this should *not* be too
much of a problem, but I've already encountered oddies trying to
allocate a pool of entities for populating a free list under an atomic
critical section of some sort for some code I've been writing. This is
a significant problem with kernel coding in -rt, but I can't say what
the general solution is other than making the memory allocators
non-preemptible by reverting the locks back to raw spinlocks, etc...
using lock-break, who knows. I'm ok with the current scenario, but this
could eventually be a larger problem.

bill


  reply	other threads:[~2006-09-21  8:13 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-20 14:19 2.6.18-rt1 Ingo Molnar
2006-09-20 16:50 ` 2.6.18-rt1 Gene Heskett
2006-09-20 16:58   ` 2.6.18-rt1 Ingo Molnar
2006-09-20 17:33     ` 2.6.18-rt1 Gene Heskett
2006-09-20 18:34     ` 2.6.18-rt1 Gene Heskett
2006-09-20 17:00   ` 2.6.18-rt1 Daniel Walker
2006-09-20 17:38     ` 2.6.18-rt1 Paul E. McKenney
2006-09-20 17:41       ` 2.6.18-rt1 Daniel Walker
2006-09-20 18:23         ` 2.6.18-rt1 Gene Heskett
2006-09-20 18:25         ` 2.6.18-rt1 Paul E. McKenney
2006-09-20 18:34           ` 2.6.18-rt1 Daniel Walker
2006-09-20 20:06             ` 2.6.18-rt1 Paul E. McKenney
2006-09-20 21:38               ` 2.6.18-rt1 Gene Heskett
2006-09-20 20:17             ` 2.6.18-rt1 Gene Heskett
2006-09-20 18:36           ` 2.6.18-rt1 Gene Heskett
2006-09-20 18:47             ` 2.6.18-rt1 Thomas Gleixner
2006-09-20 19:20               ` 2.6.18-rt1 Thomas Gleixner
2006-09-20 19:46             ` 2.6.18-rt1 Ingo Molnar
2006-09-20 20:19               ` 2.6.18-rt1 Daniel Walker
2006-09-20 20:14                 ` 2.6.18-rt1 Ingo Molnar
2006-09-20 20:31                   ` 2.6.18-rt1 Daniel Walker
2006-09-21 19:02                     ` 2.6.18-rt1 Ingo Molnar
2006-09-21 19:18                       ` 2.6.18-rt1 Daniel Walker
2006-09-22 14:42                       ` 2.6.18-rt1 Daniel Walker
2006-09-27  8:36                         ` 2.6.18-rt1 Ingo Molnar
2006-09-21  8:04               ` 2.6.18-rt1 Deepak Saxena
2006-09-21  8:04                 ` 2.6.18-rt1 Ingo Molnar
2006-09-21  8:24                   ` 2.6.18-rt1 Deepak Saxena
2006-09-22  2:19               ` 2.6.18-rt1 john cooper
2006-09-22  6:36                 ` 2.6.18-rt1 Lennert Buytenhek
2006-09-22 11:56                   ` 2.6.18-rt1 Ingo Molnar
2006-09-27 13:10                     ` 2.6.18-rt4 john cooper
2006-09-27 13:09                       ` 2.6.18-rt4 Ingo Molnar
2006-09-20 18:56 ` 2.6.18-rt1 K.R. Foley
2006-09-20 19:49   ` 2.6.18-rt1 Ingo Molnar
2006-09-20 20:33     ` 2.6.18-rt1 K.R. Foley
2006-09-20 20:41       ` 2.6.18-rt1 Thomas Gleixner
2006-09-20 20:50         ` 2.6.18-rt1 K.R. Foley
2006-09-21 19:16           ` 2.6.18-rt1 john stultz
2006-09-22  2:18             ` 2.6.18-rt1 K.R. Foley
2006-09-22 11:58             ` 2.6.18-rt1 Ingo Molnar
2006-09-28  0:42               ` 2.6.18-rt1 john stultz
2006-09-28 22:48                 ` 2.6.18-rt1 john stultz
2006-09-29  2:09                   ` 2.6.18-rt1 K.R. Foley
2006-09-29 12:24                   ` 2.6.18-rt1 Ingo Molnar
2006-09-29 12:40                   ` 2.6.18-rt1 Ingo Molnar
2006-09-20 19:58   ` 2.6.18-rt1 Thomas Gleixner
2006-09-20 20:34     ` 2.6.18-rt1 K.R. Foley
2006-09-20 19:38 ` 2.6.18-rt1 Mark Knecht
2006-09-20 20:27   ` 2.6.18-rt1 Mark Knecht
2006-09-22 14:14   ` 2.6.18-rt1 Lee Revell
2006-09-20 20:54 ` 2.6.18-rt1 Michal Piotrowski
2006-09-20 22:07 ` 2.6.18-rt1 Michal Piotrowski
2006-09-20 22:26 ` 2.6.18-rt1 Michal Piotrowski
2006-09-21  6:56 ` [PATCH] move put_task_struct() reaping into a thread [Re: 2.6.18-rt1] Bill Huey
2006-09-21  6:54   ` Ingo Molnar
2006-09-21  7:18     ` Bill Huey
2006-09-21  7:16       ` Ingo Molnar
2006-09-21  7:32         ` Bill Huey
2006-09-21  7:29           ` Ingo Molnar
2006-09-21  7:48             ` Bill Huey
2006-09-21  7:56               ` Ingo Molnar
2006-09-21  8:13                 ` Bill Huey [this message]
2006-09-21 12:23                   ` Esben Nielsen
2006-09-21 12:56                     ` Ingo Molnar
2006-09-21  7:27       ` Bill Huey
2006-09-21  7:22         ` Ingo Molnar
2006-09-21  7:35           ` Bill Huey
2006-09-21  7:31             ` Ingo Molnar
2006-09-21  7:52               ` Bill Huey
2006-09-27  2:55   ` Eric W. Biederman
2006-09-27  5:08     ` Bill Huey
2006-09-27  6:02       ` Eric W. Biederman
2006-09-27  6:34         ` Bill Huey
2006-09-27  7:29           ` Eric W. Biederman
2006-09-27  9:01             ` Ingo Molnar
2006-09-27 13:59               ` Eric W. Biederman
2006-09-27 14:06                 ` Ingo Molnar
2006-09-27 16:18                   ` Paul E. McKenney
2006-09-27  9:08             ` Ingo Molnar
2006-09-27  9:09             ` Bill Huey
2006-09-27  9:05               ` Ingo Molnar
2006-09-27 20:28         ` Esben Nielsen
2006-09-27  8:57       ` Ingo Molnar
2006-09-27  9:14         ` Bill Huey
2006-09-27  9:15           ` Ingo Molnar
2006-09-25  9:53 ` 2.6.18-rt1 Florian Schmidt
2006-09-26  7:57   ` 2.6.18-rt1 Florian Schmidt
2006-09-25 16:12 ` 2.6.18-rt1 Mike Kravetz
2006-09-27  8:34   ` 2.6.18-rt1 Ingo Molnar
2006-09-30 18:06 ` 2.6.18-rt1 Lee Revell
2006-09-30 18:18   ` 2.6.18-rt1 Dipankar Sarma
2006-09-30 18:25     ` 2.6.18-rt1 Lee Revell
2006-10-13 21:18     ` 2.6.18-rt1 Karsten Wiese
2006-10-13 21:20       ` 2.6.18-rt1 Lee Revell
2006-10-13 21:24       ` 2.6.18-rt1 Dipankar Sarma
2006-10-13 22:12         ` 2.6.18-rt1 Lee Revell
2006-10-13 22:16           ` 2.6.18-rt1 Dipankar Sarma
2006-10-17 14:46             ` 2.6.18-rt1 Lee Revell
2006-10-18  8:34               ` 2.6.18-rt1 Ingo Molnar
2006-10-18  7:12         ` 2.6.18-rt1 Ingo Molnar

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=20060921081333.GC11644@gnuppy.monkey.org \
    --to=billh@gnuppy.monkey.org \
    --cc=arjan@infradead.org \
    --cc=dipankar@in.ibm.com \
    --cc=johnstul@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=paulmck@us.ibm.com \
    --cc=simlo@phys.au.dk \
    --cc=tglx@linutronix.de \
    /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.