[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090323.013749.122944803.davem@davemloft.net>
Date: Mon, 23 Mar 2009 01:37:49 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: dada1@...mosbay.com
Cc: jarkao2@...il.com, vernux@...ibm.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-rt-users@...r.kernel.org
Subject: Re: High contention on the sk_buff_head.lock
From: Eric Dumazet <dada1@...mosbay.com>
Date: Mon, 23 Mar 2009 09:32:39 +0100
> I dont understand, doesnt it defeat the ticket spinlock thing and fairness ?
>
> Thread doing __qdisc_run() already owns the __QDISC_STATE_RUNNING bit.
Right.
Remember, the way this is designed is that if there is a busy
cpu taking packets out of the queue and putting them into the
device then other cpus will simply add to the queue and immediately
return. This effectively keeps the queue running there processing
all the new work that other cpus are adding to the qdisc.
Those other cpus make these decisions by looking at that
__QDISC_STATE_RUNNING bit, which the queue runner grabs before
it does any work.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists