From: Evgeniy Polyakov <[EMAIL PROTECTED]>
Date: Fri, 29 Jul 2005 20:55:06 +0400

> Unmapping is repeatedly being done in this driver - update_address() and
> tlb_flush() does the thing.
> Current code does skb freeing when it's slot needs to be used for the
> next skb.
> So this numbers already include mapping/unmapping.

BTW, this reminds me now that if we put this kind of change in
we should work to resolve the issues that prevent packet
mmap() from working properly on virtual cache architectures.

In fact, I am to understand that currently only x86 even
tries to use packet mmap in the existing userland implementaitons.
I could be wrong, as I haven't looked at the pcap library stuff
in a long time.

If there is cache coloring conflict, kernel stores to physical
locations may not show up in userspace correct, thus D-cache
flushing or proper coloring of userland addresses is necessary.
The latter is cheaper due to lack of D-cache flushing, obviously.

Another thing missing are proper memory barriers, and some portable
way for a packet_mmap userland code to know what barriers to use
in order to synchronize with kernel updates to the packet mmap
ring buffer area.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to