All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Collins <bcollins@debian.org>
To: Andrew Morton <akpm@osdl.org>
Cc: kakadu_croc@yahoo.com, linux-kernel@vger.kernel.org,
	linux1394-devel@lists.sourceforge.net
Subject: Re: 2.6.0-test7-mm1
Date: Wed, 15 Oct 2003 22:25:47 -0400	[thread overview]
Message-ID: <20031016022547.GA615@phunnypharm.org> (raw)
In-Reply-To: <20031015105359.31c016c3.akpm@osdl.org>

On Wed, Oct 15, 2003 at 10:53:59AM -0700, Andrew Morton wrote:
> Ben Collins <bcollins@debian.org> wrote:
> >
> > > highlevel_add_host() does read_lock() and then proceeds to do things like
> >  > starting kernel threads under that lock.  The locking is pretty broken
> >  > in there :(
> > 
> >  No, highlevel_add_host() itself doesn't start any threads. But it does
> >  pass around data that needs to be locked from changes, and one of the
> >  handlers happens to start a thread, and other things allocate memory
> >  (such as this case).
> > 
> >  It's ugly, and I've been trying to clean it up. This case can be fixed
> >  quickly with a simple check in hpsb_create_hostinfo() to pass GFP_ATOMIC
> >  to kmalloc.
> 
> nodemgr_add_host() looks like the hard one.  Maybe make hl_drivers_lock a
> sleeping lock?

Problem is, things like bus resets happen in interrupt, and while I can
push off some things to occur in the nodemgr thread, a lot of other
stuff has to happen in the interrupt, and they require the same lock.

It's all a matter of just tossing out my todo list for a good week and
redoing all of this logic from the ground up. I have high hopes this
will happen in the next few weeks, but I'm not signing any contracts to
hold me to it :)

> >  My problem right now, is I don't use any architectures that support
> >  preempt, so I don't see a lot of these problems, like I catch with
> >  CONFIG_SMP.
> 
> Anton had a ppc64 patch which implemented the preempt_count beancounting
> without actually implementing premption.  So might_sleep() does the right
> thing.

I might have to dig that out and try to make use of it. Thanks for the
pointer.

-- 
Debian     - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
Subversion - http://subversion.tigris.org/
WatchGuard - http://www.watchguard.com/

  reply	other threads:[~2003-10-16  2:26 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-15 10:11 2.6.0-test7-mm1 Bradley Chapman
2003-10-15 10:22 ` 2.6.0-test7-mm1 Andrew Morton
2003-10-15 12:34   ` 2.6.0-test7-mm1 Bradley Chapman
2003-10-15 12:46     ` 2.6.0-test7-mm1 Tim Schmielau
2003-10-15 12:53       ` 2.6.0-test7-mm1 Bradley Chapman
2003-10-15 17:28     ` 2.6.0-test7-mm1 Andrew Morton
2003-10-15 17:40       ` 2.6.0-test7-mm1 Ben Collins
2003-10-15 17:53         ` 2.6.0-test7-mm1 Andrew Morton
2003-10-16  2:25           ` Ben Collins [this message]
2003-10-16 14:04             ` 2.6.0-test7-mm1 Anton Blanchard
2003-10-18 12:39             ` 2.6.0-test7-mm1 Kristian Høgsberg
2003-10-18 13:27               ` 2.6.0-test7-mm1 Ben Collins
2003-10-18 18:07                 ` This bug appears under 2.6.0-test8 as well (was: 2.6.0-test7-mm1) Bradley Chapman
2003-10-18 19:46                   ` Ben Collins
2003-10-27 20:13                     ` Mike Fedyk
2003-10-27 20:21                       ` Ben Collins
2003-10-15 21:14   ` 2.6.0-test7-mm1 Alexander Hoogerhuis
2003-10-15 21:44     ` 2.6.0-test7-mm1 Andrew Morton
     [not found] <20031016083124.45a171a5.akpm@osdl.org>
2003-10-17  7:03 ` 2.6.0-test7-mm1 Bradley Chapman
2003-10-17  7:25   ` 2.6.0-test7-mm1 Andrew Morton
2003-10-17  9:15     ` 2.6.0-test7-mm1 Russell King
  -- strict thread matches above, loose matches on Subject: below --
2003-10-16 14:44 2.6.0-test7-mm1 Steven Pratt
2003-10-16 14:58 ` 2.6.0-test7-mm1 Andrew Morton
2003-10-16 23:13   ` 2.6.0-test7-mm1 Steven Pratt
2003-10-17  7:23   ` 2.6.0-test7-mm1 Kirill Korotaev
2003-10-16 14:58 ` 2.6.0-test7-mm1 William Lee Irwin III
2003-10-19 14:16 ` 2.6.0-test7-mm1 Alexander Hoogerhuis
2003-10-15 12:17 2.6.0-test7-mm1 Jan Killius
2003-10-15  8:36 2.6.0-test7-mm1 Andrew Morton
2003-10-15  8:36 ` 2.6.0-test7-mm1 Andrew Morton
2003-10-15 15:20 ` 2.6.0-test7-mm1 Luiz Capitulino
2003-10-15 15:20   ` 2.6.0-test7-mm1 Luiz Capitulino
2003-10-15 15:42 ` 2.6.0-test7-mm1 Luiz Capitulino
2003-10-15 15:42   ` 2.6.0-test7-mm1 Luiz Capitulino
2003-10-15 16:55   ` 2.6.0-test7-mm1 William Lee Irwin III
2003-10-15 16:55     ` 2.6.0-test7-mm1 William Lee Irwin III
2003-10-15 21:40     ` 2.6.0-test7-mm1 William Lee Irwin III
2003-10-15 21:40       ` 2.6.0-test7-mm1 William Lee Irwin III
2003-10-16 15:11       ` 2.6.0-test7-mm1 Luiz Capitulino
2003-10-16 15:11         ` 2.6.0-test7-mm1 Luiz Capitulino
2003-10-17  8:58     ` 2.6.0-test7-mm1 Kirill Korotaev
2003-10-17  9:10       ` 2.6.0-test7-mm1 William Lee Irwin III
2003-10-17 12:02       ` 2.6.0-test7-mm1 Luiz Capitulino
2003-10-18 17:43 ` 2.6.0-test7-mm1 Thomas Schlichter
2003-10-18 17:50   ` 2.6.0-test7-mm1 Andrew Morton
2003-10-18 17:50     ` 2.6.0-test7-mm1 Andrew Morton

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=20031016022547.GA615@phunnypharm.org \
    --to=bcollins@debian.org \
    --cc=akpm@osdl.org \
    --cc=kakadu_croc@yahoo.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux1394-devel@lists.sourceforge.net \
    /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.