[ELDK] Jumbo Frames, sil24 SATA driver, and kswapd0 page allocation failures

Jonathan Haws Jonathan.Haws at sdl.usu.edu
Wed Aug 12 23:02:00 CEST 2009


> > What it seems like to me is that the write() system call is causing the
> driver to allocate some memory to setup the DMA to the disk.  Once that is
> complete, the memory does not seem to get released back to the kernel.
> Things are getting released to an
> 
> 
> This is pure speculation, without any facts to base it on, right?

Yes, you are right.  This is speculation.  I have been searching online for answers for the past three days trying to figure out what could be causing this issue.

Everything seems to point to the fact that when write() is called, memory is allocated from RAM to cache data before it is physically written to disk.  However, it appears (again, I am speculating here - if someone can enlighten me that would be great) that memory is not getting released - simply because when the emac_poll_rx tries to allocate memory for its next skb it fails and for all intents and purposes crashes the kernel.

I am almost certain that the issue is not in my code, but in the kernel somewhere.  But digging through libAta, I do not find anything that would cause this.  It appears that when memory is allocated, it is released as soon at it is finished using it.

Thanks,

Jonathan


More information about the eldk mailing list