mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: david@lang.hm
To: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	"Rafael J. Wysocki" <rjw@sisk.pl>, Willy Tarreau <w@1wt.eu>,
	David Miller <davem@davemloft.net>,
	linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Jiri Slaby <jirislaby@gmail.com>
Subject: Re: Slow DOWN, please!!!
Date: Wed, 30 Apr 2008 22:19:25 -0700 (PDT)	[thread overview]
Message-ID: <alpine.DEB.1.10.0804302216520.3013@asgard> (raw)
In-Reply-To: <20080501022142.GP5882@ZenIV.linux.org.uk>

On Thu, 1 May 2008, Al Viro wrote:

> FWIW, after the last month's flamefests I decided to actually do something
> about review density of code in the areas I'm theoretically responsible
> for.  Namely, do systematic review of core data structure handling (starting
> with the place where most of the codepaths get into VFS - descriptor tables
> and struct file), doing both blow-by-blow writeup on how that sort of things
> is done and documentation of the life cycle/locking rules/assertions made
> by code/etc.  I made one bad mistake that held the things back for quite
> a while - sending heads-up for one of the worse bugs found in process to
> never-sufficiently-damned vendor-sec.  The last time I'm doing that, TYVM...
>
> Anyway, I'm going to get the notes on that stuff in order and put them in
> the open.  I really hope that other folks will join the fun afterwards.
> The goal is to get a coherent braindump that would be sufficient for
> people new to the area wanting to understand and review VFS-related code -
> both in the tree and in new patches.

thank you, the lack of good documentation on the intent of the code has 
been a significant barrier for new people. it's (relativly) easy for a 
good programmer to look at the code and figure out how it does things, a 
bit harder to figure out what it does, but why it does it (and what it was 
actually _intended_ to do) is very hard to track down

> files_struct/fdtable handling is mostly dealt with, struct file is only
> partially done - unfortunately, struct file_lock has to be dealt with
> before that and it's a (predictable) nightmare.  On the other end of
> things, fs_struct is not really started, vfsmount review is partially
> done, dentry/superblock/inode not even touched.
>
> Even with what little had been covered... well, let's just say that it
> caught quite a few fun turds.  With typical age around 3-4 years.  And
> VFS is not the messiest part of the tree...

it may not be the messiest part of the tree, but it's definantly one of 
the hardest to figure out the intent of.

David Lang

  reply	other threads:[~2008-05-01  5:17 UTC|newest]

Thread overview: 229+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-30  2:03 David Miller
2008-04-30  4:03 ` David Newall
2008-04-30  4:18   ` David Miller
2008-04-30 13:04     ` David Newall
2008-04-30 13:18       ` Michael Kerrisk
2008-04-30 14:51       ` Linus Torvalds
2008-04-30 18:21         ` David Newall
2008-04-30 18:27           ` Linus Torvalds
2008-04-30 18:55             ` David Newall
2008-04-30 19:08               ` Linus Torvalds
2008-04-30 19:16                 ` David Newall
2008-04-30 19:25                   ` Linus Torvalds
2008-05-01  4:31                     ` David Newall
2008-05-01  4:37                       ` David Miller
2008-05-01 13:49                       ` Lennart Sorensen
2008-05-01 15:28                       ` Kasper Sandberg
2008-05-01 17:49                         ` Russ Dill
2008-05-02  1:47                           ` Kasper Sandberg
2008-05-02  2:54                             ` Russ Dill
2008-05-02  7:01                               ` Kasper Sandberg
2008-05-02 17:34                               ` Lee Mathers (TCAFS)
2008-05-02 18:21                                 ` Andi Kleen
2008-05-02 21:34                                   ` Kasper Sandberg
2008-04-30 19:06             ` Chris Friesen
2008-04-30 19:13               ` Linus Torvalds
2008-04-30 19:22                 ` David Newall
2008-04-30 19:42                   ` Linus Torvalds
2008-04-30  7:11   ` Tarkan Erimer
2008-04-30 13:28     ` David Newall
2008-04-30 13:38       ` Mike Galbraith
2008-04-30 14:41       ` mws
2008-04-30 14:55   ` Russ Dill
2008-04-30 14:48 ` Peter Teoh
2008-04-30 19:36 ` Rafael J. Wysocki
2008-04-30 20:00   ` Andrew Morton
2008-04-30 20:20     ` Rafael J. Wysocki
2008-04-30 20:05   ` Linus Torvalds
2008-04-30 20:14     ` Linus Torvalds
2008-04-30 20:56       ` Rafael J. Wysocki
2008-04-30 23:34       ` Greg KH
2008-04-30 20:45     ` Rafael J. Wysocki
2008-04-30 21:37       ` Linus Torvalds
2008-04-30 22:23         ` Rafael J. Wysocki
2008-04-30 22:31           ` Linus Torvalds
2008-04-30 22:41             ` Andrew Morton
2008-04-30 23:23               ` Rafael J. Wysocki
2008-04-30 23:41                 ` david
2008-04-30 23:51                   ` Rafael J. Wysocki
2008-05-01  0:57               ` Adrian Bunk
2008-05-01  1:25                 ` Linus Torvalds
2008-05-01  2:13                   ` Adrian Bunk
2008-05-01  2:30                     ` Linus Torvalds
2008-05-01 18:54                       ` Adrian Bunk
2008-05-14 14:55                       ` Pavel Machek
2008-05-01  1:35                 ` Theodore Tso
2008-05-01 12:31               ` Tarkan Erimer
2008-05-01 15:34                 ` Stefan Richter
2008-05-02 14:05                   ` Tarkan Erimer
2008-04-30 22:46             ` Willy Tarreau
2008-04-30 22:52               ` Andrew Morton
2008-04-30 23:21                 ` Willy Tarreau
2008-04-30 23:38                   ` Chris Shoemaker
2008-04-30 23:20               ` Linus Torvalds
2008-05-01  0:42                 ` Rafael J. Wysocki
2008-05-01  1:19                   ` Linus Torvalds
2008-05-01  1:31                     ` Andrew Morton
2008-05-01  1:43                       ` Linus Torvalds
2008-05-01 10:59                         ` Rafael J. Wysocki
2008-05-01 15:26                           ` Linus Torvalds
2008-05-01 17:09                             ` Rafael J. Wysocki
2008-05-01 17:41                               ` Linus Torvalds
2008-05-01 18:11                                 ` Al Viro
2008-05-01 18:23                                   ` Linus Torvalds
2008-05-01 18:30                                     ` Linus Torvalds
2008-05-01 18:58                                     ` Willy Tarreau
2008-05-01 19:37                                     ` Al Viro
2008-05-01 19:58                                       ` Andrew Morton
2008-05-01 20:07                                       ` Joel Becker
2008-05-01 18:50                                 ` Willy Tarreau
2008-05-01 19:07                                   ` david
2008-05-01 19:28                                     ` Willy Tarreau
2008-05-01 19:46                                       ` david
2008-05-01 19:53                                         ` Willy Tarreau
2008-05-01 22:17                                   ` Rafael J. Wysocki
2008-05-01 19:39                                 ` Friedrich Göpel
2008-05-01 21:59                                 ` Rafael J. Wysocki
2008-05-02 12:17                                   ` Stefan Richter
2008-05-01 18:35                             ` Chris Frey
2008-05-02 13:22                               ` Enrico Weigelt
2008-05-01  1:40                     ` Linus Torvalds
2008-05-01  1:51                       ` David Miller
2008-05-01  2:01                         ` Linus Torvalds
2008-05-01  2:17                           ` David Miller
2008-05-01  2:21                       ` Al Viro
2008-05-01  5:19                         ` david [this message]
2008-05-04  3:26                         ` Rene Herman
2008-05-01  2:31                       ` Nigel Cunningham
2008-05-01 18:32                         ` Stephen Clark
2008-05-01  3:53                       ` Frans Pop
2008-05-01 11:38                       ` Rafael J. Wysocki
2008-04-30 14:28                         ` Arjan van de Ven
2008-05-01 12:41                           ` Rafael J. Wysocki
2008-04-30 15:06                             ` Arjan van de Ven
2008-05-01  5:50                     ` Willy Tarreau
2008-05-01 11:53                       ` Rafael J. Wysocki
2008-05-01 12:11                         ` Will Newton
2008-05-01 13:16                         ` Bartlomiej Zolnierkiewicz
2008-05-01 13:53                           ` Rafael J. Wysocki
2008-05-01 14:35                             ` Bartlomiej Zolnierkiewicz
2008-05-01 15:29                           ` Ray Lee
2008-05-01 19:03                             ` Willy Tarreau
2008-05-01 19:36                         ` Valdis.Kletnieks
2008-05-01  1:30                 ` Jeremy Fitzhardinge
2008-05-01  5:35                   ` Willy Tarreau
2008-04-30 23:03             ` Rafael J. Wysocki
2008-04-30 22:40           ` david
2008-04-30 23:45             ` Rafael J. Wysocki
2008-04-30 23:57               ` david
2008-05-01  0:01                 ` Chris Shoemaker
2008-05-01  0:14                   ` david
2008-05-01  0:38                     ` Linus Torvalds
2008-05-01  1:39                       ` Jeremy Fitzhardinge
2008-05-01  0:38               ` Adrian Bunk
2008-05-01  0:56                 ` Rafael J. Wysocki
2008-05-01  1:25                   ` Adrian Bunk
2008-05-01 12:05                     ` Rafael J. Wysocki
2008-05-01 13:54       ` Stefan Richter
2008-05-01 14:06         ` Rafael J. Wysocki
2008-04-30 23:29     ` Paul Mackerras
2008-05-01  1:57       ` Jeff Garzik
2008-05-01  2:52         ` Frans Pop
2008-05-01  3:47       ` Linus Torvalds
2008-05-01  4:17         ` Jeff Garzik
2008-05-01  4:46           ` Linus Torvalds
2008-05-04 13:47             ` Krzysztof Halasa
2008-05-04 15:05               ` Jacek Luczak
2008-05-01  9:17           ` Alan Cox
2008-04-30 20:15   ` Andrew Morton
2008-04-30 20:31     ` Linus Torvalds
2008-04-30 20:47       ` Dan Noe
2008-04-30 20:59         ` Andrew Morton
2008-04-30 21:30           ` Rafael J. Wysocki
2008-04-30 21:37             ` Andrew Morton
2008-04-30 22:08             ` Linus Torvalds
2008-04-30 22:53           ` Mariusz Kozlowski
2008-04-30 23:11             ` Andrew Morton
2008-05-12  9:27               ` Ben Dooks
2008-05-02 10:20             ` Andi Kleen
2008-05-02 15:33               ` Mariusz Kozlowski
2008-04-30 20:54       ` Andrew Morton
2008-04-30 21:21         ` David Miller
2008-04-30 21:47           ` Rafael J. Wysocki
2008-04-30 22:02           ` Dmitri Vorobiev
2008-04-30 22:19           ` Ingo Molnar
2008-04-30 22:22             ` David Miller
2008-04-30 22:39               ` Rafael J. Wysocki
2008-04-30 22:54                 ` david
2008-04-30 23:12                 ` Willy Tarreau
2008-04-30 23:59                   ` Rafael J. Wysocki
2008-05-01  0:15                   ` Chris Shoemaker
2008-05-01  5:09                     ` Willy Tarreau
2008-04-30 22:35             ` Ingo Molnar
2008-04-30 22:49               ` Andrew Morton
2008-04-30 22:51               ` David Miller
2008-05-01  1:40                 ` Ingo Molnar
2008-05-01  2:48                 ` Adrian Bunk
2008-05-05  3:04             ` Rusty Russell
2008-05-02 13:37           ` Helge Hafting
2008-04-30 21:42         ` Dmitri Vorobiev
2008-04-30 22:06           ` Jiri Slaby
2008-04-30 22:10           ` Andrew Morton
2008-04-30 22:19             ` Linus Torvalds
2008-04-30 22:28               ` Dmitri Vorobiev
2008-05-01 16:26                 ` Diego Calleja
2008-05-01 16:31                   ` Dmitri Vorobiev
2008-05-02  1:48                   ` Stephen Rothwell
2008-05-01 23:06               ` Kevin Winchester
2008-04-30 23:04             ` Dmitri Vorobiev
2008-05-01 15:19               ` Jim Schutt
2008-05-01  6:15             ` Jan Engelhardt
2008-05-09  9:28         ` Jiri Kosina
2008-05-09 15:00           ` Jeff Garzik
2008-04-30 21:52       ` H. Peter Anvin
2008-05-01  3:24         ` Bob Tracy
2008-05-01 16:39         ` Valdis.Kletnieks
2008-05-01  0:31       ` RFC: starting a kernel-testers group for newbies Adrian Bunk
2008-04-30  7:03         ` Arjan van de Ven
2008-05-01  8:13           ` Andrew Morton
2008-04-30 14:15             ` Arjan van de Ven
2008-05-01 12:42               ` David Woodhouse
2008-04-30 15:02                 ` Arjan van de Ven
2008-05-05 10:03                 ` Benny Halevy
2008-05-04 12:45               ` Rene Herman
2008-05-04 13:00                 ` Pekka Enberg
2008-05-04 13:19                   ` Rene Herman
2008-05-05 13:13                   ` crosscompiler [WAS: RFC: starting a kernel-testers group for newbies] Enrico Weigelt
2008-05-01  9:16             ` RFC: starting a kernel-testers group for newbies Frans Pop
2008-05-01 10:30               ` Enrico Weigelt
2008-05-01 13:02                 ` Adrian Bunk
2008-05-01 11:30           ` Adrian Bunk
2008-04-30 14:20             ` Arjan van de Ven
2008-05-01 12:53               ` Rafael J. Wysocki
2008-05-01 13:21               ` Adrian Bunk
2008-05-01 15:49                 ` Andrew Morton
2008-05-01  1:13                   ` Arjan van de Ven
2008-05-02  9:00                     ` Adrian Bunk
2008-05-01 16:38                   ` Steven Rostedt
2008-05-01 17:18                     ` Andrew Morton
2008-05-01 17:24                   ` Theodore Tso
2008-05-01 19:26                     ` Andrew Morton
2008-05-01 19:39                       ` Steven Rostedt
2008-05-02 10:23                       ` Andi Kleen
2008-05-02  2:08                 ` Paul Mackerras
2008-05-02  3:10                   ` Josh Boyer
2008-05-02  4:09                     ` Paul Mackerras
2008-05-02  8:29                       ` Adrian Bunk
2008-05-02 10:16                         ` Paul Mackerras
2008-05-02 11:58                           ` Adrian Bunk
2008-05-02 14:58                         ` Linus Torvalds
2008-05-02 15:44                           ` Carlos R. Mafra
2008-05-02 16:28                             ` Linus Torvalds
2008-05-02 17:15                               ` Carlos R. Mafra
2008-05-02 18:02                                 ` Pallipadi, Venkatesh
2008-05-09 16:32                                   ` Mark Lord
2008-05-09 19:30                                     ` Carlos R. Mafra
2008-05-09 20:39                                       ` Mark Lord
2008-05-01  0:41         ` David Miller
2008-05-01 13:23           ` Adrian Bunk
2008-04-30 20:59 Slow DOWN, please!!! devzero

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=alpine.DEB.1.10.0804302216520.3013@asgard \
    --to=david@lang.hm \
    --cc=akpm@linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=jirislaby@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rjw@sisk.pl \
    --cc=torvalds@linux-foundation.org \
    --cc=viro@ZenIV.linux.org.uk \
    --cc=w@1wt.eu \
    /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

all inboxes | Powered by JetHome®