I've made some improvements to the error handling, and fixed the PMP & dump issues I discovered on siisata/mvsata/ahcisata/pciide. I've also tested siisata(4) and ahcisata(4) with atapi device to some extend, didn't see any regression there so far.
I do want to do some more ATAPI testing, and do the wd(4) chaos monkey to exercise&test the 'regular' error paths better, but other than that, I think the branch is in quite decent shape. I consider it ready for merge. Jonathan, do you have any specific concerns still? Particularly, do you think the remaining XXXs in siisata(4) prevent the branch to be merged? Jaromir 2017-06-13 22:34 GMT+02:00 Jaromír Doleček <jaromir.dole...@gmail.com>: > I'll see if I can do some chaos monkey thing for wd(4) to test the error > paths. > > I'm not quite sure what kind of special error recovery would be necessary > to add though. With NCQ, if there is any error, all pending commands are > cancelled by the device. There is nothing to recover by HBA. The commands > just need to be reissued after channel reset, which is done after a timeout > by wd(4). I think that eventual further error path tweaks really could be > done on HEAD already, and that it's not necessary to hold off making this > available for general public. > > I'd really prefer not to stretch this relatively simple branch to too > ambitious rework, like converting ata to thread context or doing base MP > work. > > I do want to test PMP though, thanks for reminder. In my opinion, once > that is confirmed working, there is no reason really to wait any further > with the merge. > > Is there anything on HEAD which is useful to sync to the branch? I'm > wondering whether it's useful to sync it to ncq branch right now at all. > > Jaromir > > 2017-06-08 10:45 GMT+02:00 Jonathan A. Kollasch <jakll...@kollasch.net>: > >> On Wed, Jun 07, 2017 at 09:45:48PM +0200, Jaromír Doleček wrote: >> > Hello, >> > >> > I plan to merge the branch to HEAD very soon, likely over the weekend. >> > Eventual further fixes will be done on HEAD already, including mvsata(4) >> > restabilization, and potential switch of siisata(4) to support NCQ. >> > >> > The plan is to get this pulled up to netbsd-8 branch soon also, so that >> it >> > will be part of 8.0. >> > >> > Status: >> > - ahci(4) fully working with NCQ (confirmed with qemu, and real hw) >> > - piixide(4) continues working (no NCQ support of course) (confirmed in >> > qemu) >> > - siisata(4) continues working (without NCQ still) (confirmed with real >> hw) >> > - mvsata(4) not yet confirmed working after changes, mainly due the DMA >> not >> > really working on Marvell 88SX6042 which I have available - I have same >> > issue as kern/52126 >> > - other ide/sata drivers received mechanical changes, should continue >> > working as before >> > >> > Jaromir >> >> My limited testing has shown that the device error handling paths need >> work yet. It's unfortunately been a few weeks since I've tested things, >> so my memory isn't fresh with the details. The general issue is that >> ata(4) is doing error handling in interrupt context, and NCQ error >> handling is straining that assumption. >> >> At this point I advise that the branch could be synced with HEAD and >> further testing done before merge. I can not advise that this be >> pulled up to netbsd-8 before more extensive and comprehensive testing >> has been done. >> >> I've got siisata(4) NCQ stuff I should commit to the branch. >> >> Jonathan Kollasch >> > >