linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* __alloc_pages 4 order allocation failed
@ 2001-07-10 22:01 Ho Chak Hung
  0 siblings, 0 replies; 5+ messages in thread
From: Ho Chak Hung @ 2001-07-10 22:01 UTC (permalink / raw)
  To: linux-kernel

Hi,

When I run a module, sometimes it gives such an error __alloc_pages 4 order allocation failed.
However, there is only 0 order page allocation function call within the whole module.
Does anyone know where does the 4 order allocation failure comes from?
Thanks

Steven
__________________________________________________________________
Get your own FREE, personal Netscape Webmail account today at http://webmail.netscape.com/

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

* Re: __alloc_pages 4 order allocation failed
  2001-07-12  7:32     ` Steffen Persvold
@ 2001-07-12 11:19       ` Mike Galbraith
  0 siblings, 0 replies; 5+ messages in thread
From: Mike Galbraith @ 2001-07-12 11:19 UTC (permalink / raw)
  To: Steffen Persvold; +Cc: Ho Chak Hung, linux-kernel

On Thu, 12 Jul 2001, Steffen Persvold wrote:

> Mike Galbraith wrote:
> >
> > On Wed, 11 Jul 2001, Ho Chak Hung wrote:
> >
> > > Hi,
> > > but there isn't any call in the module to allocate 4 order pages. There are only calls to allocate 0 order pages. alloc_pages(GFP_KERNEL, 0)is the only call to allocate page in the whole module.
> >
> > Then it's not your module :)
> >
> > Some driver may be asking for order 4, but settling for less when
> > that fails.
> >
> Why did this get worse on the 2.4 kernel ?. On 2.2 I always seemed to get my high order
> allocations  and GFP_ATOMIC seldom failed when there was available memory.

If 2.2 manages to service high order allocations better than 2.4, I'd
say it must be due to dumb luck more than anything else.  If you keep
most of your ram allocated (both 2.2 and 2.4 do), and don't do active
defragmentation (neither does), it's a roll of the dice whether you
have a contiguous chunk of ram to dole out or not.

wrt GFP_ATOMIC failing when memory is available, that doesn't happen
unless they are high order allocations.  If you mean caches when you
say 'available', cache pages are not necessarily reclaimable at all,
much less instantly as would be required to service atomic allocations.

	-Mike


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

* Re: __alloc_pages 4 order allocation failed
  2001-07-11 17:31   ` Mike Galbraith
@ 2001-07-12  7:32     ` Steffen Persvold
  2001-07-12 11:19       ` Mike Galbraith
  0 siblings, 1 reply; 5+ messages in thread
From: Steffen Persvold @ 2001-07-12  7:32 UTC (permalink / raw)
  To: Mike Galbraith; +Cc: Ho Chak Hung, linux-kernel

Mike Galbraith wrote:
> 
> On Wed, 11 Jul 2001, Ho Chak Hung wrote:
> 
> > Hi,
> > but there isn't any call in the module to allocate 4 order pages. There are only calls to allocate 0 order pages. alloc_pages(GFP_KERNEL, 0)is the only call to allocate page in the whole module.
> 
> Then it's not your module :)
> 
> Some driver may be asking for order 4, but settling for less when
> that fails.
> 
Why did this get worse on the 2.4 kernel ?. On 2.2 I always seemed to get my high order
allocations  and GFP_ATOMIC seldom failed when there was available memory.

Regards,
-- 
  Steffen Persvold               Systems Engineer
  Email : mailto:sp@scali.no     Scali AS (http://www.scali.com)
  Tlf   : (+47) 22 62 89 50      Olaf Helsets vei 6
  Fax   : (+47) 22 62 89 51      N-0621 Oslo, Norway

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

* Re: __alloc_pages 4 order allocation failed
  2001-07-11 17:19 ` Ho Chak Hung
@ 2001-07-11 17:31   ` Mike Galbraith
  2001-07-12  7:32     ` Steffen Persvold
  0 siblings, 1 reply; 5+ messages in thread
From: Mike Galbraith @ 2001-07-11 17:31 UTC (permalink / raw)
  To: Ho Chak Hung; +Cc: linux-kernel

On Wed, 11 Jul 2001, Ho Chak Hung wrote:

> Hi,
> but there isn't any call in the module to allocate 4 order pages. There are only calls to allocate 0 order pages. alloc_pages(GFP_KERNEL, 0)is the only call to allocate page in the whole module.

Then it's not your module :)

Some driver may be asking for order 4, but settling for less when
that fails.

	-Mike


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

* Re: __alloc_pages 4 order allocation failed
       [not found] <Pine.LNX.4.33.0107110720200.709-100000@mikeg.weiden.de>
@ 2001-07-11 17:19 ` Ho Chak Hung
  2001-07-11 17:31   ` Mike Galbraith
  0 siblings, 1 reply; 5+ messages in thread
From: Ho Chak Hung @ 2001-07-11 17:19 UTC (permalink / raw)
  To: mikeg; +Cc: linux-kernel

Hi,
but there isn't any call in the module to allocate 4 order pages. There are only calls to allocate 0 order pages. alloc_pages(GFP_KERNEL, 0)is the only call to allocate page in the whole module.

Mike Galbraith <mikeg@wen-online.de> wrote:
>
> On Tue, 10 Jul 2001, Ho Chak Hung wrote:
> 
> > Hi,
> >
> > When I run a module, sometimes it gives such an error __alloc_pages 4 order allocation failed.
> > However, there is only 0 order page allocation function call within the whole module.
> > Does anyone know where does the 4 order allocation failure comes from?
> > Thanks
> 
> Memory fragmentation.  It is never safe to assume that high order
> allocations will succeed.
> 
>     -Mike
> 
> 
__________________________________________________________________
Get your own FREE, personal Netscape Webmail account today at http://webmail.netscape.com/

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

end of thread, other threads:[~2001-07-12 11:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-10 22:01 __alloc_pages 4 order allocation failed Ho Chak Hung
     [not found] <Pine.LNX.4.33.0107110720200.709-100000@mikeg.weiden.de>
2001-07-11 17:19 ` Ho Chak Hung
2001-07-11 17:31   ` Mike Galbraith
2001-07-12  7:32     ` Steffen Persvold
2001-07-12 11:19       ` Mike Galbraith

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).