Skip to contentSkip to conversation

Slow writing of dirty data (bcache)

DISCUSSION Larkin Lowrey 2 participants 3 messages Mar 10, 2014 1 message not in the archive bcache (block layer cache)

lore
Share & tools
lore
#0 lore raw

I'm seeing an odd behavior after updating to kernel 3.13.5-202.fc20.x86_64 from 3.12.7-300.fc20.x86_64.

I have a bcache device (bcache2) which backs a raid5 array (md2) that has 160+MB of dirty data. The dirty data is being written at a rate of 1 page per second (8 sectors). At this rate it'll take 11 hrs to finish. I like to keep this array spun down when inactive but the drives can't spin down since they're being written to once a second.

# cat /sys/block/bcache2/bcache/writeback_rate
512
# cat /sys/block/bcache2/bcache/writeback_rate_debug
rate:           512/sec
dirty:          161M
target:         40.8G
proportional:   -35.2M
derivative:     0
change:         -35.2M/sec
next io:        624ms

This never happened when running 3.12.7. Is there anything I can do about this?

--Larkin

#1 lore raw
Quoted 8 lines · Larkin Lowrey

has 160+MB of dirty data. The dirty data is being written at a rate of 1 page per second (8 sectors). At this rate it'll take 11 hrs to finish. I like to keep this array spun down when inactive but the drives can't spin down since they're being written to once a second.

This never happened when running 3.12.7. Is there anything I can do about this?

I believe this is intended behaviour - as the cache approaches the writeback_percent level of fullness the rate of writeback will increase. It is possible to override the writeback_rate by echoing a new value into it but it will also change itself so you may find the rate falls again... Perhaps that can be avoided by echoing 0 into writeback_percent too (see
http://evilpiepirate.org/git/linux-bcache.git/tree/Documentation/bcache.txt?h=bcache-dev#n265)...

Signature · 1 line
Sitsofe | http://sucs.org/~sits/

A message that is not in the archive (sent off-list or not yet received): CALJ65zm4O8KeA1vjhupAFoqh+07qH5OaLMCbm-fShkZk6nf9MA@mail.gmail.com

#3 lore raw

This solved my immediate problem. Thank you very much.

Should I keep this array at 0 from now on if I want it to spin down when idle?

--Larkin

Quoted 42 lines · Kent Overstreet

echo 0 > writeback_percent...

On Mar 10, 2014 6:07 PM, "Larkin Lowrey" <[email protected] <mailto:[email protected]>> wrote:

I'm seeing an odd behavior after updating to kernel 3.13.5-202.fc20.x86_64 from 3.12.7-300.fc20.x86_64.

I have a bcache device (bcache2) which backs a raid5 array (md2) that has 160+MB of dirty data. The dirty data is being written at a rate of 1
page per second (8 sectors). At this rate it'll take 11 hrs to finish. I
like to keep this array spun down when inactive but the drives can't spin down since they're being written to once a second.

# cat /sys/block/bcache2/bcache/writeback_rate 512

# cat /sys/block/bcache2/bcache/writeback_rate_debug
rate: 512/sec
dirty: 161M
target: 40.8G
proportional: -35.2M
derivative: 0
change: -35.2M/sec
next io: 624ms

This never happened when running 3.12.7. Is there anything I can do about this?

--Larkin

--
To unsubscribe from this list: send the line "unsubscribe linux-bcache" in
the body of a message to [email protected] <mailto:[email protected]>
More majordomo info at http://vger.kernel.org/majordomo-info.html