All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
Cc: "'Jens Axboe'" <axboe@suse.de>,
	Claudio Martins <ctpm@rnl.ist.utl.pt>,
	Andrew Morton <akpm@osdl.org>,
	lkml <linux-kernel@vger.kernel.org>,
	Neil Brown <neilb@cse.unsw.edu.au>
Subject: Re: Processes stuck on D state on Dual Opteron
Date: Tue, 12 Apr 2005 22:04:40 +1000	[thread overview]
Message-ID: <425BB958.3080308@yahoo.com.au> (raw)
In-Reply-To: <425BB073.8050308@yahoo.com.au>

Nick Piggin wrote:
> Nick Piggin wrote:
> 
>> Chen, Kenneth W wrote:
> 
> 
>>> I like the patch a lot and already did bench it on our db setup.  
>>> However,
>>> I'm seeing a negative regression compare to a very very crappy patch 
>>> (see
>>> attached, you can laugh at me for doing things like that :-).
>>>
>>
>> OK - if we go that way, perhaps the following patch may be the
>> way to do it.
>>
> 
> Here.
> 

Actually yes this is good I think.

What I was worried about is that you could lose some fairness due
to not being put on the queue before allocation.

This is probably a silly thing to worry about, because up until
that point things aren't really deterministic anyway (and before this
patchset it would try doing a GFP_ATOMIC allocation first anyway).

However after the subsequent locking rework, both these get_request()
calls will be performed under the same lock - giving you the same
fairness. So it is nothing to worry about anyway!

It is a bit subtle: get_request may only drop the lock and return NULL
(after retaking the lock), if we fail on a memory allocation. If we
just fail due to unavailable queue slots, then the lock is never
dropped. And the mem allocation can't fail because it is a mempool
alloc with GFP_NOIO.

Nick

-- 
SUSE Labs, Novell Inc.


  reply	other threads:[~2005-04-12 12:07 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-05  2:16 Processes stuck on D state on Dual Opteron Claudio Martins
2005-04-05  2:12 ` Andrew Morton
2005-04-10  2:28   ` Claudio Martins
2005-04-10  2:47     ` Andrew Morton
2005-04-10  3:19       ` Claudio Martins
2005-04-11  0:38       ` Claudio Martins
2005-04-11  6:36         ` Nick Piggin
2005-04-11  9:55         ` Nick Piggin
2005-04-11 12:45           ` Nick Piggin
2005-04-11 14:05             ` Claudio Martins
2005-04-11 22:59               ` Nick Piggin
2005-04-12  0:22                 ` Claudio Martins
2005-04-12  0:46                   ` Andrew Morton
2005-04-13  0:31                     ` Claudio Martins
2005-04-13  2:24                       ` Nick Piggin
2005-04-12  1:19                   ` Nick Piggin
2005-04-12  7:07                     ` Jens Axboe
2005-04-12  8:03                       ` Chen, Kenneth W
2005-04-12 11:09                         ` Nick Piggin
2005-04-12 11:26                           ` Nick Piggin
2005-04-12 12:04                             ` Nick Piggin [this message]
2005-04-12 17:07                               ` Thomas Davis
2005-04-12 18:33                           ` Chen, Kenneth W
2005-04-13  1:45                             ` Nick Piggin
2005-04-11 23:46             ` Neil Brown
2005-04-12  0:30               ` Claudio Martins
2005-04-10  2:53     ` Nick Piggin
2005-04-10  3:22       ` Claudio Martins

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=425BB958.3080308@yahoo.com.au \
    --to=nickpiggin@yahoo.com.au \
    --cc=akpm@osdl.org \
    --cc=axboe@suse.de \
    --cc=ctpm@rnl.ist.utl.pt \
    --cc=kenneth.w.chen@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neilb@cse.unsw.edu.au \
    /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.