linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Davide Libenzi <davidel@xmailserver.org>
To: Jamie Lokier <lk@tantalophile.demon.co.uk>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	<lse-tech@lists.sourceforge.net>
Subject: Re: [PATCH] epoll more scalable than poll
Date: Mon, 28 Oct 2002 21:06:00 -0800 (PST)	[thread overview]
Message-ID: <Pine.LNX.4.44.0210282042170.1002-100000@blue1.dev.mcafeelabs.com> (raw)
In-Reply-To: <20021029015139.GB18727@bjl1.asuk.net>

On Tue, 29 Oct 2002, Jamie Lokier wrote:

> Davide Libenzi wrote:
> Oh I agree this is an acceptable limitation.  Just wondering whether I
> can safely depend on an fd being a socket/pipe being sufficient?
> I.e. does it work on a non-IP socket, a packet socket, an IPX socket
> etc?

Yes, by plugging the sk_wake_async() that is called from std ->data_ready
and ->write_space of generic socket support, all sockets types are
supported. Well, I should say "should" instead of "are" because I never
tested it with sockets different from TCP/IP :)


> It would be good if epoll would at least refuse to register fds that
> it can't handle, returning EINVAL for them.  If it's as simple as
> socket+pipe, that's a trivial test in ep_insert.

This can be certainly implemented if many of you feel that it could be
usefull. The clean way to understand if a file* is of a given type would
be to make the "struct file_operations" of the compatible files ( sockets
and pipes ) to be non-static and to use something like :

if (f->f_op == ...)

to test the target file type. I'm already doing this to verify the epoll
file descriptor coherence.



> I've just read the /dev/epoll patch.  I think it makes sense, in the
> long run, to share infrastructure with that other event notification
> subsystem - sigio.  The two should really be interchangable interfaces
> to the same underlying event notification system - not one interface
> handling some fds and the other handling different fds.

IMHO sys_epoll is going to be a replacement for rt-signals, because it
scales better, it collapses events and does not have the overflowing queue
problem.



> (Ideally, though, with the new waitqueue wakeup callback functions
> that were needed for aio the old fd poll mechanism can be made to
> generate events - which epoll and sigio and aio and poll() could all
> use - full circle back to a beautiful and harmonious unix world once
> more.)

The sys_epoll interface was coded to use the existing infrastructure w/out
adding any legacy code added to suite the implementation. Basically,
besides the few lines added to fs/pipe.c to support pipes ( rt-signal did
not support them ), the hook lays inside sk_wake_async().



- Davide





  reply	other threads:[~2002-10-29  4:50 UTC|newest]

Thread overview: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-28 19:14 [PATCH] epoll more scalable than poll Hanna Linder
2002-10-28 20:10 ` Hanna Linder
2002-10-28 20:56 ` Martin Waitz
2002-10-28 22:02   ` bert hubert
2002-10-28 22:15     ` bert hubert
2002-10-28 22:17   ` Davide Libenzi
2002-10-28 22:08 ` bert hubert
2002-10-28 22:12   ` [Lse-tech] " Shailabh Nagar
2002-10-28 22:37     ` Davide Libenzi
2002-10-28 22:29   ` Davide Libenzi
2002-10-28 22:58     ` and nicer too - " bert hubert
2002-10-28 23:23       ` Davide Libenzi
2002-10-28 23:45       ` John Gardiner Myers
2002-10-29  0:08         ` Davide Libenzi
2002-10-29 12:59           ` Martin Waitz
2002-10-29 15:19             ` bert hubert
2002-10-29 22:54               ` Martin Waitz
2002-10-30  2:24                 ` Davide Libenzi
2002-10-30 19:38                   ` Martin Waitz
2002-10-31  5:04                     ` Davide Libenzi
2002-10-29  0:18         ` bert hubert
2002-10-29  0:32           ` Davide Libenzi
2002-10-29  0:40             ` bert hubert
2002-10-29  0:57               ` Davide Libenzi
2002-10-29  0:53                 ` bert hubert
2002-10-29  1:13                   ` Davide Libenzi
2002-10-29  1:08                     ` [Lse-tech] " Hanna Linder
2002-10-29  1:39                       ` Davide Libenzi
2002-10-29  2:05                   ` Jamie Lokier
2002-10-29  2:44                     ` Davide Libenzi
2002-10-29  4:01                       ` [PATCH] Updated sys_epoll now with man pages Hanna Linder
2002-10-29  5:09                         ` Andrew Morton
2002-10-29  5:28                           ` [Lse-tech] " Randy.Dunlap
2002-10-29  5:47                             ` Davide Libenzi
2002-10-29  5:41                               ` Randy.Dunlap
2002-10-29  6:12                                 ` Davide Libenzi
2002-10-29  6:03                                   ` Randy.Dunlap
2002-10-29  6:23                                     ` Davide Libenzi
2002-10-29 14:59                             ` Paul Larson
2002-10-29  5:31                           ` Davide Libenzi
2002-10-29  7:34                           ` Davide Libenzi
2002-10-29 11:04                           ` bert hubert
2002-10-29 15:30                           ` [Lse-tech] " Shailabh Nagar
2002-10-29 17:45                             ` Davide Libenzi
2002-10-29 19:30                               ` Hanna Linder
2002-10-29 19:49                                 ` Davide Libenzi
2002-10-29 13:09                 ` and nicer too - Re: [PATCH] epoll more scalable than poll bert hubert
2002-10-29 21:25                   ` Davide Libenzi
2002-10-29 21:23                     ` Hanna Linder
2002-10-29 21:41                       ` Davide Libenzi
2002-10-29 23:06                         ` Hanna Linder
2002-10-29 23:14                           ` [Lse-tech] " Randy.Dunlap
2002-10-29 23:25                           ` Davide Libenzi
2002-10-29  1:47           ` Security critical race condition in epoll code John Gardiner Myers
2002-10-29  2:13             ` Davide Libenzi
2002-10-29  3:38             ` Davide Libenzi
2002-10-29 19:49           ` and nicer too - Re: [PATCH] epoll more scalable than poll John Gardiner Myers
2002-10-29 21:03             ` Davide Libenzi
2002-10-30  0:26               ` Jamie Lokier
2002-10-30  2:09                 ` Davide Libenzi
2002-10-30  5:51                 ` Davide Libenzi
2002-10-30  2:22               ` John Gardiner Myers
2002-10-30  3:51                 ` Davide Libenzi
2002-10-31  2:07                   ` John Gardiner Myers
2002-10-31  3:21                     ` Davide Libenzi
2002-10-31 11:10                       ` [Lse-tech] " Suparna Bhattacharya
2002-10-31 18:42                         ` Davide Libenzi
2002-10-30 23:01                 ` Jamie Lokier
2002-10-30 23:53                   ` Davide Libenzi
2002-10-31  0:52                     ` Jamie Lokier
2002-10-31  4:15                       ` Davide Libenzi
2002-10-31 15:07                         ` Jamie Lokier
2002-10-31 19:10                           ` Davide Libenzi
2002-11-01 17:42                             ` Dan Kegel
2002-11-01 17:45                               ` Davide Libenzi
2002-11-01 18:41                                 ` Dan Kegel
2002-11-01 19:16                               ` Jamie Lokier
2002-11-01 20:04                                 ` Charlie Krasic
2002-11-01 20:14                                   ` Jamie Lokier
2002-11-01 20:22                                 ` Mark Mielke
2002-10-31 15:41                         ` Unifying epoll,aio,futexes etc. (What I really want from epoll) Jamie Lokier
2002-10-31 15:48                           ` bert hubert
2002-10-31 16:45                           ` Alan Cox
2002-10-31 22:00                             ` Rusty Russell
2002-11-01  0:32                               ` Jamie Lokier
2002-11-01 13:23                               ` Alan Cox
2002-10-31 20:28                           ` Davide Libenzi
2002-10-31 23:02                             ` Jamie Lokier
2002-11-01  1:01                               ` Davide Libenzi
2002-11-01  2:01                                 ` Jamie Lokier
2002-11-01 17:36                                   ` Davide Libenzi
2002-11-01 23:27                                   ` John Gardiner Myers
2002-11-02  4:55                                     ` Mark Mielke
2002-11-05 18:15                                       ` pipe POLLOUT oddity John Gardiner Myers
2002-11-05 18:18                                         ` Benjamin LaHaise
2002-11-02 15:41                                     ` Unifying epoll,aio,futexes etc. (What I really want from epoll) Jamie Lokier
2002-11-01 20:45                                 ` Jamie Lokier
2002-11-01  1:55                               ` Matthew D. Hall
2002-11-01  2:54                                 ` Davide Libenzi
2002-11-01 18:18                                   ` Dan Kegel
2002-11-01  2:56                                 ` Jamie Lokier
2002-11-01 23:16                                 ` John Gardiner Myers
2002-11-01  4:29                               ` Mark Mielke
2002-11-01  4:59                                 ` Jamie Lokier
2002-10-30 18:59               ` and nicer too - Re: [PATCH] epoll more scalable than poll Zach Brown
2002-10-30 19:25                 ` Davide Libenzi
2002-10-31 16:54                 ` Davide Libenzi
2002-10-28 23:44     ` Jamie Lokier
2002-10-29  0:02       ` Davide Libenzi
2002-10-29  1:51         ` Jamie Lokier
2002-10-29  5:06           ` Davide Libenzi [this message]
2002-10-29 11:20             ` Jamie Lokier
2002-10-30  0:16               ` Davide Libenzi
2002-10-29  0:03       ` bert hubert
2002-10-29  0:20         ` Davide Libenzi
2002-10-29  0:48         ` Jamie Lokier
2002-10-29  1:53           ` Jamie Lokier
2002-10-28 21:59 Dan Kegel
2002-10-28 22:36 ` Dan Kegel
2002-10-28 22:51 ` Davide Libenzi
2002-10-28 23:03   ` Dan Kegel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.44.0210282042170.1002-100000@blue1.dev.mcafeelabs.com \
    --to=davidel@xmailserver.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lk@tantalophile.demon.co.uk \
    --cc=lse-tech@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).