[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170105092750.GA25138@stefanha-x1.localdomain>
Date: Thu, 5 Jan 2017 09:27:50 +0000
From: Stefan Hajnoczi <stefanha@...il.com>
To: Jason Wang <jasowang@...hat.com>
Cc: mst@...hat.com, kvm@...r.kernel.org,
virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next V2 3/3] tun: rx batching
On Wed, Jan 04, 2017 at 11:03:32AM +0800, Jason Wang wrote:
> On 2017年01月03日 21:33, Stefan Hajnoczi wrote:
> > On Wed, Dec 28, 2016 at 04:09:31PM +0800, Jason Wang wrote:
> > > +static int tun_rx_batched(struct tun_file *tfile, struct sk_buff *skb,
> > > + int more)
> > > +{
> > > + struct sk_buff_head *queue = &tfile->sk.sk_write_queue;
> > > + struct sk_buff_head process_queue;
> > > + int qlen;
> > > + bool rcv = false;
> > > +
> > > + spin_lock(&queue->lock);
> > Should this be spin_lock_bh()? Below and in tun_get_user() there are
> > explicit local_bh_disable() calls so I guess BHs can interrupt us here
> > and this would deadlock.
>
> sk_write_queue were accessed only in this function which runs under process
> context, so no need for spin_lock_bh() here.
I see, thanks!
Stefan
Download attachment "signature.asc" of type "application/pgp-signature" (456 bytes)
Powered by blists - more mailing lists