On Tue, Jul 28, 2009 at 7:06 AM, Vipul Jain<[email protected]> wrote:
> Hi Deepak,
>
>    I am newbie too but to my understanding kernel memory is divided into
> following memory zones:
>    DMA_ZONE
>    NORMAL_ZONE
>    HIGHMEM_ZONE
>
>    and depending on arch of the machine these memory zone range gets
> defined. e.g. for x86 its 16MB
>    (24bit ISA address space) and on other platforms say ARM both DMA and
> NORMAL can be same. hence
>    kernel assigns its addressable address from 0 to 2^32 address into these
> different memory zones and
>    provides helper functions to request memory from these regions.
>
>    I am not sure if these ZONES can be changed as per requirement say making
> x86 DMA zone more than
>    16 MB. May be linux gurus on this alias could put more light on this.
>
> Regards,
> Vipul.
>
>
>
> On Mon, Jul 27, 2009 at 6:21 AM, Deepak Vishwakarma
> <[email protected]> wrote:
>>
>> Hi guyz,
>>
>> Need your favour!
>>
>> How is DMA memory is allocated in kernel space? And how can it be
>> increased?
If your requirement is less than 128k, you can use kmalloc with
GFP_DMA. Otherwise use, get_free_pages() and
directly you can use these pages for DMA. You can allocate max 4M using this.

>>
>> Regards,
>> Deepak
>
>

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [email protected]
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to