Thread View: be.comp.programming
2 messages
2 total messages
Started by Loes Jansen
Tue, 25 Jul 2006 16:40
kmalloc
Author: Loes Jansen
Date: Tue, 25 Jul 2006 16:40
Date: Tue, 25 Jul 2006 16:40
16 lines
1483 bytes
1483 bytes
Hallo, Ik heb hier verschillende drivers die kmalloc oproepen en ik zou graag weten wat er gebeurt als de volgende flags worden mee gegeven: 1. kmalloc(size, SLAB_KERNEL) 2. kmalloc(size, GFP_KERNEL) Is er een groot verschil tussen deze twee? En wat als er er niets wordt mee gegeven: 3. kmalloc(size, 0) -- groeten, Loes
Re: kmalloc
Author: Philip Paeps
Date: Tue, 25 Jul 2006 17:02
Date: Tue, 25 Jul 2006 17:02
39 lines
2300 bytes
2300 bytes
Loes Jansen <loes.jansen@student.kuleuven.be> wrote:
> Ik heb hier verschillende drivers die kmalloc oproepen en ik zou graag weten
> wat er gebeurt als de volgende flags worden mee gegeven:
>
> 1. kmalloc(size, SLAB_KERNEL)
Deze is hetzelfde als GFP_KERNEL maar gebruikt de slab allocator in plaats van
de normale allocator en zou dus enkel mogen gebruikt worden als je memory
pools aanmaakt (hoewel het eigenlijk niets uitmaakt omdat de slab allocator
intern toch gewoon GFP gebruikt).
> 2. kmalloc(size, GFP_KERNEL)
Dit is de meest gebruikelijke manier van werken. De kernel alloceert memory
door __get_free_pages() te doen "in naam van" het proces dat in de kernel
terechtgekomen is.
> Is er een groot verschil tussen deze twee?
Nee. Kijk even in <linux/slab.h> ;-)
> En wat als er er niets wordt mee gegeven:
>
> 3. kmalloc(size, 0)
Dan zondig je tegen de "No Magic Numbers" regel. Als je 0 wil, gebruik de
constante die 0 betekent. Je zult wel in de headers moeten graven om dat uit
te zoeken. Veel eenvoudiger om even na te denken over wat voor policy je
nodig hebt en die expliciet te gebruiken. :-)
- Philip
--
Philip Paeps Please don't email any replies
philip@paeps.cx I follow the newsgroup.
hundred-and-one symptoms of being an internet addict:
38. You wake up at 3 a.m. to go to the bathroom and stop and check your e-mail
on the way back to bed.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads