Linux ATA/IDE development
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Grant Grundler <grundler@google.com>
Cc: Jens Axboe <jens.axboe@oracle.com>,
	Greg Freemyer <greg.freemyer@gmail.com>,
	Tejun Heo <htejun@gmail.com>, Michael Tokarev <mjt@tls.msk.ru>,
	Kay Sievers <kay.sievers@vrfy.org>,
	Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
	linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org,
	Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [PATCH] block: export SSD/non-rotational queue flag through sysfs
Date: Thu, 15 Jan 2009 14:00:39 -0500	[thread overview]
Message-ID: <1232046039.5966.54.camel@localhost.localdomain> (raw)
In-Reply-To: <da824cf30901151055o2385ef74x918e8390e576d807@mail.gmail.com>

On Thu, 2009-01-15 at 10:55 -0800, Grant Grundler wrote:
> On Thu, Jan 15, 2009 at 8:06 AM, James Bottomley
> <James.Bottomley@hansenpartnership.com> wrote:
> ...
> > Right, this is the flash cache idea that's been floating around for a
> > while.  It's even been suggested as a way of avoiding the IDE barrier
> > flush penalties.  I think Seagate went as far as making hybrid drives
> > that were a large flash cache backed by rotational storage.
> 
> "inline" RAM caches  were implemented 10+ years ago for SCSI devices
> to avoid seek *and* rotational delay penalties. These were transperent
> SCSI devices that would cache and prefetch content from disks.
> For the given dataset size, the seek cost was effectively zero. This is
> mostly true today for high-end disk arrays which have large RAM
> front-end's (TB) and very smart data placement strategies (reduced seek).

RAM caches are different from flash caches: they're volatile.
Essentially they're the cause of our barrier flush issues.  The point
about flash caches is they're non volatile.  You can pull power from the
disk as soon as the data is in flash cache; the disc can commit it again
as soon as it powers up.

> Back to the bikeshed painting: I prefer two flags: "AVGREADCOST" and
> "AVGWRITECOST as the flag. This isn't just about seek. Rotational delay
> @7200 RPM is 8.3ms. Making both non-zero implies rotational media.
> Different devices have different read and write characteristics.
> Flash typically has a much higher write cost than read cost.
> Disks (because of WCE) can be the opposite.
> 
> Code can test for zero/nonzero or (preferably) more fine grained.
> e.g. "avgreadcost > 1ms" or "avgwritecost". I'm hoping this test
> can be abstracted into a macro.

Um these really have to be things we can get out of the device at boot
time without effort (as in part of the data the device can give in a
single command).  I'll be shot for increasing boot time so we can work
out these parameters ...

> I'm hoping longterm, the values could be "self tuning" but don't know
> how that might work - e.g. 1 minute avg? 10 minute avg? Cost
> of collecting/maintaining the stats? Feels like a CONFIG option.

CONFIG_SLOW_YOUR_BOOT?

James



  reply	other threads:[~2009-01-15 19:00 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-05 18:52 [PATCH] block: export SSD/non-rotational queue flag through sysfs Bartlomiej Zolnierkiewicz
2009-01-05 18:54 ` Jens Axboe
2009-01-05 19:02   ` Bartlomiej Zolnierkiewicz
2009-01-05 19:08     ` James Bottomley
2009-01-05 19:10       ` Jens Axboe
2009-01-05 19:08     ` Jens Axboe
2009-01-05 21:47   ` Kay Sievers
2009-01-06  7:35     ` Jens Axboe
2009-01-07 10:39       ` Michael Tokarev
2009-01-07 11:19         ` Jens Axboe
2009-01-07 15:34         ` James Bottomley
2009-01-15  5:37           ` Tejun Heo
2009-01-15 15:07             ` Greg Freemyer
2009-01-15 15:46               ` Tejun Heo
2009-01-15 16:06               ` James Bottomley
2009-01-15 18:55                 ` Grant Grundler
2009-01-15 19:00                   ` James Bottomley [this message]
2009-01-15 22:45                     ` Grant Grundler
2009-01-15 23:17                       ` James Bottomley
2009-01-15 23:50                         ` Hugh Dickins
2009-01-15 23:57                           ` Michael Tokarev
2009-01-16  0:36                           ` James Bottomley
2009-01-16  3:52                             ` Dongjun Shin
2009-01-16  6:48                               ` Jens Axboe
2009-01-16  6:48                           ` Jens Axboe
2009-02-03 12:32                             ` Pierre Ossman
2009-01-16  6:43                       ` Jens Axboe
2009-01-05 18:58 ` Alan Cox
     [not found] <fa.+H1UnEqOmFht/vMPmVy8ellbQi0@ifi.uio.no>
     [not found] ` <fa.RLz5WOGorLui5GRkc963Ww1kXqg@ifi.uio.no>
     [not found]   ` <fa.x4ejZ7Kj7ZZRu88Sond1Cap6XxY@ifi.uio.no>
2009-01-05 22:18     ` Sitsofe Wheeler
2009-01-06  1:25       ` Stefan Richter
2009-01-06 19:46       ` Hugh Dickins

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=1232046039.5966.54.camel@localhost.localdomain \
    --to=james.bottomley@hansenpartnership.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=bzolnier@gmail.com \
    --cc=greg.freemyer@gmail.com \
    --cc=grundler@google.com \
    --cc=htejun@gmail.com \
    --cc=jens.axboe@oracle.com \
    --cc=kay.sievers@vrfy.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjt@tls.msk.ru \
    /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