2006-03-26 19:26:47

by Dan Aloni

[permalink] [raw]
Subject: Status of NCQ in libata

Hello,

I'd like to know about the current status of NCQ support in libata,
whether anyone is actively working on it, where I should find a
development branch (there's no ncq branch anymore in libata-dev.git
it seems) and when an upstream merge should be expected.

Thanks.

--
Dan Aloni
[email protected], [email protected], [email protected], [email protected]


2006-03-27 07:29:38

by Jens Axboe

[permalink] [raw]
Subject: Re: Status of NCQ in libata

On Sun, Mar 26 2006, Dan Aloni wrote:
> Hello,
>
> I'd like to know about the current status of NCQ support in libata,
> whether anyone is actively working on it, where I should find a
> development branch (there's no ncq branch anymore in libata-dev.git
> it seems) and when an upstream merge should be expected.

You can give it a spin in the 'ncq' branch in the block layer git repo:

git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git

Only one real bit needs to get merged in libata for ncq to be submitted,
and that is Tejun's eh rework. Once that is in, ncq becomes a fairly
small patch and can probably go straight in.

AHCI is still the only supported controller, once NCQ is merged I'm sure
a few others will follow.

--
Jens Axboe

2006-03-29 04:14:04

by Tejun Heo

[permalink] [raw]
Subject: Re: Status of NCQ in libata

Jens Axboe wrote:
> On Sun, Mar 26 2006, Dan Aloni wrote:
>> Hello,
>>
>> I'd like to know about the current status of NCQ support in libata,
>> whether anyone is actively working on it, where I should find a
>> development branch (there's no ncq branch anymore in libata-dev.git
>> it seems) and when an upstream merge should be expected.
>
> You can give it a spin in the 'ncq' branch in the block layer git repo:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git
>
> Only one real bit needs to get merged in libata for ncq to be submitted,
> and that is Tejun's eh rework. Once that is in, ncq becomes a fairly
> small patch and can probably go straight in.
>
> AHCI is still the only supported controller, once NCQ is merged I'm sure
> a few others will follow.
>

Patches going out later today. :) I've just ported the NCQ stuff over it
and about to test it. As I have the doc and hardware NCQ support for
sata_sil24 will soon follow.

--
tejun

2006-03-29 07:15:30

by Jens Axboe

[permalink] [raw]
Subject: Re: Status of NCQ in libata

On Wed, Mar 29 2006, Tejun Heo wrote:
> Jens Axboe wrote:
> >On Sun, Mar 26 2006, Dan Aloni wrote:
> >>Hello,
> >>
> >>I'd like to know about the current status of NCQ support in libata,
> >>whether anyone is actively working on it, where I should find a
> >>development branch (there's no ncq branch anymore in libata-dev.git
> >>it seems) and when an upstream merge should be expected.
> >
> >You can give it a spin in the 'ncq' branch in the block layer git repo:
> >
> >git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git
> >
> >Only one real bit needs to get merged in libata for ncq to be submitted,
> >and that is Tejun's eh rework. Once that is in, ncq becomes a fairly
> >small patch and can probably go straight in.
> >
> >AHCI is still the only supported controller, once NCQ is merged I'm sure
> >a few others will follow.
> >
>
> Patches going out later today. :) I've just ported the NCQ stuff over it
> and about to test it. As I have the doc and hardware NCQ support for
> sata_sil24 will soon follow.

Wonderful! I'm pretty confident in the NCQ stuff these days, so if Jeff
is up for it, it could make 2.6.17.

--
Jens Axboe

2006-03-29 07:43:05

by Dan Aloni

[permalink] [raw]
Subject: Re: Status of NCQ in libata

On Wed, Mar 29, 2006 at 01:13:52PM +0900, Tejun Heo wrote:
> Jens Axboe wrote:
> >On Sun, Mar 26 2006, Dan Aloni wrote:
> >>Hello,
> >>
> >>I'd like to know about the current status of NCQ support in libata,
> >>whether anyone is actively working on it, where I should find a
> >>development branch (there's no ncq branch anymore in libata-dev.git
> >>it seems) and when an upstream merge should be expected.
> >
> >You can give it a spin in the 'ncq' branch in the block layer git repo:
> >
> >git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git
> >
> >Only one real bit needs to get merged in libata for ncq to be submitted,
> >and that is Tejun's eh rework. Once that is in, ncq becomes a fairly
> >small patch and can probably go straight in.
> >
> >AHCI is still the only supported controller, once NCQ is merged I'm sure
> >a few others will follow.
> >
>
> Patches going out later today. :) I've just ported the NCQ stuff over it
> and about to test it. As I have the doc and hardware NCQ support for
> sata_sil24 will soon follow.

Good to see it's going well. I'm considering to implement NCQ/TCQ for
sata_mv (I have the necessary resources for it), so I'm hoping that I'd be
able to base my efforts on the current ncq branch without worrying too
much about interface changes.

--
Dan Aloni
[email protected], [email protected], [email protected], [email protected]

2006-03-29 07:46:44

by Jens Axboe

[permalink] [raw]
Subject: Re: Status of NCQ in libata

On Wed, Mar 29 2006, Dan Aloni wrote:
> On Wed, Mar 29, 2006 at 01:13:52PM +0900, Tejun Heo wrote:
> > Jens Axboe wrote:
> > >On Sun, Mar 26 2006, Dan Aloni wrote:
> > >>Hello,
> > >>
> > >>I'd like to know about the current status of NCQ support in libata,
> > >>whether anyone is actively working on it, where I should find a
> > >>development branch (there's no ncq branch anymore in libata-dev.git
> > >>it seems) and when an upstream merge should be expected.
> > >
> > >You can give it a spin in the 'ncq' branch in the block layer git repo:
> > >
> > >git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git
> > >
> > >Only one real bit needs to get merged in libata for ncq to be submitted,
> > >and that is Tejun's eh rework. Once that is in, ncq becomes a fairly
> > >small patch and can probably go straight in.
> > >
> > >AHCI is still the only supported controller, once NCQ is merged I'm sure
> > >a few others will follow.
> > >
> >
> > Patches going out later today. :) I've just ported the NCQ stuff over it
> > and about to test it. As I have the doc and hardware NCQ support for
> > sata_sil24 will soon follow.
>
> Good to see it's going well. I'm considering to implement NCQ/TCQ for
> sata_mv (I have the necessary resources for it), so I'm hoping that I'd be
> able to base my efforts on the current ncq branch without worrying too
> much about interface changes.

As seen from the low level sata driver, there isn't much interface to
change. Basically you just want to signal a higher queueing depth, which
will enable the SCSI layer to queue a higher number of ios at any time.
The rest is up to you, how you actually talk to the hardware. Then
there's error handling, I don't think much will change there after
Tejuns merge either.

So if you started off the 'ncq' branch in the block repo, you should be
able to pretty much cary your sata_mv changes straight over. Any change
needed would be to accomodate other libata changes, not ncq.

--
Jens Axboe