"Kenneth D. Merry" wrote:
> > Here are the context diff versions of the coelescing patch.
> Ahh, I see.  In short (at least for the ti(4) driver), you're running the
> transmit and receive routines until they run without processing any
> packets.  So you catch any packets that came into the receive rings while
> the transmit routine was running, etc.
> Or rather you're waiting for a lull in packet transmission and reception to
> exit the interrupt handler.
> Does this have any noticeable effect on performance?

I can't discount the LRP effects, as I've said in the past.

But it increases my connections per second to 115%.  When
combined with LRP, which processes all the way up to the
"accept" and socket allocation at interrupt time (I had to
do a nice, sneaky thing to make that work 8-)), I get better
than a 300% improvement (from 7,000 to 23,500 per second).

This all works by removing the NETISR related queue and
dequeue on the way in, and not contending for pool retention.

It also means that I can drop packets I am unable to process
much sooner, rather than later, which virtually increases my
pool size.

I only wish I could take credit for the ideas behind the
implementation.  8-).

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to