tun: Only wake up writers
authorHerbert Xu <herbert@gondor.apana.org.au>
Thu, 4 Jun 2009 04:45:55 +0000 (21:45 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 4 Jun 2009 04:45:55 +0000 (21:45 -0700)
commitc722c625dbe2758d53365c0ed7d401b0e286f2cf
tree4b73bc0edf80e3b5652c35512fbdb19f472b557a
parenta8c617eae4dc2ea9f3d64472233f2d3dc3c9993c
tun: Only wake up writers

When I added socket accounting to tun I inadvertently introduced
spurious wake-up events that kills qemu performance.  The problem
occurs when qemu polls on the tun fd for read, and then transmits
packets.  For each packet transmitted, we will wake up qemu even
if it only cares about read events.

Now this affects all sockets, but it is only a new problem for
tun.  So this patch tries to fix it for tun first and we can then
look at the problem in general.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tun.c