NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/52614: qemu virtual CD-ROM report read errors since recent wdc changes
The following reply was made to PR kern/52614; it has been noted by GNATS.
From: =?UTF-8?B?SmFyb23DrXIgRG9sZcSNZWs=?= <jaromir.dolecek%gmail.com@localhost>
To: Andreas Gustafsson <gson%gson.org@localhost>
Cc: Jaromir Dolecek <jdolecek%netbsd.org@localhost>, "gnats-bugs%NetBSD.org@localhost" <gnats-bugs%netbsd.org@localhost>
Subject: Re: kern/52614: qemu virtual CD-ROM report read errors since recent
wdc changes
Date: Tue, 21 Aug 2018 11:21:26 +0200
2018-08-21 10:29 GMT+02:00 Andreas Gustafsson <gson%gson.org@localhost>:
> During a typical failed sysinst run, the "if (avail == 0)" branch
> in ata_get_xfer_ext() was entered more than 9000 times, always with
> flags == 0. From reading the code, this condition results in
> ata_get_xfer_ext() returning NULL.
Thanks, this does help.
It shows there is definitely codepath where the new code is wrong - if
SCSIPI fails to get the xfer and returns with EAGAIN, nothing ever
re-triggers the SCSI code to retry that transfer again and it
eventually times out. I'll look at this in more detail, maybe I can
fix this separately.
The EAGAIN is more likely to happen on the legacy IDE interfaces,
where the controller has just one preallocated xfer for all I/O (disk
and ATAPI) now. I plan to rewrite the xfer handling code to actually
avoid this and don't artificially limit the number of middle layer
CCBs, e.g. switch to pool allocation or just have more of them. Stay
tuned, I should have something soon.
Jaromir
Home |
Main Index |
Thread Index |
Old Index