From: Roger Larsson <roger.larsson@norran.net>
To: "linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: User mode stalls - can it be...?
Date: Wed, 05 Jul 2000 03:29:22 +0200 [thread overview]
Message-ID: <39628F72.4987A36@norran.net> (raw)
In-Reply-To: 3962874A.190AAC7E@norran.net
Roger Larsson wrote:
What about this modification (buffer.c):
static void sync_page_buffers(struct buffer_head *bh, int wait)
{
struct buffer_head * tmp = bh;
do {
struct buffer_head *p = tmp;
tmp = tmp->b_this_page;
if (buffer_locked(p)) {
if (wait)
__wait_on_buffer(p);
} else if (buffer_dirty(p))
ll_rw_block(WRITE, 1, &p);
} while (tmp != bh);
}
-to-
static void sync_page_buffers(struct buffer_head *bh, int wait)
{
struct buffer_head * tmp = bh;
do {
struct buffer_head *p = tmp;
tmp = tmp->b_this_page;
if (!buffer_locked(p) &&
buffer_dirty(p))
ll_rw_block(WRITE, 1, &p);
if (wait)
__wait_on_buffer(p);
} while (tmp != bh);
}
Not tested... (tomorrow - good night)
/RogerL
>
> Hi,
>
> I have an idea why we get the stalls!
>
> If we end up in a situation where our write attempts are rejected
> due to lack of resources - we will continue happily with next and
> next...
>
> Count hits zero and we return
>
> But kswapd finds out that there is more to do and calls another
> shrink_mmap...
> (and need_resched is not set due to lower priority)
>
> Gives, busy wait in shrink_mmap until pages are written...
>
> I tried to renice 15 kswapd with improved results (I am using my patched
> kernels)
> Another approach would be to always sleep...
>
> /RogerL
>
> (Sent privately to Quintela and Riel - but it might be of value for
> someone else too...)
>
> --
> Home page:
> http://www.norran.net/nra02596/
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org. For more info on Linux MM,
> see: http://www.linux.eu.org/Linux-MM/
--
Home page:
http://www.norran.net/nra02596/
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
next prev parent reply other threads:[~2000-07-05 1:32 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-07-05 0:54 User mode stalls - can it be...? Roger Larsson
2000-07-05 1:29 ` Roger Larsson [this message]
2000-07-05 13:35 ` Stephen C. Tweedie
2000-07-05 19:26 ` Roger Larsson
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=39628F72.4987A36@norran.net \
--to=roger.larsson@norran.net \
--cc=linux-mm@kvack.org \
/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.