-iocontext-priority-to-request
Signed-off-by: Adam Manzanares <adam.manzana...@hgst.com>
---
drivers/ata/libata-core.c | 35 ++-
drivers/ata/libata-scsi.c | 10 +-
drivers/ata/libata.h | 2 +-
include/linux/ata.h | 6 ++
include/linux/li
Patch adds an association between iocontext ioprio and the ioprio of
a request. This feature is only enabled if a queue flag is set to
indicate that requests should have ioprio associated with them. The
queue flag is exposed as the req_prio queue sysfs entry.
Signed-off-by: Adam Mananzanares
function.
Adam Manzanares (2):
ata: Enabling ATA Command Priorities
block: Add iocontext priority to request
block/blk-core.c | 8 +++-
block/blk-sysfs.c | 32
include/linux/blkdev.h | 2 ++
3 files changed, 41 insertions(+), 1 deletion
Hello Tejun,
10/02/2016 10:53, Tejun Heo wrote:
> Hello, Adam.
>
> On Fri, Sep 30, 2016 at 09:02:17AM -0700, Adam Manzanares wrote:
> > I'll start with the changes I made and work my way through a grep of
> >
> > ioprio. Please add or correct any of
I prefer having the feature conditional so you can use the CFQ scheduler with
I/O priorities as is. If you decide to enable the feature then the priorities
will be passed down to the drive in addition to the work that the CFQ scheduler
does. Since this feature may change the user perceived
Hello Tejun,
The 09/29/2016 10:40, Tejun Heo wrote:
> Hello,
>
> On Tue, Sep 27, 2016 at 11:14:54AM -0700, Adam Manzanares wrote:
> > Patch adds association between iocontext and a request.
> >
> > Signed-off-by: Adam Manzanares <adam.manzana...@hgst.com>
This patch builds ATA commands with high priority if the iocontext
of a process is set to real time. The goal of the patch is to
improve tail latencies of workloads that use higher queue depths.
Adam Manzanares (3):
block: Add iocontext priority to request
ata: Enabling ATA Command Priorities
Add a sysfs entry to turn on priority information being passed
to a ATA device. By default this feature is turned off.
This patch depends on ata: Enabling ATA Command Priorities
Signed-off-by: Adam Manzanares <adam.manzana...@hgst.com>
---
drivers/ata/libahci.c | 1 +
drivers/ata/
This patch checks to see if an ATA device supports NCQ command priorities.
If so and the user has specified an iocontext that indicates IO_PRIO_CLASS_RT
then we build a tf with a high priority command.
Signed-off-by: Adam Manzanares <adam.manzana...@hgst.com>
---
drivers/ata/libata-core.
Hello Jeff,
The 10/06/2016 15:46, Jeff Moyer wrote:
> Hi, Adam,
>
> Adam Manzanares <adam.manzana...@hgst.com> writes:
>
> > Patch adds an association between iocontext ioprio and the ioprio of
> > a request. This feature is only enabled if a queue flag is set
Patch adds an association between iocontext ioprio and the ioprio of a
request. This is done to enable request based drivers the ability to
act on priority information stored in the request. An example being
ATA devices that support command priorities. If the ATA driver discovers
that the device
The 10/19/2016 14:05, Tejun Heo wrote:
> On Mon, Oct 17, 2016 at 11:27:30AM -0700, Adam Manzanares wrote:
> > Add a sysfs entry to turn on priority information being passed
> > to a ATA device. By default this feature is turned off.
> >
> > This patch depends o
v2:
- Add queue flag to set iopriority going to the request
- If queue flag set, send iopriority class to ata_build_rw_tf
- Remove redundant code in ata_ncq_prio_enabled function.
Adam Manzanares (2):
block: Add iocontext priority to request
ata: Enabling ATA Command Priorities
-iocontext-priority-to-request
Signed-off-by: Adam Manzanares <adam.manzana...@hgst.com>
---
drivers/ata/libata-core.c | 35 ++-
drivers/ata/libata-scsi.c | 10 +-
drivers/ata/libata.h | 2 +-
include/linux/ata.h | 6 ++
include/linux/li
Patch adds an association between iocontext ioprio and the ioprio of
a request. This feature is only enabled if a queue flag is set to
indicate that requests should have ioprio associated with them. The
queue flag is exposed as the req_prio queue sysfs entry.
Signed-off-by: Adam Mananzanares
This patch checks to see if an ATA device supports NCQ command priorities.
If so and the user has specified an iocontext that indicates IO_PRIO_CLASS_RT
then we build a tf with a high priority command.
Signed-off-by: Adam Manzanares <adam.manzana...@wdc.com>
---
drivers/ata/libata-core.
The request priority is now by default coming from the ioc. It was not
clear what this code was trying to do based upon the iopriority class or
data. The driver should check that a device supports priorities and use
them according to the specificiations of ioprio.
Signed-off-by: Adam Manzanares
- If queue flag set, send iopriority class to ata_build_rw_tf
- Remove redundant code in ata_ncq_prio_enabled function.
Adam Manzanares (4):
block: Add iocontext priority to request
fusion: remove iopriority handling
ata: Enabling ATA Command Priorities
ata: ATA Command Priority Disabled
Hello Tejun,
The 10/13/2016 19:22, Tejun Heo wrote:
> Hello, Adam.
>
> Sorry about late reply. Was on vacation.
NP I was on vacation at the end of the week last week.
>
> On Thu, Oct 13, 2016 at 04:00:31PM -0700, Adam Manzanares wrote:
> > Add a sysfs entry to turn on
The request priority is now by default coming from the ioc. It was not
clear what this code was trying to do based upon the iopriority class or
data. The driver should check that a device supports priorities and use
them according to the specificiations of ioprio.
Signed-off-by: Adam Manzanares
Patch adds an association between iocontext ioprio and the ioprio of a
request. This is done to enable request based drivers the ability to
act on priority information stored in the request. An example being
ATA devices that support command priorities. If the ATA driver discovers
that the device
The 10/12/2016 08:49, Jens Axboe wrote:
> On 10/11/2016 02:40 PM, Adam Manzanares wrote:
> >Patch adds an association between iocontext ioprio and the ioprio of
> >a request. This feature is only enabled if a queue flag is set to
> >indicate that requests should have ioprio
Th 10/13/2016 22:34, Christoph Hellwig wrote:
> > Style wise you can further remove the extra parens around
> > SCpnt->device->tagged_supported
> > As well as the now redundant braces.
>
> I did send a patch looking just like that earlier :)
I'll remove the patch from the patchset. I must have
to the device.
Signed-off-by: Adam Manzanares <adam.manzana...@hgst.com>
---
drivers/ata/libata-core.c | 35 ++-
drivers/ata/libata-scsi.c | 6 +-
drivers/ata/libata.h | 2 +-
include/linux/ata.h | 6 ++
include/linux/libata.h
From: Adam Manzanares <adam.manzana...@wdc.com>
Patch adds an association between iocontext ioprio and the ioprio of a
request. This is done to enable request based drivers the ability to
act on priority information stored in the request. An example being
ATA devices that support c
From: Adam Manzanares <adam.manzana...@wdc.com>
Add a sysfs entry to turn on priority information being passed
to a ATA device. By default this feature is turned off.
This patch depends on ata: Enabling ATA Command Priorities
tj: Renamed ncq_prio_on to ncq_prio_enable and removed t
From: Adam Manzanares <adam.manzana...@wdc.com>
This patch builds ATA commands with high priority if the iocontext of a process
is set to real time. The goal of the patch is to improve tail latencies of
workloads that use higher queue depths. This requires setting the iocontext
The 01/02/2017 19:14, Paolo Valente wrote:
> Hi,
> this is to retry to request to attend the summit. This time I'm
> trying to propose and agenda topic too.
>
> I would like to attend, and propose a topic, because:
> 1) the project for adding (only) the BFQ I/O scheduler to blk-mq has
> entered
On 5/9/18 11:21 AM, Theodore Y. Ts'o wrote:
> On Wed, May 09, 2018 at 08:23:00AM -0600, Jens Axboe wrote:
>> Streams is essentially the only thing ki_hint is currently used for,
>> with the write life time hints mapping to a stream. The idea for the
>> user side API was to have other things than
From: Adam Manzanares <adam.manzana...@wdc.com>
Aio per command iopriority support introduces a second interface between
userland and the kernel capable of passing iopriority. The aio interface also
needs the ability to verify that the submitting context has sufficient
priviledges to
From: Adam Manzanares <adam.manzana...@wdc.com>
This is the per-I/O equivalent of the ioprio_set system call.
See the following link for performance implications on a SATA HDD:
https://lkml.org/lkml/2016/12/6/495
First patch factors ioprio_check_cap function out of ioprio_set syste
From: Adam Manzanares <adam.manzana...@wdc.com>
In order to avoid kiocb bloat for per command iopriority support, rw_hint
is converted from enum to a u16. Added a guard around ki_hint assigment.
Signed-off-by: Adam Manzanares <adam.manzana...@wdc.com>
---
include/lin
From: Adam Manzanares <adam.manzana...@wdc.com>
When IOCB_FLAG_IOPRIO is set on the iocb aio_flags field, then we set the
newly added kiocb ki_ioprio field to the value in the iocb aio_reqprio field.
When a bio is created for an aio request by the block dev we set the priority
value of t
From: Adam Manzanares <adam.manzana...@wdc.com>
Now that kiocb has an ioprio field copy this over to the bio when it is
created from the kiocb.
Signed-off-by: Adam Manzanares <adam.manzana...@wdc.com>
---
fs/block_dev.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/fs/bloc
From: Adam Manzanares <adam.manzana...@wdc.com>
Now that kiocb has an ioprio field copy this over to the bio when it is
created from the kiocb during direct IO.
Signed-off-by: Adam Manzanares <adam.manzana...@wdc.com>
---
fs/iomap.c | 1 +
1 file changed, 1 insertion(+)
diff --git
From: Adam Manzanares <adam.manzana...@wdc.com>
Aio per command iopriority support introduces a second interface between
userland and the kernel capable of passing iopriority. The aio interface also
needs the ability to verify that the submitting context has sufficient
priviledges to
From: Adam Manzanares <adam.manzana...@wdc.com>
This is the per-I/O equivalent of the ioprio_set system call.
When IOCB_FLAG_IOPRIO is set on the iocb aio_flags field, then we set the
newly added kiocb ki_ioprio field to the value in the iocb aio_reqprio field.
We set the blkdev bio iopr
From: Adam Manzanares <adam.manzana...@wdc.com>
In order to avoid kiocb bloat for per command iopriority support, rw_hint
is converted from enum to a u16. Added a guard around ki_hint assigment.
Signed-off-by: Adam Manzanares <adam.manzana...@wdc.com>
---
include/lin
From: Adam Manzanares <adam.manzana...@wdc.com>
This is the per-I/O equivalent of the ioprio_set system call.
See the following link for performance implications on a SATA HDD:
https://lkml.org/lkml/2016/12/6/495
First patch factors ioprio_check_cap function out of ioprio_set system call t
On 5/21/18 1:57 PM, Jeff Moyer wrote:
> Hi, Adam,
>
> adam.manzana...@wdc.com writes:
>
>> From: Adam Manzanares <adam.manzana...@wdc.com>
>>
>> This is the per-I/O equivalent of the ioprio_set system call.
>> See the following link for perfor
On 5/21/18 2:04 PM, Jeff Moyer wrote:
> adam.manzana...@wdc.com writes:
>
>> From: Adam Manzanares <adam.manzana...@wdc.com>
>>
>> Now that kiocb has an ioprio field copy this over to the bio when it is
>> created from the kiocb.
>>
>> Signed-
From: Adam Manzanares <adam.manzana...@wdc.com>
Now that kiocb has an ioprio field copy this over to the bio when it is
created from the kiocb.
Signed-off-by: Adam Manzanares <adam.manzana...@wdc.com>
---
fs/block_dev.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/bloc
On 5/22/18 8:32 AM, Jens Axboe wrote:
> On 5/22/18 9:07 AM, adam.manzana...@wdc.com wrote:
>> From: Adam Manzanares <adam.manzana...@wdc.com>
>>
>> In order to avoid kiocb bloat for per command iopriority support, rw_hint
>> is converted from enum to a
On 5/22/18 11:30 AM, Jens Axboe wrote:
> On 5/22/18 12:30 PM, Al Viro wrote:
>> On Tue, May 22, 2018 at 11:55:04AM -0600, Jens Axboe wrote:
>>> On 5/22/18 11:52 AM, adam.manzana...@wdc.com wrote:
>>>> From: Adam Manzanares <adam.manzana...@wdc.com>
>
On 5/17/18 7:41 PM, Jens Axboe wrote:
> On 5/17/18 2:38 PM, adam.manzana...@wdc.com wrote:
>> From: Adam Manzanares <adam.manzana...@wdc.com>
>>
>> This is the per-I/O equivalent of the ioprio_set system call.
>> See the following link for performance imp
On 5/18/18 8:14 AM, Jens Axboe wrote:
> On 5/17/18 2:38 PM, adam.manzana...@wdc.com wrote:
>> From: Adam Manzanares <adam.manzana...@wdc.com>
>>
>> This is the per-I/O equivalent of the ioprio_set system call.
>>
>> When IOCB_FLAG_IOPRIO is set o
From: Adam Manzanares <adam.manzana...@wdc.com>
This is the per-I/O equivalent of the ioprio_set system call.
When IOCB_FLAG_IOPRIO is set on the iocb aio_flags field, then we set the
newly added kiocb ki_ioprio field to the value in the iocb aio_reqprio field.
When a bio is created for
On 5/18/18 9:06 AM, Christoph Hellwig wrote:
> Looks fine, although I'd split it into a aio and block_dev patch.
>
> Also please wire this up for the fs/iomap.c direct I/O code, it should
> be essentially the same sniplet as in the block_dev.c code.
>
Will do.
On 5/18/18 9:05 AM, Christoph Hellwig wrote:
>> +/* ki_hint changed from enum to u16, make sure rw_hint fits into u16 */
>
> I don't think this comment is very useful.
>
>> +static inline u16 ki_hint_valid(enum rw_hint hint)
>
> I'd call this ki_hint_validate.
>
>> +{
>> +if (hint >
From: Adam Manzanares <adam.manzana...@wdc.com>
Aio per command iopriority support introduces a second interface between
userland and the kernel capable of passing iopriority. The aio interface also
needs the ability to verify that the submitting context has sufficient
priviledges to
From: Adam Manzanares <adam.manzana...@wdc.com>
In order to avoid kiocb bloat for per command iopriority support, rw_hint
is converted from enum to a u16. Added a guard around ki_hint assigment.
Signed-off-by: Adam Manzanares <adam.manzana...@wdc.com>
---
include/lin
From: Adam Manzanares <adam.manzana...@wdc.com>
This is the per-I/O equivalent of the ioprio_set system call.
See the following link for performance implications on a SATA HDD:
https://lkml.org/lkml/2016/12/6/495
First patch factors ioprio_check_cap function out of ioprio_set system call t
From: Adam Manzanares <adam.manzana...@wdc.com>
This is the per-I/O equivalent of the ioprio_set system call.
See the following link for performance implications on a SATA HDD:
https://lkml.org/lkml/2016/12/6/495
First patch factors ioprio_check_cap function out of ioprio_set system call t
From: Adam Manzanares <adam.manzana...@wdc.com>
Aio per command iopriority support introduces a second interface between
userland and the kernel capable of passing iopriority. The aio interface also
needs the ability to verify that the submitting context has sufficient
privileges to
From: Adam Manzanares <adam.manzana...@wdc.com>
In order to avoid kiocb bloat for per command iopriority support, rw_hint
is converted from enum to a u16. Added a guard around ki_hint assignment.
Signed-off-by: Adam Manzanares <adam.manzana...@wdc.com>
Reviewed-by: Christoph Hellwig
From: Adam Manzanares <adam.manzana...@wdc.com>
Now that kiocb has an ioprio field copy this over to the bio when it is
created from the kiocb during direct IO.
Signed-off-by: Adam Manzanares <adam.manzana...@wdc.com>
Reviewed-by: Jeff Moyer <jmo...@redhat.com>
Reviewed-by: Ch
From: Adam Manzanares <adam.manzana...@wdc.com>
This is the per-I/O equivalent of the ioprio_set system call.
When IOCB_FLAG_IOPRIO is set on the iocb aio_flags field, then we set the
newly added kiocb ki_ioprio field to the value in the iocb aio_reqprio field.
This patch depends on bloc
From: Adam Manzanares <adam.manzana...@wdc.com>
In order to avoid kiocb bloat for per command iopriority support, rw_hint
is converted from enum to a u16. Added a guard around ki_hint assignment.
Signed-off-by: Adam Manzanares <adam.manzana...@wdc.com>
---
fs/aio.c | 2
From: Adam Manzanares <adam.manzana...@wdc.com>
Now that kiocb has an ioprio field copy this over to the bio when it is
created from the kiocb during direct IO.
Signed-off-by: Adam Manzanares <adam.manzana...@wdc.com>
Reviewed-by: Jeff Moyer <jmo...@redhat.com>
Reviewed-by: Ch
On 5/22/18 9:30 AM, Jens Axboe wrote:
> On 5/22/18 10:24 AM, Goldwyn Rodrigues wrote:
>>
>>
>> On 05/22/2018 10:32 AM, Jens Axboe wrote:
>>> On 5/22/18 9:07 AM, adam.manzana...@wdc.com wrote:
>>>> From: Adam Manzanares <adam.manzana...@wdc.com>
From: Adam Manzanares <adam.manzana...@wdc.com>
Now that kiocb has an ioprio field copy this over to the bio when it is
created from the kiocb.
Signed-off-by: Adam Manzanares <adam.manzana...@wdc.com>
Reviewed-by: Jeff Moyer <jmo...@redhat.com>
---
fs/block_dev.c | 2 ++
From: Adam Manzanares <adam.manzana...@wdc.com>
This is the per-I/O equivalent of the ioprio_set system call.
See the following link for performance implications on a SATA HDD:
https://lkml.org/lkml/2016/12/6/495
First patch factors ioprio_check_cap function out of ioprio_set system call t
From: Adam Manzanares <adam.manzana...@wdc.com>
Aio per command iopriority support introduces a second interface between
userland and the kernel capable of passing iopriority. The aio interface also
needs the ability to verify that the submitting context has sufficient
privileges to
On 6/14/18 1:37 PM, Jens Axboe wrote:
> On 6/14/18 2:32 PM, Adam Manzanares wrote:
>>
>>
>> On 6/14/18 9:09 AM, Hannes Reinecke wrote:
>>> On Thu, 14 Jun 2018 09:33:35 -0600
>>> Jens Axboe wrote:
>>>
>>>> On 6/14/18 9:29 AM, Han
On 6/14/18 9:09 AM, Hannes Reinecke wrote:
> On Thu, 14 Jun 2018 09:33:35 -0600
> Jens Axboe wrote:
>
>> On 6/14/18 9:29 AM, Hannes Reinecke wrote:
>>> On Thu, 14 Jun 2018 08:47:33 -0600
>>> Jens Axboe wrote:
>>>
On 6/14/18 7:38 AM, Hannes Reinecke wrote:
> For performance
On 6/14/18 1:47 PM, Jens Axboe wrote:
> On 6/14/18 2:41 PM, Adam Manzanares wrote:
>>
>>
>> On 6/14/18 1:37 PM, Jens Axboe wrote:
>>> On 6/14/18 2:32 PM, Adam Manzanares wrote:
>>>>
>>>>
>>>> On 6/14/18 9:09 AM, Hannes Reineck
From: Adam Manzanares <adam.manzana...@wdc.com>
This is the per-I/O equivalent of the ioprio_set system call.
When IOCB_FLAG_IOPRIO is set on the iocb aio_flags field, then we set the
newly added kiocb ki_ioprio field to the value in the iocb aio_reqprio field.
When a bio is created for
On 5/3/18 11:33 AM, Matthew Wilcox wrote:
> On Thu, May 03, 2018 at 11:21:14AM -0700, adam.manzana...@wdc.com wrote:
>> If we want to avoid bloating struct kiocb, I suggest we turn the private
>> field
>> into a union of the private and ki_ioprio field. It seems like the users of
>> the private
On 5/3/18 11:36 AM, Jeff Moyer wrote:
> Hi, Adam,
Hello Jeff,
>
> adam.manzana...@wdc.com writes:
>
>> From: Adam Manzanares <adam.manzana...@wdc.com>
>>
>> This is the per-I/O equivalent of the ioprio_set system call.
>>
>> When IOCB_FLAG_IO
On 5/3/18 1:24 PM, Jens Axboe wrote:
> On 5/3/18 2:15 PM, Adam Manzanares wrote:
>>
>>
>> On 5/3/18 11:33 AM, Matthew Wilcox wrote:
>>> On Thu, May 03, 2018 at 11:21:14AM -0700, adam.manzana...@wdc.com wrote:
>>>> If we want to avoid bloating s
With the introduction of byte addressable storage devices that have low
latencies, it becomes difficult to decide how to expose these devices to
user space applications. Do we treat them as traditional block devices
or expose them as a DAX capable device? A traditional block device
allows us
to other bio, and frequently be used to indicate
> metadata io in file system code.
>
> This patch replaces REQ_META with correct flag REQ_PRIO.
>
> CC Adam Manzanares because he explains to me what REQ_PRIO is for.
Sorry for the confusion, I was talking about using the bi_ioprio field
t without the need for a bio argument. Further
> simplify the code and make it more readable by also removing this
> helper, which also allows to simplify blk_mq_sched_assign_ioc() by
> removing its bio argument.
>
> Signed-off-by: Damien Le Moal
Looks good,
Reviewed-by: Adam Manzanare
SS_NONE
> value.
>
> Signed-off-by: Damien Le Moal
Looks good,
Reviewed-by: Adam Manzanares
> ---
> fs/aio.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/aio.c b/fs/aio.c
> index 301e6314183b..b984918be4b7 100644
> --- a/fs/aio.c
> +
ect
> intended I/O priority early. With this, since a BIO I/O priority is
> always set to the intended effective value for both the sync and
> async
> path, blk_init_request_from_bio() can be simplified.
>
> Signed-off-by: Damien Le Moal
Nice cleanup, looks good. Thanks Dam
On Mon, 2018-11-19 at 12:51 +0900, Damien Le Moal wrote:
> Define get_current_ioprio() as an inline helper to obtain the caller
> I/O priority from its task I/O context. Use this helper in
> blk_init_request_from_bio() to set a request ioprio.
>
> Signed-off-by: Damien Le Moal
> ---
>
76 matches
Mail list logo