zero_copy in RTEMS

Lu Chih Wen rudolph at
Wed Feb 10 08:39:32 UTC 2010

Hello all


I have an idea about the implementation of zero-copy on RTEMS's TCP/IP

The major concept about zero-copy is decrease the copy time of mbuf->m_data
to application's buffer,

So I try to allocate mbuf chain in application and swap the appended cluster
buffer between protocol

and application in socket layer. I have implemented in my test platform and
got a lot of increase of performance/

Was anyone did this before? I hope someone can point out more detail that I
should aware of .


RX sequence!

MAC HW fill driver's allocated mbuf->m_data(Cluster buffer ) -> TCP/IP ->
swap cluster buffer in socket layer --> return to Application.

TX sequence!

Application fill the data in mbuf->m_data(Cluster buffer ) -> Swap cluster
buffer in socket layer -> TCP/IP ---> MAC driver.


Yours sincerely



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the users mailing list