public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [ANOMALIES]: 2.4.2 - __alloc_pages: failed & mount hanging withloop  device issues
       [not found] <Pine.LNX.4.33.0102231409010.496-100000@mikeg.weiden.de>
@ 2001-02-23 21:11 ` Shawn Starr
  2001-02-24  2:18   ` [ANOMALIES]: 2.4.2 - __alloc_pages: failed - Patch failed Shawn Starr
  2001-02-24  2:25   ` [ANOMALIES]: 2.4.2 - __alloc_pages: failed & mount hanging withloop device issues Rik van Riel
  0 siblings, 2 replies; 8+ messages in thread
From: Shawn Starr @ 2001-02-23 21:11 UTC (permalink / raw)
  To: Mike Galbraith; +Cc: lkm

Ok apply patch and loop patch... I'll let you know what happens in my next
email.

Mike Galbraith wrote:

> On Fri, 23 Feb 2001, Shawn Starr wrote:
>
> > Feb 23 03:31:18 coredump kernel: __alloc_pages: 3-order allocation
> > failed.
> > Feb 23 03:31:18 coredump kernel: __alloc_pages: 3-order allocation
> > failed.
> > Feb 23 03:31:18 coredump kernel: __alloc_pages: 2-order allocation
> > failed.
> > Feb 23 03:31:18 coredump kernel: __alloc_pages: 3-order allocation
> > failed.
> > Feb 23 03:31:18 coredump kernel: __alloc_pages: 3-order allocation
> > failed.
> > Feb 23 03:31:18 coredump kernel: __alloc_pages: 2-order allocation
> > failed.
> > Feb 23 03:31:18 coredump kernel: __alloc_pages: 3-order allocation
> > failed.
> >
> > The use of mkisofs and xcdroster with cdrecord seems to cause this fault
> > in kernel.log
>
> Hi,
>
> Can you try the below for the high order allocation problem?  We don't
> try very hard at all to service high order allocations under load.  If
> it helps, let me know and I'll submit it to Rik for consideration.
>
> (for loop troubles, you should try Jens' latest loop patch located in
> your favorite kernel mirror under pub/linux/kernel/people/axboe)
>
>         -Mike
>
> (patch was done against 2.4.1-ac20, but should go in ok)
> --- mm/page_alloc.c.org Fri Feb 23 13:21:54 2001
> +++ mm/page_alloc.c     Fri Feb 23 13:28:33 2001
> @@ -274,7 +274,7 @@
>  struct page * __alloc_pages(zonelist_t *zonelist, unsigned long order)
>  {
>         zone_t **zone;
> -       int direct_reclaim = 0;
> +       int direct_reclaim = 0, loop = 0;
>         unsigned int gfp_mask = zonelist->gfp_mask;
>         struct page * page;
>
> @@ -366,7 +366,7 @@
>          *   able to free some memory we can't free ourselves
>          */
>         wakeup_kswapd();
> -       if (gfp_mask & __GFP_WAIT) {
> +       if (gfp_mask & __GFP_WAIT && loop) {
>                 __set_current_state(TASK_RUNNING);
>                 current->policy |= SCHED_YIELD;
>                 schedule();
> @@ -393,6 +393,7 @@
>          *      --> try to free pages ourselves with page_launder
>          */
>         if (!(current->flags & PF_MEMALLOC)) {
> +               loop++;
>                 /*
>                  * Are we dealing with a higher order allocation?
>                  *
> @@ -440,7 +441,7 @@
>                         memory_pressure++;
>                         try_to_free_pages(gfp_mask);
>                         wakeup_bdflush(0);
> -                       if (!order)
> +                       if (!order || loop < (1 << order))
>                                 goto try_again;
>                 }
>         }


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ANOMALIES]: 2.4.2 - __alloc_pages: failed - Patch failed
  2001-02-23 21:11 ` [ANOMALIES]: 2.4.2 - __alloc_pages: failed & mount hanging withloop device issues Shawn Starr
@ 2001-02-24  2:18   ` Shawn Starr
  2001-02-24 16:01     ` Marcelo Tosatti
  2001-02-25  5:36     ` [ANOMALIES]: 2.4.2 - __alloc_pages: failed - Patch failed Mike Galbraith
  2001-02-24  2:25   ` [ANOMALIES]: 2.4.2 - __alloc_pages: failed & mount hanging withloop device issues Rik van Riel
  1 sibling, 2 replies; 8+ messages in thread
From: Shawn Starr @ 2001-02-24  2:18 UTC (permalink / raw)
  To: Mike Galbraith; +Cc: lkm

Feb 23 21:17:47 coredump kernel: __alloc_pages: 3-order allocation failed.
Feb 23 21:17:47 coredump kernel: __alloc_pages: 2-order allocation failed.
Feb 23 21:17:47 coredump kernel: __alloc_pages: 1-order allocation failed.
Feb 23 21:17:47 coredump kernel: __alloc_pages: 3-order allocation failed.
Feb 23 21:17:47 coredump kernel: __alloc_pages: 3-order allocation failed.
Feb 23 21:17:47 coredump kernel: __alloc_pages: 2-order allocation failed.
Feb 23 21:17:47 coredump kernel: __alloc_pages: 1-order allocation failed.

didnt, work, still causing this..

Shawn Starr wrote:

> Ok apply patch and loop patch... I'll let you know what happens in my next
> email.
>
> Mike Galbraith wrote:
>
> > On Fri, 23 Feb 2001, Shawn Starr wrote:
> >
> > > Feb 23 03:31:18 coredump kernel: __alloc_pages: 3-order allocation
> > > failed.
> > > Feb 23 03:31:18 coredump kernel: __alloc_pages: 3-order allocation
> > > failed.
> > > Feb 23 03:31:18 coredump kernel: __alloc_pages: 2-order allocation
> > > failed.
> > > Feb 23 03:31:18 coredump kernel: __alloc_pages: 3-order allocation
> > > failed.
> > > Feb 23 03:31:18 coredump kernel: __alloc_pages: 3-order allocation
> > > failed.
> > > Feb 23 03:31:18 coredump kernel: __alloc_pages: 2-order allocation
> > > failed.
> > > Feb 23 03:31:18 coredump kernel: __alloc_pages: 3-order allocation
> > > failed.
> > >
> > > The use of mkisofs and xcdroster with cdrecord seems to cause this fault
> > > in kernel.log
> >
> > Hi,
> >
> > Can you try the below for the high order allocation problem?  We don't
> > try very hard at all to service high order allocations under load.  If
> > it helps, let me know and I'll submit it to Rik for consideration.
> >
> > (for loop troubles, you should try Jens' latest loop patch located in
> > your favorite kernel mirror under pub/linux/kernel/people/axboe)
> >
> >         -Mike
> >
> > (patch was done against 2.4.1-ac20, but should go in ok)
> > --- mm/page_alloc.c.org Fri Feb 23 13:21:54 2001
> > +++ mm/page_alloc.c     Fri Feb 23 13:28:33 2001
> > @@ -274,7 +274,7 @@
> >  struct page * __alloc_pages(zonelist_t *zonelist, unsigned long order)
> >  {
> >         zone_t **zone;
> > -       int direct_reclaim = 0;
> > +       int direct_reclaim = 0, loop = 0;
> >         unsigned int gfp_mask = zonelist->gfp_mask;
> >         struct page * page;
> >
> > @@ -366,7 +366,7 @@
> >          *   able to free some memory we can't free ourselves
> >          */
> >         wakeup_kswapd();
> > -       if (gfp_mask & __GFP_WAIT) {
> > +       if (gfp_mask & __GFP_WAIT && loop) {
> >                 __set_current_state(TASK_RUNNING);
> >                 current->policy |= SCHED_YIELD;
> >                 schedule();
> > @@ -393,6 +393,7 @@
> >          *      --> try to free pages ourselves with page_launder
> >          */
> >         if (!(current->flags & PF_MEMALLOC)) {
> > +               loop++;
> >                 /*
> >                  * Are we dealing with a higher order allocation?
> >                  *
> > @@ -440,7 +441,7 @@
> >                         memory_pressure++;
> >                         try_to_free_pages(gfp_mask);
> >                         wakeup_bdflush(0);
> > -                       if (!order)
> > +                       if (!order || loop < (1 << order))
> >                                 goto try_again;
> >                 }
> >         }
>
> -
> 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/


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ANOMALIES]: 2.4.2 - __alloc_pages: failed & mount hanging withloop  device issues
  2001-02-23 21:11 ` [ANOMALIES]: 2.4.2 - __alloc_pages: failed & mount hanging withloop device issues Shawn Starr
  2001-02-24  2:18   ` [ANOMALIES]: 2.4.2 - __alloc_pages: failed - Patch failed Shawn Starr
@ 2001-02-24  2:25   ` Rik van Riel
  1 sibling, 0 replies; 8+ messages in thread
From: Rik van Riel @ 2001-02-24  2:25 UTC (permalink / raw)
  To: Shawn Starr; +Cc: Mike Galbraith, lkm

On Fri, 23 Feb 2001, Shawn Starr wrote:
> Mike Galbraith wrote:
> >  [patch]

Mike, this patch looks like a really good idea.

regards,

Rik
--
Virtual memory is like a game you can't win;
However, without VM there's truly nothing to lose...

		http://www.surriel.com/
http://www.conectiva.com/	http://distro.conectiva.com.br/



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ANOMALIES]: 2.4.2 - __alloc_pages: failed - Patch failed
  2001-02-24  2:18   ` [ANOMALIES]: 2.4.2 - __alloc_pages: failed - Patch failed Shawn Starr
@ 2001-02-24 16:01     ` Marcelo Tosatti
  2001-02-24 22:31       ` Shawn Starr
  2001-02-25  5:36     ` [ANOMALIES]: 2.4.2 - __alloc_pages: failed - Patch failed Mike Galbraith
  1 sibling, 1 reply; 8+ messages in thread
From: Marcelo Tosatti @ 2001-02-24 16:01 UTC (permalink / raw)
  To: Shawn Starr; +Cc: Mike Galbraith, lkm


On Fri, 23 Feb 2001, Shawn Starr wrote:

> Feb 23 21:17:47 coredump kernel: __alloc_pages: 3-order allocation failed.
> Feb 23 21:17:47 coredump kernel: __alloc_pages: 2-order allocation failed.
> Feb 23 21:17:47 coredump kernel: __alloc_pages: 1-order allocation failed.
> Feb 23 21:17:47 coredump kernel: __alloc_pages: 3-order allocation failed.
> Feb 23 21:17:47 coredump kernel: __alloc_pages: 3-order allocation failed.
> Feb 23 21:17:47 coredump kernel: __alloc_pages: 2-order allocation failed.
> Feb 23 21:17:47 coredump kernel: __alloc_pages: 1-order allocation failed.
> 
> didnt, work, still causing this..

Ok, could you please add a line with "BUG();" after the
printk("__alloc_pages: %d-order allocation failed", ..) in mm/page_alloc.c
function __alloc_pages() ?

This will make you get an oops when an allocation fails and if you decode
it (with ksymoops) we can have a pretty useful backtrace to have more clue
of what's failing.

TIA



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ANOMALIES]: 2.4.2 - __alloc_pages: failed - Patch failed
  2001-02-24 22:31       ` Shawn Starr
@ 2001-02-24 21:43         ` Arnaldo Carvalho de Melo
  2001-02-25  1:03         ` [ANOMALIES]: 2.4.2 - __alloc_pages: ksysoops debug info Shawn Starr
  1 sibling, 0 replies; 8+ messages in thread
From: Arnaldo Carvalho de Melo @ 2001-02-24 21:43 UTC (permalink / raw)
  To: Shawn Starr; +Cc: Marcelo Tosatti, Mike Galbraith, lkm

Em Sat, Feb 24, 2001 at 05:31:55PM -0500, Shawn Starr escreveu:
> Doing so..., Im not sure hot to use ksymoops or where to get that program.
> I just usually use the sysq and dump but its ugly ;-)

http://www.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/ksymoops-2.4.0.tar.bz2

- Arnaldo

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ANOMALIES]: 2.4.2 - __alloc_pages: failed - Patch failed
  2001-02-24 16:01     ` Marcelo Tosatti
@ 2001-02-24 22:31       ` Shawn Starr
  2001-02-24 21:43         ` Arnaldo Carvalho de Melo
  2001-02-25  1:03         ` [ANOMALIES]: 2.4.2 - __alloc_pages: ksysoops debug info Shawn Starr
  0 siblings, 2 replies; 8+ messages in thread
From: Shawn Starr @ 2001-02-24 22:31 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: Mike Galbraith, lkm

Doing so..., Im not sure hot to use ksymoops or where to get that program.
I just usually use the sysq and dump but its ugly ;-)

Shawn.

Marcelo Tosatti wrote:

> On Fri, 23 Feb 2001, Shawn Starr wrote:
>
> > Feb 23 21:17:47 coredump kernel: __alloc_pages: 3-order allocation failed.
> > Feb 23 21:17:47 coredump kernel: __alloc_pages: 2-order allocation failed.
> > Feb 23 21:17:47 coredump kernel: __alloc_pages: 1-order allocation failed.
> > Feb 23 21:17:47 coredump kernel: __alloc_pages: 3-order allocation failed.
> > Feb 23 21:17:47 coredump kernel: __alloc_pages: 3-order allocation failed.
> > Feb 23 21:17:47 coredump kernel: __alloc_pages: 2-order allocation failed.
> > Feb 23 21:17:47 coredump kernel: __alloc_pages: 1-order allocation failed.
> >
> > didnt, work, still causing this..
>
> Ok, could you please add a line with "BUG();" after the
> printk("__alloc_pages: %d-order allocation failed", ..) in mm/page_alloc.c
> function __alloc_pages() ?
>
> This will make you get an oops when an allocation fails and if you decode
> it (with ksymoops) we can have a pretty useful backtrace to have more clue
> of what's failing.
>
> TIA


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ANOMALIES]: 2.4.2 - __alloc_pages: ksysoops debug info
  2001-02-24 22:31       ` Shawn Starr
  2001-02-24 21:43         ` Arnaldo Carvalho de Melo
@ 2001-02-25  1:03         ` Shawn Starr
  1 sibling, 0 replies; 8+ messages in thread
From: Shawn Starr @ 2001-02-25  1:03 UTC (permalink / raw)
  To: Marcelo Tosatti, Mike Galbraith, lkm

[-- Attachment #1: Type: text/plain, Size: 1635 bytes --]

Ok, I copied the part from kern.log and pasted it into a separate file then ran
ksysoops and it appeared to have worked.

Any more info you need?

Shawn.

Shawn Starr wrote:

> Doing so..., Im not sure hot to use ksymoops or where to get that program.
> I just usually use the sysq and dump but its ugly ;-)
>
> Shawn.
>
> Marcelo Tosatti wrote:
>
> > On Fri, 23 Feb 2001, Shawn Starr wrote:
> >
> > > Feb 23 21:17:47 coredump kernel: __alloc_pages: 3-order allocation failed.
> > > Feb 23 21:17:47 coredump kernel: __alloc_pages: 2-order allocation failed.
> > > Feb 23 21:17:47 coredump kernel: __alloc_pages: 1-order allocation failed.
> > > Feb 23 21:17:47 coredump kernel: __alloc_pages: 3-order allocation failed.
> > > Feb 23 21:17:47 coredump kernel: __alloc_pages: 3-order allocation failed.
> > > Feb 23 21:17:47 coredump kernel: __alloc_pages: 2-order allocation failed.
> > > Feb 23 21:17:47 coredump kernel: __alloc_pages: 1-order allocation failed.
> > >
> > > didnt, work, still causing this..
> >
> > Ok, could you please add a line with "BUG();" after the
> > printk("__alloc_pages: %d-order allocation failed", ..) in mm/page_alloc.c
> > function __alloc_pages() ?
> >
> > This will make you get an oops when an allocation fails and if you decode
> > it (with ksymoops) we can have a pretty useful backtrace to have more clue
> > of what's failing.
> >
> > TIA
>
> -
> 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/

[-- Attachment #2: oops --]
[-- Type: text/plain, Size: 2521 bytes --]

ksymoops 2.3.7 on i586 2.4.2.  Options used
     -V (default)
     -k /proc/ksyms (default)
     -l /proc/modules (default)
     -o /lib/modules/2.4.2/ (default)
     -m /boot/System.map (specified)

Feb 24 19:57:32 coredump kernel: kernel BUG at page_alloc.c:507!
Feb 24 19:57:32 coredump kernel: invalid operand: 0000
Feb 24 19:57:32 coredump kernel: CPU:    0
Feb 24 19:57:32 coredump kernel: EIP:    0010:[__alloc_pages+761/776]
Feb 24 19:57:32 coredump kernel: EFLAGS: 00013282
Feb 24 19:57:32 coredump kernel: eax: 00000020   ebx: 00000000   ecx: c1ba8000   edx: c025abe8
Feb 24 19:57:32 coredump kernel: esi: c025c000   edi: 00000003   ebp: c1d06000   esp: c1d07d38
Feb 24 19:57:32 coredump kernel: ds: 0018   es: 0018   ss: 0018
Feb 24 19:57:32 coredump kernel: Process cdda2wav (pid: 386, stackpage=c1d07000)
Feb 24 19:57:32 coredump kernel: Stack: c0219a05 c0219b93 000001fb 00000003 00008000 00008000 00000000 00000007
Feb 24 19:57:32 coredump kernel:        00000008 00000000 c025bff4 c0127fe4 c01b5079 c1d07de4 00000000 00000001
Feb 24 19:57:32 coredump kernel:        c1d07de0 00008000 00000007 c01b5142 00008000 00000000 00000001 00000000
Feb 24 19:57:32 coredump kernel: Call Trace: [__get_free_pages+20/36] [sg_low_malloc+305/408] [sg_malloc+98/280] [sg_build_indi+385/440] [sg_build_reserve+37/68] [sg_ioctl+1582/2588] [__get_free_pages+20/36]
Feb 24 19:57:32 coredump kernel: Code: 0f 0b 83 c4 0c 31 c0 5b 5e 5f 5d 83 c4 10 c3 83 fa 09 77 13
Using defaults from ksymoops -t elf32-i386 -a i386

Code;  00000000 Before first symbol
00000000 <_EIP>:
Code;  00000000 Before first symbol
   0:   0f 0b                     ud2a   
Code;  00000002 Before first symbol
   2:   83 c4 0c                  add    $0xc,%esp
Code;  00000005 Before first symbol
   5:   31 c0                     xor    %eax,%eax
Code;  00000007 Before first symbol
   7:   5b                        pop    %ebx
Code;  00000008 Before first symbol
   8:   5e                        pop    %esi
Code;  00000009 Before first symbol
   9:   5f                        pop    %edi
Code;  0000000a Before first symbol
   a:   5d                        pop    %ebp
Code;  0000000b Before first symbol
   b:   83 c4 10                  add    $0x10,%esp
Code;  0000000e Before first symbol
   e:   c3                        ret    
Code;  0000000f Before first symbol
   f:   83 fa 09                  cmp    $0x9,%edx
Code;  00000012 Before first symbol
  12:   77 13                     ja     27 <_EIP+0x27> 00000027 Before first symbol


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ANOMALIES]: 2.4.2 - __alloc_pages: failed - Patch failed
  2001-02-24  2:18   ` [ANOMALIES]: 2.4.2 - __alloc_pages: failed - Patch failed Shawn Starr
  2001-02-24 16:01     ` Marcelo Tosatti
@ 2001-02-25  5:36     ` Mike Galbraith
  1 sibling, 0 replies; 8+ messages in thread
From: Mike Galbraith @ 2001-02-25  5:36 UTC (permalink / raw)
  To: Shawn Starr; +Cc: lkm

On Fri, 23 Feb 2001, Shawn Starr wrote:

> Feb 23 21:17:47 coredump kernel: __alloc_pages: 3-order allocation failed.
> Feb 23 21:17:47 coredump kernel: __alloc_pages: 2-order allocation failed.
> Feb 23 21:17:47 coredump kernel: __alloc_pages: 1-order allocation failed.
> Feb 23 21:17:47 coredump kernel: __alloc_pages: 3-order allocation failed.
> Feb 23 21:17:47 coredump kernel: __alloc_pages: 3-order allocation failed.
> Feb 23 21:17:47 coredump kernel: __alloc_pages: 2-order allocation failed.
> Feb 23 21:17:47 coredump kernel: __alloc_pages: 1-order allocation failed.
>
> didnt, work, still causing this..

What does free output look like after abort?  (is someone leaking or
is all memory just temporarily tied up?)

	-Mike


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2001-02-25  5:37 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <Pine.LNX.4.33.0102231409010.496-100000@mikeg.weiden.de>
2001-02-23 21:11 ` [ANOMALIES]: 2.4.2 - __alloc_pages: failed & mount hanging withloop device issues Shawn Starr
2001-02-24  2:18   ` [ANOMALIES]: 2.4.2 - __alloc_pages: failed - Patch failed Shawn Starr
2001-02-24 16:01     ` Marcelo Tosatti
2001-02-24 22:31       ` Shawn Starr
2001-02-24 21:43         ` Arnaldo Carvalho de Melo
2001-02-25  1:03         ` [ANOMALIES]: 2.4.2 - __alloc_pages: ksysoops debug info Shawn Starr
2001-02-25  5:36     ` [ANOMALIES]: 2.4.2 - __alloc_pages: failed - Patch failed Mike Galbraith
2001-02-24  2:25   ` [ANOMALIES]: 2.4.2 - __alloc_pages: failed & mount hanging withloop device issues Rik van Riel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox