[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120614061809.GA10453@drongo>
Date: Thu, 14 Jun 2012 16:18:10 +1000
From: Paul Mackerras <paulus@...ba.org>
To: David Woodhouse <dwmw2@...radead.org>
Cc: Nathan Williams <nathan@...verse.com.au>,
Karl Hiramoto <karl@...amoto.org>,
"David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
John Crispin <blogic@...nwrt.org>
Subject: Re: PPPoE performance regression
On Wed, Jun 13, 2012 at 02:50:01PM +0100, David Woodhouse wrote:
> On Wed, 2012-06-13 at 10:57 +0100, David Woodhouse wrote:
> > This doesn't look *so* evil... if the basic concept of using
> > skb_orphan() and then setting our own destructor is OK, then I'll work
> > out the rest of the details and do it for l2tp too.
>
> Stupid dwmw2. With patch this time...
> +static void pppoe_skb_destructor(struct sk_buff *skb)
> +{
> + struct sock *sk = skb->sk;
> + struct pppox_sock *po = pppox_sk(sk);
> +
> + atomic_dec(&po->inflight);
> + /* Schedule a call to ppp_output_wakeup(chan), if it was already blocked.
> + Mind for race conditions with another CPU which is in pppoe_xmit()
> + right now. See commit 9d02daf7 in pppoatm. */
> + sock_put(sk);
> +}
Umm, how does ppp_output_wakeup() actually get called?
Paul.
--
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