public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrey Nekrasov <andy@spylog.ru>
To: linux-kernel@vger.kernel.org
Cc: Marcelo Tosatti <marcelo@conectiva.com.br>
Subject: Re: With Daniel Phillips Patch (was: aic7xxx with 2.4.9 on 7899P)
Date: Wed, 29 Aug 2001 11:30:12 +0400	[thread overview]
Message-ID: <20010829113012.A8300@spylog.ru> (raw)
In-Reply-To: <15235.55592.699783.338199@abasin.nj.nec.com> <Pine.LNX.4.21.0108221241040.2202-100000@freak.distro.conectiva>
In-Reply-To: <Pine.LNX.4.21.0108221241040.2202-100000@freak.distro.conectiva>

Hello Marcelo Tosatti,

Once you wrote about "Re: With Daniel Phillips Patch (was: aic7xxx with 2.4.9 on 7899P)":

 
  May be later, i applied you patch on my server (1.5Gb/DAC960/2CPU/...)
	All test OK (tiobench/NFS - big file - more 2Gb).

	You patch enter to mainline kernel (Linux/Alan) ?



> 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 

 
> >  > 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?
> >  >  		 *
> >  > 
> > -
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at  http://www.tux.org/lkml/
> > 
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

-- 
bye.
Andrey Nekrasov, SpyLOG.

  parent reply	other threads:[~2001-08-29  7:30 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:36             ` aic7xxx with 2.4.9 on 7899P Sven Heinicke
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 22:49                       ` Sven Heinicke
2001-08-22 13:06                         ` Gérard Roudier
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                                   ` David S. Miller
2001-08-22 18:32                                 ` Justin T. Gibbs
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:14                                       ` David S. Miller
2001-08-22 21:14                                       ` David S. Miller
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-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-22 10:25                 ` Marcelo Tosatti
2001-08-22 16:09                   ` Sven Heinicke
2001-08-22 15:42                     ` Marcelo Tosatti
2001-08-22 20:25                       ` Sven Heinicke
2001-08-29  7:30                       ` Andrey Nekrasov [this message]
2001-09-03 14:58                         ` Marcelo Tosatti
2001-08-20 22:55             ` aic7xxx errors with 2.4.8-ac7 on 440gx mobo Cliff Albert
2001-08-21  0:36               ` Justin T. Gibbs
2001-08-21 15:34                 ` Gérard Roudier
2001-08-20 21:44         ` 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=20010829113012.A8300@spylog.ru \
    --to=andy@spylog.ru \
    --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