Re: Syslets, Threadlets, generic AIO support, v6

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Ulrich Drepper
Date: Wednesday, May 30, 2007 - 12:55 pm

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Davide Libenzi wrote:

It's not (only/mainly) about breaking.  File descriptors are a resources
which has to be used under the control of the program.  The runtime
cannot just steal some for itself.  This indirectly leads to breaking
code.  We've seen this many times and I keep repeating the same issue
over and over again: why do we have MAP_ANON instead of keeping a file
descriptor with /dev/null open?  Why is mmap made more complicated by
allowing the file descriptor to be closed after the mmap() call is done?

Take a look at a process running your favorite shell.  Ever wonder why
there is this stray file descriptor with a high number?

$ cat /proc/3754/cmdline
bash
$ ll /proc/3754/fd/
total 0
lrwx------ 1 drepper drepper 64 2007-05-30 12:50 0 -> /dev/pts/19
lrwx------ 1 drepper drepper 64 2007-05-30 12:50 1 -> /dev/pts/19
lrwx------ 1 drepper drepper 64 2007-05-30 12:49 2 -> /dev/pts/19
lrwx------ 1 drepper drepper 64 2007-05-30 12:50 255 -> /dev/pts/19

File descriptors must be requested explicitly and cannot be implicitly
consumed.

All that and the other problem I mentioned earlier today about auxiliary
data.  File descriptors are not the ideal interface.  Elegant: yes,
ideal: no.  Fro physics and math you might have learned that not every
result that looks clean and beautiful is correct.

- --
➧ Ulrich Drepper ➧ Red Hat, Inc. ➧ 444 Castro St ➧ Mountain View, CA ❖
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQFGXdbC2ijCOnn/RHQRAgBbAJ0RoNsQr4L6Bm5hLy7somAKeTqCcQCbBHmx
8hzG+1w0rYMTqXxNmi/QQ7o=
=O7Xm
-----END PGP SIGNATURE-----
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Syslets, Threadlets, generic AIO support, v6, Zach Brown, (Tue May 29, 2:27 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Tue May 29, 2:49 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Jeff Garzik, (Tue May 29, 3:16 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Zach Brown, (Tue May 29, 3:49 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Zach Brown, (Tue May 29, 4:09 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Ulrich Drepper, (Tue May 29, 4:20 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Dave Jones, (Tue May 29, 6:11 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 12:20 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 12:26 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ulrich Drepper, (Wed May 30, 12:31 am)
Re: Syslets, Threadlets, generic AIO support, v6, Jens Axboe, (Wed May 30, 12:40 am)
Re: Syslets, Threadlets, generic AIO support, v6, Evgeniy Polyakov, (Wed May 30, 1:32 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 1:42 am)
Re: Syslets, Threadlets, generic AIO support, v6, Evgeniy Polyakov, (Wed May 30, 1:51 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 1:54 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 2:05 am)
Re: Syslets, Threadlets, generic AIO support, v6, Jeff Garzik, (Wed May 30, 2:28 am)
Re: Syslets, Threadlets, generic AIO support, v6, Evgeniy Polyakov, (Wed May 30, 2:30 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 6:02 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 6:20 am)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 8:16 am)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 8:31 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ulrich Drepper, (Wed May 30, 8:39 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 9:09 am)
Re: Syslets, Threadlets, generic AIO support, v6, Zach Brown, (Wed May 30, 9:55 am)
Re: Syslets, Threadlets, generic AIO support, v6, Zach Brown, (Wed May 30, 10:08 am)
Re: Syslets, Threadlets, generic AIO support, v6, Jens Axboe, (Wed May 30, 10:33 am)
Re: Syslets, Threadlets, generic AIO support, v6, Jens Axboe, (Wed May 30, 10:57 am)
Re: Syslets, Threadlets, generic AIO support, v6, Mark Lord, (Wed May 30, 12:05 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Jens Axboe, (Wed May 30, 12:10 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 12:15 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Jens Axboe, (Wed May 30, 12:32 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Davide Libenzi, (Wed May 30, 12:40 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Davide Libenzi, (Wed May 30, 12:52 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Ulrich Drepper, (Wed May 30, 12:55 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 1:00 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Eric Dumazet, (Wed May 30, 1:07 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Davide Libenzi, (Wed May 30, 1:21 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Eric Dumazet, (Wed May 30, 1:31 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 1:31 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 1:44 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Eric Dumazet, (Wed May 30, 1:46 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Ulrich Drepper, (Wed May 30, 2:16 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 2:27 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Davide Libenzi, (Wed May 30, 2:31 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Jeremy Fitzhardinge, (Wed May 30, 2:36 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Jeremy Fitzhardinge, (Wed May 30, 2:38 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Davide Libenzi, (Wed May 30, 2:39 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 2:44 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Ulrich Drepper, (Wed May 30, 2:47 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 2:48 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Davide Libenzi, (Wed May 30, 2:48 pm)
Re: Syslets, Threadlets, generic AIO support, v6, David M. Lloyd, (Wed May 30, 2:51 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Eric Dumazet, (Wed May 30, 2:53 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Jeremy Fitzhardinge, (Wed May 30, 2:54 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Linus Torvalds, (Wed May 30, 3:01 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Davide Libenzi, (Wed May 30, 3:06 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Eric Dumazet, (Wed May 30, 3:09 pm)
Re: Syslets, Threadlets, generic AIO support, v6, William Lee Irwin III, (Wed May 30, 3:24 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Matt Mackall, (Wed May 30, 3:27 pm)
Re: Syslets, Threadlets, generic AIO support, v6, William Lee Irwin III, (Wed May 30, 3:38 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Wed May 30, 11:13 pm)
Re: Syslets, Threadlets, generic AIO support, v6, Eric Dumazet, (Thu May 31, 12:35 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Thu May 31, 2:02 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Thu May 31, 2:26 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Thu May 31, 2:32 am)
Re: Syslets, Threadlets, generic AIO support, v6, Jens Axboe, (Thu May 31, 2:34 am)
Re: Syslets, Threadlets, generic AIO support, v6, Eric Dumazet, (Thu May 31, 3:41 am)
Re: Syslets, Threadlets, generic AIO support, v6, Ingo Molnar, (Thu May 31, 3:50 am)