mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andreas Dilger <adilger@turbolinux.com>
To: Paul Jakma <paulj@alphyra.ie>
Cc: Andreas Dilger <adilger@turbolinux.com>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] 64 bit scsi read/write
Date: Mon, 16 Jul 2001 12:53:59 -0600 (MDT)	[thread overview]
Message-ID: <200107161853.f6GIrxdQ002885@webber.adilger.int> (raw)
In-Reply-To: <Pine.LNX.4.33.0107141325460.1063-100000@rossi.itg.ie> "from Paul Jakma at Jul 14, 2001 01:27:37 pm"

Paul Jamka writes:
> On Fri, 13 Jul 2001, Andreas Dilger wrote:
> > put your journal on NVRAM, you will have blazing synchronous I/O.
> 
> so ext3 supports having the journal somewhere else then. question: can
> the journal be on tmpfs?

There are patches for this (2.2 only, not 2.4) but it is not in the core
ext3 code yet.  The ext3 design and on-disk layout allow for it (and the
e2fsprogs have the basic support for it), so it will not be a major change
to start using external devices for journals.

If you are keen to do performance testing (on a temporary filesystem, for
sure), you can hack around the current lack of ext3 support for journal
devices by doing the following (works for reiserfs also) with LVM:

1) create a PV on NVRAM/SSD/ramdisk (needs hacks to LVM code to support the
   NVRAM device, or you can loopback mount the device ;-)  It should be big
   enough to hold the entire journal + a bit of overhead*
2) create a VG and LV on the ramdisk
3) create a PV on a regular disk, add it to the above VG
4) extend the LV with the new PV space**
5) create a 4kB blocksize ext2 filesystem on this LV
6) use "dumpe2fs <LV NAME>" to find the free blocks count in the first group
7) use "tune2fs -J size=<blocks * blocksize> <LV name>" to create the
   journal, where "blocks" <= number of free blocks in first group and
   also <= (number of blocks on NVRAM device - overhead*)

You _should_ have the journal on NVRAM now, along with the superblock and
all of the metadata for the first group.  This will also improve performance
as the superblock and group descriptor tables are hot spots as well.

Of course, once support for external journal devices is added to ext3, it
will simply be a matter of doing "tune2fs -J device=<NVRAM device>".

Cheers, Andreas
---------------
*) For ext3, you need enough extra space for the superblock, group descriptors,
   one block and inode bitmap, the first inode table, (and lost+found if
   you don't want to do extra work deleting lost+found before creating the
   journal, and re-creating it afterwards).  The output from "dumpe2fs"
   will tell you the number of inode blocks and group descriptor blocks.
   For reiserfs it is hard to tell exactly where the file will go, but if
   you had, say, a 64MB NVRAM device and a new filesystem, you could expect
   the journal to be put entirely on the NVRAM device.

**) The LV will have the NVRAM device as the first Logical Extent, so this
   will also be logically the first part of the filesystem.  The PEs added
   to the LV will be appended to the NVRAM device.
-- 
Andreas Dilger  \ "If a man ate a pound of pasta and a pound of antipasto,
                 \  would they cancel out, leaving him still hungry?"
http://www-mddsp.enel.ucalgary.ca/People/adilger/               -- Dogbert

  parent reply	other threads:[~2001-07-16 19:00 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-07-01  4:53 [RFC][PATCH] first cut 64 bit block support Ben LaHaise
2001-07-03  4:53 ` Ragnar Kjørstad
2001-07-04  2:19   ` [PATCH] 64 bit scsi read/write Ben LaHaise
2001-07-04  7:11     ` Alan Cox
2001-07-05  6:34     ` Ragnar Kjørstad
2001-07-05  7:35       ` Ben LaHaise
2001-07-13 18:20         ` Albert D. Cahalan
2001-07-13 20:41           ` Andreas Dilger
2001-07-13 21:07             ` Chris Wedgwood
2001-07-13 22:04               ` Andreas Dilger
2001-07-14  0:49                 ` Jonathan Lundell
2001-07-14 12:27                 ` Paul Jakma
2001-07-14 14:48                   ` Chris Wedgwood
2001-07-14 15:42                     ` Paul Jakma
2001-07-14 17:18                       ` Chris Wedgwood
2001-07-20 17:03                       ` Stephen C. Tweedie
2001-07-16 18:53                   ` Andreas Dilger [this message]
2001-07-16 19:13                     ` Ragnar Kjørstad
2001-07-13 21:14             ` Alan Cox
2001-07-14  3:23               ` Andrew Morton
2001-07-14  8:45                 ` Alan Cox
2001-07-14 14:50                   ` Chris Wedgwood
2001-07-14 20:11                     ` Daniel Phillips
2001-07-15  1:21                       ` Andrew Morton
2001-07-15  1:53                         ` Daniel Phillips
2001-07-15  3:36                       ` Chris Wedgwood
2001-07-15  6:05                         ` John Alvord
2001-07-15  6:07                           ` Chris Wedgwood
2001-07-15 13:16                             ` Ken Hirsch
2001-07-15 14:50                               ` Chris Wedgwood
2001-07-15 22:14                               ` Daniel Phillips
2001-07-17  0:31                             ` Juan Quintela
2001-07-15 13:44                         ` Daniel Phillips
2001-07-15 14:39                           ` Chris Wedgwood
2001-07-15 15:32                             ` Alan Cox
2001-07-15 15:33                               ` Chris Wedgwood
2001-07-15 16:24                               ` Chris Wedgwood
2001-07-15 15:06                           ` Jonathan Lundell
2001-07-15 15:22                             ` Chris Wedgwood
2001-07-15 17:44                             ` Jonathan Lundell
2001-07-15 17:47                             ` Justin T. Gibbs
2001-07-15 23:14                               ` Rod Van Meter
2001-07-16  0:37                                 ` Jonathan Lundell
2001-07-16 15:11                                   ` Rod Van Meter
2001-07-16  8:56                               ` Chris Wedgwood
2001-07-16 13:19                                 ` Daniel Phillips
2001-07-16  1:08                           ` Albert D. Cahalan
2001-07-16  8:49                             ` Chris Wedgwood
2001-07-21 19:18                             ` Alexander Griesser
2001-07-22  3:52                               ` Albert D. Cahalan
2001-07-23 14:41                                 ` Daniel Phillips
2001-07-24  4:29                                   ` Albert D. Cahalan
2001-07-24 11:45                                     ` Daniel Phillips
2001-07-14 15:41                   ` Jonathan Lundell
2001-07-14 17:00                     ` Chris Wedgwood
2001-07-14 17:33                   ` Jonathan Lundell
2001-07-15  4:02                     ` Chris Wedgwood
2001-07-15  5:46                     ` Jonathan Lundell
2001-07-15 17:10                   ` Chris Wedgwood
2001-07-15 17:39                   ` Jonathan Lundell
2001-07-26  2:18     ` Ragnar Kjørstad
2001-07-26 16:24       ` Andreas Dilger
2001-08-10 19:42       ` Ben LaHaise
2001-08-10 19:51       ` Ragnar Kjørstad
2001-08-10 20:02         ` Ben LaHaise
2001-08-11  0:18           ` Steve Lord
2001-08-11 21:44       ` Matti Aarnio
2001-07-04 10:16 ` [RFC][PATCH] first cut 64 bit block support Chris Wedgwood
2001-07-04 16:59   ` Ben LaHaise
2001-07-14 15:08 [PATCH] 64 bit scsi read/write Ed Tomlinson
2001-07-19  7:35 [PATCH] 64 bit SCSI read/write Andre Hedrick

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=200107161853.f6GIrxdQ002885@webber.adilger.int \
    --to=adilger@turbolinux.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paulj@alphyra.ie \
    /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®