lkml.org 
[lkml]   [2007]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRE: irq load balancing
    Date
    From
    Since most network devices have a single status register for both
    receiver and transmit (and errors and the like), which needs a lock to
    protect access, you will likely end up with serious thrashing of moving
    the lock between cpus.
    > Any ways to measure the trashing of locks?

    Since most network devices have a single status register for both
    receiver and transmit (and errors and the like)
    > These register accesses will be mostly within the irq handler which I
    plan on keeping on the same processor. The network driver is actually
    tg3. Will looks closely into the driver.

    Thx,
    Venkat


    -----Original Message-----
    From: Lennart Sorensen [mailto:lsorense@csclub.uwaterloo.ca]
    Sent: Thursday, September 13, 2007 1:45 PM
    To: Venkat Subbiah
    Cc: Chris Snook; linux-kernel@vger.kernel.org
    Subject: Re: irq load balancing

    On Thu, Sep 13, 2007 at 01:31:39PM -0700, Venkat Subbiah wrote:
    > Doing it in a round-robin fashion will be disastrous for performance.
    > Your cache miss rate will go through the roof and you'll hit the slow
    > paths in the network stack most of the time.
    > > Most of the work in my system is spent in enrypt/decrypting traffic.
    > Right now all this is done in a tasklet within the softirqd and hence
    > all landing up on the same CPU.
    > On the receive side it'a packet handler that handles the traffic. On
    the
    > tx side it's done within the transmit path of the packet. So would
    > re-architecting this to move the rx packet handler to a different
    kernel
    > thread(with smp affinity to one CPU) and tx to a different kernel
    > thread(with SMP affinity to a different CPU) be advisable.
    > What's the impact on cache miss and slowpath/fastpath in network
    stack.

    Since most network devices have a single status register for both
    receiver and transmit (and errors and the like), which needs a lock to
    protect access, you will likely end up with serious thrashing of moving
    the lock between cpus.

    --
    Len Sorensen
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-09-13 23:05    [W:0.039 / U:30.140 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site