Re: HEADS-UP: jdolecek-ncq branch merge imminent

2017-06-28 Thread Jaromír Doleček
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 :

> 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 :
>
>> 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
>>
>
>


Re: HEADS-UP: jdolecek-ncq branch merge imminent

2017-06-14 Thread Jaromír Doleček
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 :

> 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
>


Re: HEADS-UP: jdolecek-ncq branch merge imminent

2017-06-08 Thread Jonathan A. Kollasch
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