From: Pavel Machek <pavel@suse.cz>
To: "Peter T. Breuer" <ptb@it.uc3m.es>
Cc: torvalds@transmeta.com, alan@lxorguk.ukuu.org.uk,
david.lang@digitalinsight.com, vojtech@suse.cz,
linux-kernel@vger.kernel.org
Subject: Re: [ENBD] [Fwd: Re: [PATCH] 2.5.8 IDE 36]
Date: Sun, 21 Apr 2002 22:53:12 +0200 [thread overview]
Message-ID: <20020421205312.GC12120@elf.ucw.cz> (raw)
In-Reply-To: <3CC00425.3060703@cjcj.com> <200204191307.g3JD7qX23492@oboe.it.uc3m.es>
Hi!
> With it, the protocol in the client daemon will ack the kernel _before_
> it gets an ack from the remote server. That should help relieve the
> deadlock. Things then go like this:
>
> kernel runs low on memory
> kernel flushes buffers to device drivers under pressure
> nbd client daemon sends to the net
> * client acks kernel and releases buffers in kernel
> server on the _same machine_ receives request over the net
> server tries to write request to disk
> server process needs buffers to write to
> * server gets buffers released by client in kernel
>
> At least, potentially. If I recall right, there's still a deadlock
> window in-kernel, but it's small. I don't recall the details. Oh -
> well, the request still hangs around in the driver until the client
> daemon acks .. maybe the client daemon can't ack without being swapped
> in first, and that'd be deadlock.
>
> Well, there's a "-s" flag (for swap devices) that does an mlockall()
> that might take care of that. So "-a -s" might do it. Really needs
> a "-aa" option (release write request in kernel asap).
Well, with mlockall(), I'd believe it could be made to work. Okay.
Pavel
--
(about SSSCA) "I don't say this lightly. However, I really think that the U.S.
no longer is classifiable as a democracy, but rather as a plutocracy." --hpa
prev parent reply other threads:[~2002-04-21 21:12 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <3CC00425.3060703@cjcj.com>
2002-04-19 13:07 ` Peter T. Breuer
2002-04-21 20:53 ` Pavel Machek [this message]
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=20020421205312.GC12120@elf.ucw.cz \
--to=pavel@suse.cz \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=david.lang@digitalinsight.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ptb@it.uc3m.es \
--cc=torvalds@transmeta.com \
--cc=vojtech@suse.cz \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®