Re: vmalloc question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Rohit
Can we give vmalloced buffers to tcp_recvmsg() to get data from the network
stack? Does the tcp_recv routine use this buffer passed to it for DMA?

or

Can we give vmalloced buffers to sock_recvmsg() to get data from the network stack? sock_recvmsg() calls sock->ops->recvmsg()which uses this buffer .... the recvmsg call here is call to tcp_recvmsg() ? Does the tcp_recv routine
use this buffer passed to it for DMA?

This is purely coming from my logic. If you use vmalloc(), then what you get is just virtually contigous memory blocks, not necessarily physically contigous memory block. And AFAIK, DMA doesn't like such thing, unless DMA is capable to do something like scatter gather data transfer or vector based data read (like readv() does).

Also, AFAIK too, vmalloc() is necessary if you need such a large memory block. So, do you really need that big?

regards,

Mulyadi


--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux