public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@suse.de>
To: Richard Gooch <rgooch@ras.ucalgary.ca>
Cc: Linus Torvalds <torvalds@transmeta.com>,
	Rogier Wolff <R.E.Wolff@BitWizard.nl>,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	volodya@mindspring.com, Alexander Viro <viro@math.psu.edu>,
	Andrea Arcangeli <andrea@suse.de>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] SMP race in ext2 - metadata corruption.
Date: Fri, 4 May 2001 21:04:23 +0200	[thread overview]
Message-ID: <20010504210423.E16507@suse.de> (raw)
In-Reply-To: <200105041140.NAA03391@cave.bitwizard.nl> <Pine.LNX.4.21.0105041015520.521-100000@penguin.transmeta.com> <200105041820.f44IKec11204@vindaloo.ras.ucalgary.ca>
In-Reply-To: <200105041820.f44IKec11204@vindaloo.ras.ucalgary.ca>; from rgooch@ras.ucalgary.ca on Fri, May 04, 2001 at 12:20:40PM -0600

On Fri, May 04 2001, Richard Gooch wrote:
> The idea I had (motivated by the desire to eliminate random disc
> seeks, which is the limiting factor in how fast my boxes boot) was:
> 
> - init(8) issues an ioctl(2) on the root FS block device which turns
>   on recording of block reads (it records block numbers)
> 
> - at the end of the bootup process, init(8) issues another ioctl(2) to
>   grab the buffered block numbers, and turn off recording
> 
> - init(8) then sorts this list in ascending order and saves the result
>   in a file
> 
> - next boot, init(8) checks the file, and if it exists, opens the root
>   FS block device and reads in each block listed in the file. The
>   effect is to warm the buffer cache extremely quickly. The head will
>   move in one direction, grabbing data as it flys by. I expect this
>   will take around 1 second
> 
> - init(8) now continues the boot process (starting the magic ioctl(2)
>   again so as to get a fresh list of blocks, in case something has
>   changed)
> 
> - booting is now super fast, thanks to no disc activity.

I did 95% of what you need sometime last year, to do I/O scheduler
profiling (blocks requested, merge stats, request sent to disk). It was
a pretty gross hack, requiring a pretty big ring buffer of kernel memory
to be able to log at a sufficiently fast rate (you'd be amazed how much
output a single dbench 48 run produces :-). A user space app would read
data from a simple char device, save for later inspection.

A better approach would be to map the ring buffer from the user app, but
it was just a quick fix.

-- 
Jens Axboe


  parent reply	other threads:[~2001-05-04 19:05 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-26 15:45 [PATCH] SMP race in ext2 - metadata corruption Alexander Viro
2001-04-26 18:12 ` Andrea Arcangeli
2001-04-26 18:24   ` Alexander Viro
2001-04-26 19:00     ` Chris Mason
2001-04-26 18:49   ` Linus Torvalds
2001-04-26 19:08     ` Alexander Viro
2001-04-26 19:17       ` Alexander Viro
2001-04-26 20:06         ` Andrea Arcangeli
2001-04-26 19:15     ` Andrea Arcangeli
2001-04-26 19:34       ` Alexander Viro
2001-04-26 19:44         ` Andrea Arcangeli
2001-04-26 19:55           ` Alexander Viro
2001-04-26 20:08             ` Linus Torvalds
2001-04-26 20:21               ` Andrea Arcangeli
2001-04-26 20:49               ` Alexander Viro
2001-04-26 21:07                 ` Andrea Arcangeli
2001-04-26 23:25                   ` Alexander Viro
2001-04-27  0:05                     ` Andrea Arcangeli
2001-04-27  0:19                       ` Linus Torvalds
2001-04-27  0:35                         ` Andrea Arcangeli
2001-04-26 21:13               ` Andrzej Krzysztofowicz
2001-04-27 18:02                 ` LA Walsh
2001-04-27 18:17                   ` dek_ml
2001-04-27  7:58               ` Vojtech Pavlik
2001-04-27 13:23                 ` Alexander Viro
2001-04-27 14:32                   ` Ville Herva
2001-04-27 16:52                 ` Linus Torvalds
2001-04-27 19:22                   ` Shane Wegner
2001-04-28  4:55                   ` Albert D. Cahalan
2001-04-28 10:05                     ` Jens Axboe
2001-04-27 14:29               ` Andi Kleen
2001-05-03  6:23               ` volodya
2001-05-03  9:29                 ` Alan Cox
2001-05-03 17:21                   ` Linus Torvalds
2001-05-04 11:40                     ` Rogier Wolff
2001-05-04 11:56                       ` Jens Axboe
2001-05-04 15:29                         ` Andrea Arcangeli
2001-05-04 17:40                           ` Linus Torvalds
2001-05-05  3:18                           ` Chris Wedgwood
2001-05-06  0:37                             ` Andrea Arcangeli
2001-05-06  2:14                               ` Chris Wedgwood
2001-05-06  2:50                                 ` Andrea Arcangeli
2001-05-06  3:00                                   ` Chris Wedgwood
2001-05-06  3:15                                     ` Alexander Viro
2001-05-06  3:32                                       ` Chris Wedgwood
2001-05-06  3:59                                         ` Alexander Viro
2001-05-06 12:47                                           ` Alan Cox
2001-05-06 19:46                                             ` Andreas Dilger
2001-05-06 20:58                                               ` Alan Cox
2001-05-07  4:08                                                 ` Andreas Dilger
2001-05-07 18:42                                           ` Pavel Machek
2001-05-11 14:54                                             ` Daniel Phillips
2001-05-18 14:46                                               ` Stephen C. Tweedie
2001-05-11 20:00                                             ` Alexander Viro
2001-05-06  3:38                                     ` Andreas Dilger
2001-05-06  3:51                                     ` Andrea Arcangeli
2001-05-04 12:15                       ` Marc SCHAEFER
2001-05-04 17:28                       ` Linus Torvalds
2001-05-04 17:39                         ` Alexander Viro
2001-05-04 17:55                           ` Linus Torvalds
2001-05-04 18:29                             ` Alexander Viro
2001-05-04 19:13                               ` Linus Torvalds
2001-05-05 11:20                               ` Albert D. Cahalan
2001-05-05 17:11                                 ` Alexander Viro
2001-05-04 18:20                         ` Richard Gooch
2001-05-04 18:35                           ` Alexander Viro
2001-05-04 18:49                             ` Richard Gooch
2001-05-04 19:15                               ` Alexander Viro
2001-05-04 19:36                                 ` Richard Gooch
2001-05-04 19:58                                   ` Alexander Viro
2001-05-04 20:04                                     ` Richard Gooch
2001-05-04 19:04                           ` Jens Axboe [this message]
2001-05-05 13:52                           ` Rogier Wolff
2001-05-05 18:12                             ` Richard Gooch
2001-05-08 13:46                           ` volodya
2001-05-09 10:30                             ` Helge Hafting
2001-05-04 21:11                         ` Alan Cox
2001-05-04 21:50                           ` Linus Torvalds
2001-04-26 20:11             ` Andrea Arcangeli
2001-04-26 20:14               ` Andrea Arcangeli
2001-04-26 20:26               ` Linus Torvalds
2001-04-26 21:16                 ` Andrea Arcangeli
2001-04-26 20:42         ` Richard B. Johnson
2001-04-26 20:55           ` Alexander Viro
2001-04-27 11:43             ` Richard B. Johnson
2001-04-26 19:39       ` Andrea Arcangeli
     [not found] <Pine.LNX.4.21.0104270953280.2067-100000@penguin.transmeta.com>
2001-04-27 17:36 ` Jeff Garzik
     [not found] ` <3AE9A69B.D11F0BBD@evision-ventures.com>
2001-04-28  8:31   ` Matthias Urlichs
2001-04-28 13:20   ` Olaf Titz
2001-04-30  8:47 ` Neil Conway

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=20010504210423.E16507@suse.de \
    --to=axboe@suse.de \
    --cc=R.E.Wolff@BitWizard.nl \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=andrea@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rgooch@ras.ucalgary.ca \
    --cc=torvalds@transmeta.com \
    --cc=viro@math.psu.edu \
    --cc=volodya@mindspring.com \
    /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