On Sun, 31 Jul 2005, Gilboa Davara wrote:

> On Sun, 2005-07-31 at 17:35 +0300, Gilad Ben-Yossef wrote:
> > >
> > > Interesting... that might work.
> > > Let me first point out that once the cells/frames have been processed, I
> > > don't care much for timing. (Which bodes well on your solution).
> > > However, I'm ****very**** tight on CPU and memory bandwidth. (Even a
> > > dual Opteron machine with two memory banks tends to suffocate at a
> > > certain point.)
> > > No matter what I do I just can't afford to add memcpy's to my system.

did you measure this, or are you guessing?

> > Understandable attitude, but it may be wrong. Take a look at this paper
> > from last year OLS for example:
> >
> > http://www.linuxsymposium.org/proceedings/reprints/Reprint-Ronciak-OLS2004.pdf
> >
> > These guys from Intel thought having a zero copy receive path for
> > network packets where the card will DMA stright into the user space
> > program buffer will be a big win due to saving a memcpy.
> > They implemented and tested. Results? perfomace was *worse* from losing
> > the extra copy, not better. It turned out the extra copy actually
> > pre-loaded the cache and gained more then it costs.
>
> *Very* interesting reading. Nice catch indeed.
> Never the less I wonder if cache soiling wouldn't be a problem under
> extra (or extreme) loads.

you're learning the wrong lesson from this. it's not about "how to make
networking code faster". it's about "intuition sometimes leads us the
wrong way".

now, get your hands off your mail reader, and spend a few days on doing
actual measurements and tests. either you'll find that you're right, and
you'll have valid info for "she who must be obeyed" in order to justify
what you're doing, or you'll find that your intuition has betrayed you,
and you can actually have the performance you wanted without doing extra
twists.

and gilad was right - when you measure performance, you should check the
worst-case scenario (that is, you lost contact with the 3rd-party thingy
and then regained it, and you now need to save new data directly to disk
at the same time as passing old data from disk to the 3rd party).

-- 
guy

"For world domination - press 1,
 or dial 0, and please hold, for the creator." -- nob o. dy

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to