[lkml]   [2012]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Read starvation by sync writes

On Monday 2012-12-10 23:12, Jan Kara wrote:
> I was looking into IO starvation problems where streaming sync writes (in
>my case from kjournald but DIO would look the same) starve reads. This is
>because reads happen in small chunks and until a request completes we don't
>start reading further (reader reads lots of small files) while writers have
>plenty of big requests to submit. Both processes end up fighting for IO
>requests and writer writes nr_batching 512 KB requests while reader reads
>just one 4 KB request or so.[...]
>Simple reproducer is:
>echo 3 >/proc/sys/vm/drop_caches
>dd if=/dev/zero of=/tmp/f bs=1M count=10000 &
>sleep 30
>time cat /etc/* 2>&1 >/dev/null
>killall dd
>rm /tmp/f
> The question is how can we fix this?

The ROW scheduler attempts to address it up by prioritizing reads,
and it works out for me.

(Mail info.)
Date: Tue, 11 Dec 2012 14:41:18
From: Tanya Brokhman <>
Subject: [PATCH v4 0/2] ROW scheduling Algorithm

 \ /
  Last update: 2012-12-12 01:21    [W:0.154 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site