Re: Memory allocation of 132 KB

Rogier Wolff (R.E.Wolff@BitWizard.nl)
Fri, 2 Oct 1998 10:05:18 +0200 (MEST)


Jeanette Pauline Middelink wrote:
> On Tue, Sep 29, 1998 at 12:32:15PM +0200, Andrea Arcangeli wrote:
> > On Tue, 29 Sep 1998 sroy@wipinfo.soft.net wrote:
> >
> > >Hi,
> > >
> > >In a network driver, I tried to allocate memory for DMA buffer of length
> > >132 KB and the call (kmalloc()) failed. Hacking through kmalloc.c, I found
> > >that it does not allow allocating memory more than (128K - 24) bytes, if the
> > >page size is 4KB.
> > >
> > >Me questions are -
> > >
> > >1. Why is that limitation ?
> > >2. Is there any way to allocate 132 KB memory (physically contiguous) ?
> >
> > Use __get_free_pages() by hand specifying the order or mm you need. order
> > 0 -> 1 page, order 2 -> 2page, order 3 -> 4 page etc..etc..
^1 ^2

Besides that, the max is 128k. There is a patch by me on linux-patches
that allows you to allocate larger amounts. The memory has to be set
aside at boot time though.

Roger.

-- 
| Most people would die sooner than think....  |    R.E.Wolff@BitWizard.nl 
| in fact, most do.  -- Bertrand Russsell      |     phone: +31-15-2137555 
We write Linux device drivers for any device you may have! fax: ..-2138217

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/