[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20080729131023.GA26846@2ka.mipt.ru>
Date: Tue, 29 Jul 2008 17:10:23 +0400
From: Evgeniy Polyakov <johnpol@....mipt.ru>
To: cpusoft <cpusoft@...il.com>
Cc: netdev@...r.kernel.org
Subject: Re: where change events in epoll_wait(), and who notify an epoll event?
Hi.
On Tue, Jul 29, 2008 at 08:38:28PM +0800, cpusoft (cpusoft@...il.com) wrote:
> thanks alot. however, i still wonder who call the driever's
> wake_up(&private_wait_queue_head)?
Driver itself. For example from interrupt. In network it is softirq
context via netif_receive_skb(), which in turn will call network
protocol receiving function (for example ip_rcv), which in turn will
call transport layer function (like udp_rcv), which will locate a
socket, queue skb there and call sk->sk_data_ready() callback, which is
a wake_up(&private_wait_queue_head) for the sockets.
--
Evgeniy Polyakov
--
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