Re: Request for comments on dejittering app

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2007-08-10 at 17:39 +0200, John Sigler wrote:

> 
> As far as I understand, each packet received will generate one IRQ

This depends on the driver implementation.  If it uses the optional NAPI
interface the first interrupt received will simply schedule a netif
related thread to poll the device, disable future rx-interrupts for that
NIC, and return.

The packet scheduler thread will then poll your device according to its
configured policy with a specific "budget" of packets.  The device can
netif_rx as many packets from the device in that one invocation until
one of two criteria is met: The budget is exhausted, or the rx-ring is
exhausted.

If the rx-ring is exhausted, rx-interrupts are re-enabled and the return
code tells the netif_rx scheduler to deschedule this device.  If the
budget is exhausted before the ring, the return code indicates that we
still have work to do and interrupts remain off.  The scheduler will
re-poll your device at some point in the future.

There are other nitty gritty details here, but long story short you
generally will not have a 1:1 of interrupts to rx-packets on a busy
link.  This is important from both a latency and DOS perspective because
interrupt storms are mitigated.  So if your driver supports NAPI, I
suggest you use it.  If it doesn't, it might be worth changing it.

I know you had other aspects to your system, but this may help in at
least one dimension.
-Greg



-
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux