Messages in this thread | | | Subject | Re: IDE issues with "choose_drive" | From | Benjamin Herrenschmidt <> | Date | Sun, 09 Oct 2005 08:18:33 +1000 |
| |
> It seems we need internal ide_dev_do_request(ide_drive_t *, int) > which will explicitly state which device we want to service as I see > no sane way to fix the problem in choose_drive().
Not only that, but if you read my blurb, I wonder how even the non-targetted case can work properly if we ever hit a couple of the code path in there that either early exit because the elevator returned no request or the case where we "sleep" a drive to give more time to the other... I have the feeling that we may "miss" an opportunity to servive a drive, and thus this drive will stick around with a pending request not beeing serviced... I reckon those are corner cases, but I feel the whole thing need some serious revisiting.
> Your workaround is OK for 2.6.14 given that you will document it > now and later fix it properly for 2.6.15.
Ok. Well, I'm not sure what is the right fix at the moment given the other issues I described above, but I'm definitely up to doign a proper fix for 2.6.15 with your help ;)
Ben.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |