From patchwork Wed Jun 3 03:33:03 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Herbert Xu X-Patchwork-Id: 28029 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@bilbo.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from ozlabs.org (ozlabs.org [203.10.76.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "mx.ozlabs.org", Issuer "CA Cert Signing Authority" (verified OK)) by bilbo.ozlabs.org (Postfix) with ESMTPS id 87BC6B6F44 for ; Wed, 3 Jun 2009 13:33:37 +1000 (EST) Received: by ozlabs.org (Postfix) id 76255DDDF4; Wed, 3 Jun 2009 13:33:37 +1000 (EST) Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id 06164DDDA0 for ; Wed, 3 Jun 2009 13:33:37 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752810AbZFCDdG (ORCPT ); Tue, 2 Jun 2009 23:33:06 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752583AbZFCDdF (ORCPT ); Tue, 2 Jun 2009 23:33:05 -0400 Received: from rhun.apana.org.au ([64.62.148.172]:33971 "EHLO arnor.apana.org.au" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751985AbZFCDdE (ORCPT ); Tue, 2 Jun 2009 23:33:04 -0400 Received: from gondolin.me.apana.org.au ([192.168.0.6]) by arnor.apana.org.au with esmtp (Exim 4.63 #1 (Debian)) id 1MBhDt-0003UL-3s; Wed, 03 Jun 2009 13:33:05 +1000 Received: from herbert by gondolin.me.apana.org.au with local (Exim 4.69) (envelope-from ) id 1MBhDr-00023c-VA; Wed, 03 Jun 2009 13:33:03 +1000 Date: Wed, 3 Jun 2009 13:33:03 +1000 From: Herbert Xu To: "David S. Miller" , netdev@vger.kernel.org Subject: tun: Only wake up writers Message-ID: <20090603033303.GA7889@gondor.apana.org.au> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Hi: tun: Only wake up writers Recently net/core/sock.c was updated so that when we free an skb that has been transmitted we only wake up writers instead of waking up both readers and writers. This patch does the same thing for tun as this code is identical to that in net/core/sock.c Signed-off-by: Herbert Xu Thanks, diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 735bf41..7ca43b8 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -841,7 +841,9 @@ static void tun_sock_write_space(struct sock *sk) return; if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) - wake_up_interruptible_sync(sk->sk_sleep); + wake_up_interruptible_sync_poll(sk->sk_sleep, + POLLOUT | POLLWRNORM | + POLLWRBAND); if (!test_and_clear_bit(SOCK_ASYNC_NOSPACE, &sk->sk_socket->flags)) return;