* Discard request and write counters
@ 2011-03-23 13:07 Lukas Czerner
2011-03-23 23:40 ` Dave Chinner
0 siblings, 1 reply; 2+ messages in thread
From: Lukas Czerner @ 2011-03-23 13:07 UTC (permalink / raw)
To: Jens Axboe; +Cc: linux-fsdevel, linux-ext4, Theodore Ts'o, Eric Sandeen
Hello,
I have noticed that we do treat discard requests (REQ_DISCARD) as write
requests which is probably right, but it has the side effect of
increasing write counters as well (disk_stats->sectors[1]) which leads
to confusing result.
For example in ext4 filesystem we have counter s_kbytes_written which
stores amount of kbytes written to the filesystem throughout its
lifetime. Now, if you mount the filesystem with -o discard mount option,
which means that with every commit blocks used by unlinked files are
discarded, you'll get approx. twice as many kb writes as it should be
(if you delete every file you have previously written of course).
So this means that with -o discard the ext4 s_kbytes_written counter is
no longer reliable. Now the question is how to fix that ? Should the
users of the disk_stats->sectors[1] count with this behaviour as the
REQ_DISCARD is treated as write and should be accounted for, or should
we change that in block layer and do not count REQ_DISCARD as write in
the first place ?
Thanks!
-Lukas
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Discard request and write counters
2011-03-23 13:07 Discard request and write counters Lukas Czerner
@ 2011-03-23 23:40 ` Dave Chinner
0 siblings, 0 replies; 2+ messages in thread
From: Dave Chinner @ 2011-03-23 23:40 UTC (permalink / raw)
To: Lukas Czerner
Cc: Jens Axboe, linux-fsdevel, linux-ext4, Theodore Ts'o,
Eric Sandeen
On Wed, Mar 23, 2011 at 02:07:40PM +0100, Lukas Czerner wrote:
> Hello,
>
> I have noticed that we do treat discard requests (REQ_DISCARD) as write
> requests which is probably right, but it has the side effect of
> increasing write counters as well (disk_stats->sectors[1]) which leads
> to confusing result.
>
> For example in ext4 filesystem we have counter s_kbytes_written which
> stores amount of kbytes written to the filesystem throughout its
> lifetime. Now, if you mount the filesystem with -o discard mount option,
> which means that with every commit blocks used by unlinked files are
> discarded, you'll get approx. twice as many kb writes as it should be
> (if you delete every file you have previously written of course).
>
> So this means that with -o discard the ext4 s_kbytes_written counter is
> no longer reliable. Now the question is how to fix that ? Should the
> users of the disk_stats->sectors[1] count with this behaviour as the
> REQ_DISCARD is treated as write and should be accounted for, or should
> we change that in block layer and do not count REQ_DISCARD as write in
> the first place ?
IMO discard needs to be accounted separately in new counters.
Discards are not writes, but knowing how much data is being
discarded along with read and write stats is definitely useful
information about the IO load the device is under.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-03-23 23:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-23 13:07 Discard request and write counters Lukas Czerner
2011-03-23 23:40 ` Dave Chinner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).