From: Sven Heinicke <sven@research.nj.nec.com>
To: Marcelo Tosatti <marcelo@conectiva.com.br>
Cc: linux-kernel@vger.kernel.org
Subject: Re: With Daniel Phillips Patch (was: aic7xxx with 2.4.9 on 7899P)
Date: Wed, 22 Aug 2001 12:09:12 -0400 (EDT) [thread overview]
Message-ID: <15235.55592.699783.338199@abasin.nj.nec.com> (raw)
In-Reply-To: <Pine.LNX.4.21.0108220724590.1327-100000@freak.distro.conectiva>
In-Reply-To: <15234.29508.488705.826498@abasin.nj.nec.com> <Pine.LNX.4.21.0108220724590.1327-100000@freak.distro.conectiva>
I tried you patch below, to compile I had to edit like 2451 of
buffer.c, after the patch to be "page->zone" instead of "page-zone".
After that the build want great. But part of the way through running
bonnie++ the system crashed in a way that it didn't write anything to
the sylog. The terminal was spewing:
APIC error on CPU0: 0c(0c)
APIC error on CPU1: 0c(0c)
I've really gotta put that system back into production. As it seems
much better off before the I started this thread with the 2.4.8-ac8
kernel.
Sven
Marcelo Tosatti writes:
>
>
> On Tue, 21 Aug 2001, Sven Heinicke wrote:
>
> >
> > Forgive the sin of replying to my own message but Daniel Phillips
> > replied to a different message with a patch to somebody getting a
> > similar error to mine. Here is the result:
> >
> > Aug 20 15:10:33 ps1 kernel: cation failed (gfp=0x30/1).
> > Aug 20 15:10:33 ps1 kernel: __alloc_pages: 0-order allocation failed
> > (gfp=0x30/1).
> > Aug 20 15:10:46 ps1 last message repeated 327 times
> > Aug 20 15:10:47 ps1 kernel: cation failed (gfp=0x30/1).
> > Aug 20 15:10:47 ps1 kernel: __alloc_pages: 0-order allocation failed
> > (gfp=0x30/1).
> > Aug 20 15:10:56 ps1 last message repeated 294 times
> >
> >
> > Sven Heinicke writes:
> > >
> > > It's always a blessing and a curse when people seem to be haveing
> > > problems with the same drivers as you. I started looking into this
> > > when I user complained about disk access time. I think this is
> > > related to the running aic7xxx topics.
> > >
> > > From my tests, I got a Dell 4400 who's Adaptec 7899P, according to
> > > bonnie++, was writing slower then some of my my IDE drives on a
> > > different system. I tried Red Hat's 2.4.3-12smp kernel and got a
> > > little improvement. I then built 2.4.9 and started running bonnie++
> > > again and my syslog gets filled up with such errors:
> > >
> > > Aug 20 14:23:33 ps1 kernel: __alloc_pages: 0-order all
> > > Aug 20 14:23:36 ps1 last message repeated 376 times
> > > Aug 20 14:23:36 ps1 kernel: ed.
> > > Aug 20 14:23:36 ps1 kernel: __alloc_pages: 0-order all
> > > Aug 20 14:23:44 ps1 last message repeated 376 times
> > > Aug 20 14:23:44 ps1 kernel: ed.
> > > Aug 20 14:23:44 ps1 kernel: __alloc_pages: 0-order all
> > > Aug 20 14:23:44 ps1 last message repeated 363 times
> > >
> > > With slow access time. Please request more info if you think it might
> > > help.
>
> Sven,
>
> Could you please try the following patch on top of 2.4.9?
>
> diff -Nur --exclude-from=exclude linux.orig/fs/buffer.c linux/fs/buffer.c
> --- linux.orig/fs/buffer.c Wed Aug 15 18:25:49 2001
> +++ linux/fs/buffer.c Tue Aug 21 04:54:01 2001
> @@ -2447,7 +2447,8 @@
> spin_unlock(&free_list[index].lock);
> write_unlock(&hash_table_lock);
> spin_unlock(&lru_list_lock);
> - if (gfp_mask & __GFP_IO) {
> + if (gfp_mask & __GFP_IO || (gfp_mask & __GFP_NOBOUNCE)
> + && page-zone == &pgdat_list->node_zones[ZONE_HIGHMEM]) {
> sync_page_buffers(bh, gfp_mask);
> /* We waited synchronously, so we can free the buffers. */
> if (gfp_mask & __GFP_WAIT) {
> diff -Nur --exclude-from=exclude linux.orig/include/linux/mm.h linux/include/linux/mm.h
> --- linux.orig/include/linux/mm.h Wed Aug 15 18:21:11 2001
> +++ linux/include/linux/mm.h Tue Aug 21 04:52:08 2001
> @@ -538,6 +538,8 @@
> #define __GFP_HIGH 0x20 /* Should access emergency pools? */
> #define __GFP_IO 0x40 /* Can start physical IO? */
> #define __GFP_FS 0x80 /* Can call down to low-level FS? */
> +#define __GFP_NOBOUNCE 0x100 /* Don't do any IO operation which may
> + result in IO bouncing */
>
> #define GFP_NOIO (__GFP_HIGH | __GFP_WAIT)
> #define GFP_NOFS (__GFP_HIGH | __GFP_WAIT | __GFP_IO)
> diff -Nur --exclude-from=exclude linux.orig/include/linux/slab.h linux/include/linux/slab.h
> --- linux.orig/include/linux/slab.h Wed Aug 15 18:21:13 2001
> +++ linux/include/linux/slab.h Tue Aug 21 04:51:20 2001
> @@ -23,7 +23,7 @@
> #define SLAB_NFS GFP_NFS
> #define SLAB_DMA GFP_DMA
>
> -#define SLAB_LEVEL_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_FS)
> +#define SLAB_LEVEL_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_FS|__GFP_NOBOUNCE)
> #define SLAB_NO_GROW 0x00001000UL /* don't grow a cache */
>
> /* flags to pass to kmem_cache_create().
> diff -Nur --exclude-from=exclude linux.orig/mm/highmem.c linux/mm/highmem.c
> --- linux.orig/mm/highmem.c Thu Aug 16 13:42:45 2001
> +++ linux/mm/highmem.c Tue Aug 21 04:50:08 2001
> @@ -321,7 +321,7 @@
> struct page *page;
>
> repeat_alloc:
> - page = alloc_page(GFP_NOIO);
> + page = alloc_page(GFP_NOIO|__GFP_NOBOUNCE);
> if (page)
> return page;
> /*
> @@ -359,7 +359,7 @@
> struct buffer_head *bh;
>
> repeat_alloc:
> - bh = kmem_cache_alloc(bh_cachep, SLAB_NOIO);
> + bh = kmem_cache_alloc(bh_cachep, SLAB_NOIO|__GFP_NOBOUNCE);
> if (bh)
> return bh;
> /*
> diff -Nur --exclude-from=exclude linux.orig/mm/page_alloc.c linux/mm/page_alloc.c
> --- linux.orig/mm/page_alloc.c Thu Aug 16 13:43:02 2001
> +++ linux/mm/page_alloc.c Tue Aug 21 04:51:03 2001
> @@ -398,7 +398,8 @@
> * - we're /really/ tight on memory
> * --> try to free pages ourselves with page_launder
> */
> - if (!(current->flags & PF_MEMALLOC)) {
> + if (!(current->flags & PF_MEMALLOC)
> + || ((gfp_mask & __GFP_NOBOUNCE) && !order)) {
> /*
> * Are we dealing with a higher order allocation?
> *
>
next prev parent reply other threads:[~2001-08-22 16:09 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-08-20 8:36 aic7xxx errors with 2.4.8-ac7 on 440gx mobo Yusuf Goolamabbas
2001-08-20 8:55 ` Cliff Albert
2001-08-20 10:37 ` Alan Cox
2001-08-20 10:56 ` Yusuf Goolamabbas
2001-08-20 10:56 ` Alan Cox
2001-08-20 11:13 ` Yusuf Goolamabbas
2001-08-20 11:09 ` Alan Cox
2001-08-20 16:43 ` Doug Ledford
2001-08-20 12:46 ` Stefan Fleiter
2001-08-20 15:19 ` Ville Herva
2001-08-20 20:33 ` Justin T. Gibbs
2001-08-20 16:45 ` Doug Ledford
2001-08-20 17:23 ` Stefan Fleiter
2001-08-20 20:28 ` Justin T. Gibbs
2001-08-21 20:24 ` Stefan Fleiter
2001-08-20 16:21 ` Cliff Albert
2001-08-20 17:23 ` Peter T. Breuer
2001-08-20 17:28 ` Cliff Albert
2001-08-20 20:27 ` Justin T. Gibbs
2001-08-20 20:45 ` Cliff Albert
2001-08-20 21:04 ` Cliff Albert
2001-08-20 21:09 ` Cliff Albert
2001-08-20 21:45 ` Justin T. Gibbs
2001-08-20 22:55 ` Cliff Albert
2001-08-21 0:36 ` Justin T. Gibbs
2001-08-21 15:34 ` Gérard Roudier
2001-08-21 14:42 ` With Daniel Phillips Patch (was: aic7xxx with 2.4.9 on 7899P) Sven Heinicke
2001-08-21 15:08 ` Daniel Phillips
2001-08-21 16:48 ` Sven Heinicke
2001-08-21 17:18 ` Justin T. Gibbs
2001-08-21 17:26 ` Daniel Phillips
2001-08-21 17:55 ` Stephan von Krawczynski
2001-08-21 18:33 ` Justin T. Gibbs
2001-08-22 6:46 ` Jens Axboe
2001-08-22 13:24 ` Justin T. Gibbs
2001-08-22 15:05 ` With Daniel Phillips Patch David S. Miller
2001-08-22 18:21 ` Gérard Roudier
2001-08-22 18:32 ` Justin T. Gibbs
2001-08-22 18:32 ` David S. Miller
2001-08-22 18:46 ` David S. Miller
2001-08-22 19:41 ` Justin T. Gibbs
2001-08-22 20:19 ` David S. Miller
2001-08-22 21:07 ` Gérard Roudier
2001-08-22 21:40 ` Justin T. Gibbs
2001-08-22 23:09 ` David S. Miller
2001-08-23 0:01 ` Justin T. Gibbs
2001-08-23 0:40 ` David S. Miller
2001-08-23 0:55 ` Justin T. Gibbs
2001-08-23 1:03 ` Matthew Jacob
2001-08-23 1:08 ` David S. Miller
2001-08-23 1:32 ` Justin T. Gibbs
2001-08-23 1:39 ` David S. Miller
2001-08-23 1:49 ` Justin T. Gibbs
2001-08-22 21:14 ` David S. Miller
2001-08-22 21:14 ` David S. Miller
2001-08-21 22:44 ` With Daniel Phillips Patch (was: aic7xxx with 2.4.9 on 7899P) Sven Heinicke
2001-08-22 0:58 ` Daniel Phillips
2001-08-21 22:49 ` Sven Heinicke
2001-08-22 13:06 ` Gérard Roudier
2001-08-22 10:25 ` Marcelo Tosatti
2001-08-22 16:09 ` Sven Heinicke [this message]
2001-08-22 15:42 ` Marcelo Tosatti
2001-08-29 7:30 ` Andrey Nekrasov
2001-09-03 14:58 ` Marcelo Tosatti
2001-08-22 20:25 ` Sven Heinicke
2001-08-20 22:36 ` aic7xxx with 2.4.9 on 7899P Sven Heinicke
2001-08-20 21:44 ` aic7xxx errors with 2.4.8-ac7 on 440gx mobo Justin T. Gibbs
2001-08-20 21:48 ` Cliff Albert
2001-08-25 7:15 ` Cliff Albert
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=15235.55592.699783.338199@abasin.nj.nec.com \
--to=sven@research.nj.nec.com \
--cc=linux-kernel@vger.kernel.org \
--cc=marcelo@conectiva.com.br \
/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®