zero_copy in RTEMS

朱旭峰 fall4ufeng at gmail.com
Mon Dec 22 09:59:52 UTC 2008


Thanks for your reply, both.
        I looked for some information about zerco copy from the internet,
and it said that the zero copy is trying to avoid the data copy between the
kernel space and the user space, but the memmory space is flat in RTEMS,
that is to say there is no difference between kernel space and user space.So
I wonder is that possible to realize zero copy in a network interface card
driver, and if there is, how to realize it ,is there some source code which
I can look up into?I didn't find Coldfire FEC and the EMAC you amentioned in
the RTEMS source code.
        Thanks again.

2008/12/22 Chris Johns <chrisj at rtems.org>

> Gene Smith wrote:
> > ??? wrote, On 12/19/2008 07:14 AM:
> >> Hi all:
> >>        Does anyone know how to implement zero copy in RTEMS ?
> >>        Thanks in advance.
> >
> > I assume you are referring to the tcp/ip stack? I think some DMA
> > controllers can put their inputs and accept outputs directly from BSD
> > mbufs (like EMAC on ppc405gpr controller).
>
> Same with the Coldfire FEC.
>
> > But I am not sure how many
> > other places (or even if) the packets are memcpy'd in the stack.
>
> Only when placing the data into your buffer when receiving or taking it out
> to
> send. The mbufs are part of the implementation and not part of the socket
> API
> so a copy is needed at that interface.
>
> Regards
> Chris
>
>
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.com
> http://rtems.rtems.org/mailman/listinfo/rtems-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20081222/75959082/attachment-0001.html>


More information about the users mailing list