All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Mike Snitzer <snitzer@gmail.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	Jeff Layton <jlayton@redhat.com>,
	akpm@linux-foundation.org, neilb@suse.de,
	linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/6] NLM: Initialize completion variable in lockd_up
Date: Sat, 15 Mar 2008 02:34:03 -0400	[thread overview]
Message-ID: <20080315063403.GA6942@infradead.org> (raw)
In-Reply-To: <170fa0d20803142044i3e4d134fq5b287134248a113f-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Fri, Mar 14, 2008 at 10:44:31PM -0500, Mike Snitzer wrote:
> On Sun, Jan 13, 2008 at 1:17 PM, Christoph Hellwig <hch@infradead.org> wrote:
> >  Btw, lockd() takes BKL just after starting up and only implicitly drops
> >  it when blocking.  This seems very dangerous to me and badly wants
> >  updating to some real locking scheme..
> 
> Can you elaborate on what is meant by lockd "blocking"?  Blocking in
> svc_recv() or during a SETLKW or ???

Blocking in kernel context means sleeping aka scheduling away.  So in the
sentence above that means BKL is dropped once lockd sleeps on a
syncronization primitive the first time.


WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@infradead.org>
To: Mike Snitzer <snitzer@gmail.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	Jeff Layton <jlayton@redhat.com>,
	akpm@linux-foundation.org, neilb@suse.de,
	linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/6] NLM: Initialize completion variable in lockd_up
Date: Sat, 15 Mar 2008 02:34:03 -0400	[thread overview]
Message-ID: <20080315063403.GA6942@infradead.org> (raw)
In-Reply-To: <170fa0d20803142044i3e4d134fq5b287134248a113f@mail.gmail.com>

On Fri, Mar 14, 2008 at 10:44:31PM -0500, Mike Snitzer wrote:
> On Sun, Jan 13, 2008 at 1:17 PM, Christoph Hellwig <hch@infradead.org> wrote:
> >  Btw, lockd() takes BKL just after starting up and only implicitly drops
> >  it when blocking.  This seems very dangerous to me and badly wants
> >  updating to some real locking scheme..
> 
> Can you elaborate on what is meant by lockd "blocking"?  Blocking in
> svc_recv() or during a SETLKW or ???

Blocking in kernel context means sleeping aka scheduling away.  So in the
sentence above that means BKL is dropped once lockd sleeps on a
syncronization primitive the first time.


  parent reply	other threads:[~2008-03-15  6:34 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-08 19:33 [PATCH 0/6] Intro: convert lockd to kthread and fix use-after-free (try #6) Jeff Layton
2008-01-08 19:33 ` [PATCH 1/6] SUNRPC: spin svc_rqst initialization to its own function Jeff Layton
2008-01-08 19:33   ` [PATCH 2/6] SUNRPC: export svc_sock_update_bufs Jeff Layton
2008-01-08 19:33     ` [PATCH 3/6] NLM: Initialize completion variable in lockd_up Jeff Layton
2008-01-08 19:33       ` [PATCH 4/6] NLM: Have lockd call try_to_freeze Jeff Layton
2008-01-08 19:33         ` [PATCH 5/6] NLM: Convert lockd to use kthreads Jeff Layton
2008-01-08 19:33           ` [PATCH 6/6] NLM: Add reference counting to lockd Jeff Layton
2008-01-09 17:47             ` Christoph Hellwig
2008-01-09 18:36               ` Jeff Layton
     [not found]                 ` <20080109133621.72f611ec-RtJpwOs3+0O+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2008-01-09 18:48                   ` Christoph Hellwig
2008-01-09 18:48                     ` Christoph Hellwig
2008-01-09 18:59                     ` Jeff Layton
2008-01-10  3:29             ` Neil Brown
     [not found]               ` <18309.37138.207880.305870-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2008-01-10 11:58                 ` Jeff Layton
2008-01-10 11:58                   ` Jeff Layton
2008-01-09 17:45           ` [PATCH 5/6] NLM: Convert lockd to use kthreads Christoph Hellwig
2008-01-09 18:08             ` Jeff Layton
2008-01-09 17:35       ` [PATCH 3/6] NLM: Initialize completion variable in lockd_up Christoph Hellwig
2008-01-09 18:05         ` Jeff Layton
     [not found]           ` <20080109130554.550ccde5-RtJpwOs3+0O+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2008-01-09 18:14             ` Christoph Hellwig
2008-01-09 18:14               ` Christoph Hellwig
2008-01-13 13:27         ` Jeff Layton
     [not found]           ` <20080113082718.396890f7-RtJpwOs3+0O+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2008-01-13 18:17             ` Christoph Hellwig
2008-01-13 18:17               ` Christoph Hellwig
2008-01-13 19:12               ` J. Bruce Fields
2008-01-14 14:24               ` Jeff Layton
     [not found]                 ` <20080114092454.66a41c29-RtJpwOs3+0O+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2008-01-14 14:25                   ` Christoph Hellwig
2008-01-14 14:25                     ` Christoph Hellwig
2008-03-15  3:44               ` Mike Snitzer
     [not found]                 ` <170fa0d20803142044i3e4d134fq5b287134248a113f-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-03-15  6:34                   ` Christoph Hellwig [this message]
2008-03-15  6:34                     ` Christoph Hellwig
  -- strict thread matches above, loose matches on Subject: below --
2008-01-05 12:02 [PATCH 0/6] Intro: convert lockd to kthread and fix use-after-free (try #5) Jeff Layton
2008-01-05 12:02 ` [PATCH 1/6] SUNRPC: spin svc_rqst initialization to its own function Jeff Layton
2008-01-05 12:02   ` [PATCH 2/6] SUNRPC: export svc_sock_update_bufs Jeff Layton
2008-01-05 12:02     ` [PATCH 3/6] NLM: Initialize completion variable in lockd_up Jeff Layton
2007-12-21 15:28 [PATCH 0/6] Intro: convert lockd to kthread and fix use-after-free (try #4) Jeff Layton
2007-12-21 15:28 ` [PATCH 1/6] SUNRPC: spin svc_rqst initialization to its own function Jeff Layton
2007-12-21 15:28   ` [PATCH 2/6] SUNRPC: export svc_sock_update_bufs Jeff Layton
2007-12-21 15:28     ` [PATCH 3/6] NLM: Initialize completion variable in lockd_up Jeff Layton
2007-12-13 20:40 [PATCH 0/6] Intro: convert lockd to kthread and fix use-after-free Jeff Layton
2007-12-13 20:40 ` [PATCH 1/6] SUNRPC: Allow svc_pool_map_set_cpumask to work with any task Jeff Layton
2007-12-13 20:40   ` [PATCH 2/6] SUNRPC: Break up __svc_create_thread and make svc_create_kthread Jeff Layton
2007-12-13 20:40     ` [PATCH 3/6] NLM: Initialize completion variable in lockd_up Jeff Layton

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=20080315063403.GA6942@infradead.org \
    --to=hch@infradead.org \
    --cc=akpm@linux-foundation.org \
    --cc=jlayton@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=snitzer@gmail.com \
    /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.