simple memory malloc and free in ip_output.c

Mulyadi Santosa mulyadi.santosa at gmail.com
Thu Jan 2 00:12:49 EST 2014


On Fri, Dec 27, 2013 at 10:16 AM, Guibin(Bill) Tian <gbtian at gmail.com> wrote:
> Hi,
> I am doing a very simple operation at the method of ip_queue_xmit in
> ip_output.c.
> The code is very simple.
>
> char *p = kmalloc(48, GFP_KERNEL);
> kfree(p);
>
> This will be called every time this method is called.
>
> But the result is that the whole system is not responsive at all. This is a
> very simple, not sure what I am doing wrong. Can anybody help?

Other than what others have said, IMHO it is better to avoid such
rapid alloc/free, assuming your code fragment is running on every
packet reception/sending.

Instead, I suggest to allocate the memory before the ip_queue_xmit and
use-reuse it inside ip_queue_xmit.




-- 
regards,

Mulyadi Santosa
Freelance Linux trainer and consultant

blog: the-hydra.blogspot.com
training: mulyaditraining.blogspot.com



More information about the Kernelnewbies mailing list