All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jim Salter <jim@jrs-s.net>
To: linux-btrfs@vger.kernel.org
Subject: btrfs scrub ioprio
Date: Sun, 24 Nov 2013 22:45:59 -0500	[thread overview]
Message-ID: <5292C7F7.8010200@jrs-s.net> (raw)

TL;DR scrub's ioprio argument isn't really helpful - a scrub murders 
system performance til it's done.

My system:

3.11 kernel (from Ubuntu Saucy)
btrfs-tools from 2013-07 (from Debian Sid)
Opteron 8-core CPU
32GB RAM
4 WD 1TB Black drives in a btrfs RAID10 (data and metadata).

iotop shows that the idle priority really is set on the processes:

 >> me@box:~$ sudo iotop -bn 1 | grep idle
 >> 28326 idle root       82.06 M/s    0.00 B/s  0.00 %  0.00 % btrfs 
scrub start -c3 /data
 >> 28327 idle root       89.30 M/s    0.00 B/s  0.00 %  0.00 % btrfs 
scrub start -c3 /data
 >> 28329 idle root       84.47 M/s    0.00 B/s  0.00 %  0.00 % btrfs 
scrub start -c3 /data
 >> 28331 idle root       79.64 M/s    0.00 B/s  0.00 %  0.00 % btrfs 
scrub start -c3 /data

But unfortunately, despite being on "idle" priority, the scrub is 
KILLING system performance. This is one of my eight CPU cores. Any core 
with a significant amount of non-idle time has three to four times as 
much wait time as it does user/system time. Brutal:

 >> Cpu4  :  4.4%us, 16.1%sy,  0.0%ni, 12.4%id, 67.2%wa, 0.0%hi,  
0.0%si,  0.0%st

Anybody got any ideas that might make the scrub go a little less... 
enthusiastically... and leave the system more usable?  Right now, with a 
scrub running, the system is so burdened that it may take as much as two 
to three seconds to so much as display a manpage. God help you if you 
want to, say, log into a VM running on the system. It'll GET there, but 
it'll look like it's iSCSI on TCP over carrier pigeon.

             reply	other threads:[~2013-11-25  3:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-25  3:45 Jim Salter [this message]
2013-11-25 12:25 ` btrfs scrub ioprio Austin S Hemmelgarn
2013-11-25 12:55   ` Jim Salter
2013-11-25 13:05     ` Austin S Hemmelgarn
2013-11-26  0:50 ` Holger Hoffstaette
2014-01-19 13:49   ` Kai Krakow

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=5292C7F7.8010200@jrs-s.net \
    --to=jim@jrs-s.net \
    --cc=linux-btrfs@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.