From: Andrea Arcangeli <andrea@suse.de>
To: Rik van Riel <riel@conectiva.com.br>
Cc: Linus Torvalds <torvalds@transmeta.com>,
Ben LaHaise <bcrl@redhat.com>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
linux-kernel@vger.kernel.org
Subject: Re: Linux-2.4.5
Date: Sat, 26 May 2001 18:04:13 +0200 [thread overview]
Message-ID: <20010526180413.E9634@athlon.random> (raw)
In-Reply-To: <20010526173051.B9634@athlon.random> <Pine.LNX.4.21.0105261250160.30264-100000@imladris.rielhome.conectiva>
In-Reply-To: <Pine.LNX.4.21.0105261250160.30264-100000@imladris.rielhome.conectiva>; from riel@conectiva.com.br on Sat, May 26, 2001 at 12:51:38PM -0300
On Sat, May 26, 2001 at 12:51:38PM -0300, Rik van Riel wrote:
> On Sat, 26 May 2001, Andrea Arcangeli wrote:
>
> > > > - /*
> > > > - * Set our state for sleeping, then check again for buffer heads.
> > > > - * This ensures we won't miss a wake_up from an interrupt.
> > > > - */
> > > > - wait_event(buffer_wait, nr_unused_buffer_heads >= MAX_BUF_PER_PAGE);
> > > > + current->policy |= SCHED_YIELD;
> > > > + __set_current_state(TASK_RUNNING);
> > > > + schedule();
> > > > goto try_again;
> > > > }
>
> I'm still curious ... is it _really_ needed to busy-spin here?
As said we cannot wait_event, because those reserved bh will be released
only by the VM if there is memory pressure. If we sleep in wait_event
while I/O is in progress on the reserved bh and a big chunk of memory is
released under us, then those reserved bh may never get released and we
will hang in wait_event until there's memory pressure again, so unless
we implement another logic we need to somehow poll there and to try to
allocate again later. We should enter that path very seldom so I'm not
very concerned about the performance during the polling loop.
Andrea
next prev parent reply other threads:[~2001-05-26 23:22 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20010526171459.Y9634@athlon.random>
2001-05-26 15:22 ` Linux-2.4.5 Rik van Riel
2001-05-26 15:30 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 15:51 ` Linux-2.4.5 Rik van Riel
2001-05-26 16:04 ` Andrea Arcangeli [this message]
2001-05-26 15:23 ` Linux-2.4.5 Linus Torvalds
2001-05-26 15:31 ` Linux-2.4.5 Rik van Riel
2001-05-26 15:38 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 16:03 ` Linux-2.4.5 Linus Torvalds
2001-05-26 18:11 ` Linux-2.4.5 Ben LaHaise
2001-05-26 18:31 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 19:42 ` Linux-2.4.5 Ingo Molnar
2001-05-26 19:56 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 0:34 [with-PATCH-really] highmem deadlock removal, balancing & cleanup Linus Torvalds
2001-05-26 1:28 ` Linux-2.4.5 Linus Torvalds
2001-05-26 1:35 ` Linux-2.4.5 Rik van Riel
2001-05-26 1:39 ` Linux-2.4.5 Ben LaHaise
2001-05-26 1:59 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 2:11 ` Linux-2.4.5 Ben LaHaise
2001-05-26 2:38 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 2:49 ` Linux-2.4.5 Ben LaHaise
2001-05-26 3:11 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 4:22 ` Linux-2.4.5 Linus Torvalds
2001-05-26 4:31 ` Linux-2.4.5 Rik van Riel
2001-05-26 8:10 ` Linux-2.4.5 Linus Torvalds
2001-05-26 9:01 ` Linux-2.4.5 Linus Torvalds
2001-05-26 9:18 ` Linux-2.4.5 arjan
2001-05-26 14:18 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 14:21 ` Linux-2.4.5 Rik van Riel
2001-05-26 14:38 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 14:40 ` Linux-2.4.5 Rik van Riel
2001-05-26 15:17 ` Linux-2.4.5 Linus Torvalds
2001-05-26 15:28 ` Linux-2.4.5 Rik van Riel
2001-05-26 15:59 ` Linux-2.4.5 Linus Torvalds
2001-05-26 22:12 ` Linux-2.4.5 Marcelo Tosatti
2001-05-27 6:53 ` Linux-2.4.5 Marcelo Tosatti
2001-06-03 23:32 ` Linux-2.4.5 Linus Torvalds
2001-06-05 2:21 ` Linux-2.4.5 Marcelo Tosatti
2001-05-26 15:09 ` Linux-2.4.5 Linus Torvalds
2001-05-26 15:18 ` Linux-2.4.5 Rik van Riel
2001-05-26 15:24 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 15:26 ` Linux-2.4.5 Rik van Riel
2001-05-26 15:40 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 4:45 ` Linux-2.4.5 Rik van Riel
2001-05-26 4:47 ` Linux-2.4.5 Rik van Riel
2001-05-26 6:07 ` Linux-2.4.5 Ben LaHaise
2001-05-26 14:32 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 14:36 ` Linux-2.4.5 Rik van Riel
2001-05-26 15:03 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 15:08 ` Linux-2.4.5 Rik van Riel
2001-05-26 15:20 ` Linux-2.4.5 Andrea Arcangeli
2001-05-26 15:41 ` Linux-2.4.5 Rik van Riel
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=20010526180413.E9634@athlon.random \
--to=andrea@suse.de \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=bcrl@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=riel@conectiva.com.br \
--cc=torvalds@transmeta.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox