CAM disk I/O starvation

Gary Jennejohn gljennjohn at googlemail.com
Tue Apr 3 17:31:29 UTC 2012


On Mon, 2 Apr 2012 10:55:31 -0700
Jerry Toung <jrytoung at gmail.com> wrote:

> I am convinced that there is a bug in the CAM code that leads to I/O starvation.
> I have already discussed this privately with some. I am now bringing this up to
> the general audience to get more feedback.
> 

I've observed this with my onboard ATI IXP700 AHCI SATA controller and
2 or 3 SATA disks.  When one disk gets busy all others are pretty much
blocked until it finishes.

Seems to me that this behavior is (fairly) recent.

[snip]

> I have a patch and it fixes those problems. I can share it to the list
> if requested to.
> da0 and da1 now both automatically get 126 openings and based on that,
> extra logic implements fairness in cam/cam_xpt.c. No more 0 MB/s on
> da1. This is on 8.1-RELEASE FreeBSD.
> 

It would be interesting to see your patch.  I always run HEAD but maybe
I could use it as a base for my own mods/tests.

-- 
Gary Jennejohn


More information about the freebsd-hackers mailing list