[DRBD-user] Massive starvation in diskless state doing direct IO reads

Roland Friedwagner roland.friedwagner at wu.ac.at
Fri Sep 3 15:17:23 CEST 2010

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


Am Donnerstag 02 September 2010 schrieb Lars Ellenberg:
>
> Starvation probably happens on the Secondary.
> It should vanish if you
>  echo 1 > /sys/modules/drbd/parameters/disable_sendpage
>

Starvation is gone with disabled sendpage feature!

[secondary]# cat /sys/module/drbd/parameters/disable_sendpage
Y
[diskless primary]# dd if=/dev/drbd0 of=/dev/null iflag=direct bs=9M count=50
50+0 records in
50+0 records out
471859200 bytes (472 MB) copied, 4.91869 seconds, 95.9 MB/s

I did not see any performance degradation not using sendpage 
with 1Gbit Link between Primary and Secondary (works like a charm;-).

Does using sendpage makes a difference when it comes to >= 10Gbit Links?


> As long as you have _occasional_ write requests while you do the
> sequential read, you should still be fine, too.
>

Doing writes during big direct io reads does _not_ fix it:

I run this in background to produce about 10 writes/sec:

  while :; do date --iso-8601=sec; dd if=/dev/zero of=/dev/drbd0 bs=1k count=1 conv=fsync 2> /dev/null; sleep .1; done

But direct io reads are still stucked (and the writes also get stucked):

  # dd if=/dev/drbd0 of=/dev/null iflag=direct bs=9M count=50
  50+0 records in
  50+0 records out
  471859200 bytes (472 MB) copied, 163.932 seconds, 2.9 MB/s

Kind Regards,
Roland

-- 
Roland.Friedwagner at wu.ac.at            Phone: +43 1 31336 5377
IT Services - WU (Vienna University of Economics and Business) 



More information about the drbd-user mailing list