From: Jeff Dike <jdike@addtoit.com>
To: Blaisorblade <blaisorblade@yahoo.it>
Cc: user-mode-linux-devel@lists.sourceforge.net
Subject: [uml-devel] Re: "Sleeping in atomic section" with ubd aio patch
Date: Wed, 14 Sep 2005 15:22:30 -0400 [thread overview]
Message-ID: <20050914192230.GC9001@ccure.user-mode-linux.org> (raw)
In-Reply-To: <200509132001.40992.blaisorblade@yahoo.it>
On Tue, Sep 13, 2005 at 08:01:40PM +0200, Blaisorblade wrote:
> It's just because things are called under spinlocks and GFP_KERNEL is used -
> but if possible, it'd be better to use something better than GFP_ATOMIC
> (since this is performance critical).
This would be ubd_io_lock, which is taken for us by the block layer before
entering do_ubd_request. We could make that a GFP_ATOMIC allocation, except
that we have already dequeued the request, so would need to do
something with it if the allocation failed.
I'm wondering if we can drop the lock before do_io and pick it up
afterwards. The bitmap argument is a global, which is a problem. Two
racing requests could result in one writing out a bitmap which is
either too old or too new.
So, I'm not sure how to handle this. We could requeue what's left of
the request if an allocation failure happens. We could drop the lock
and pick it up later, but we have to be careful to write out the
current bitmap, not one which we saved earlier or one which has been
updated to reflect a racing request which is coming through later.
Jeff
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
next prev parent reply other threads:[~2005-09-14 19:44 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-13 18:01 [uml-devel] "Sleeping in atomic section" with ubd aio patch Blaisorblade
2005-09-14 19:22 ` Jeff Dike [this message]
2005-09-14 20:00 ` [uml-devel] " Blaisorblade
2005-09-14 21:18 ` Jeff Dike
2005-09-16 19:20 ` Blaisorblade
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=20050914192230.GC9001@ccure.user-mode-linux.org \
--to=jdike@addtoit.com \
--cc=blaisorblade@yahoo.it \
--cc=user-mode-linux-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.