Re: [PATCH 0/3] target: Reduce se_device->execute_task_lock contention

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2011-12-01 at 04:23 -0500, Christoph Hellwig wrote:
> If we can remove the per-device queue depth checking a lot of this
> could be simplified even further, leading to less lock contention
> and atomic:
> 
>  - once the queue depth check is gone this means we will always process
>    all tasks transport_execute_tasks, aka if we always allow all tasks
>    to go through and never touch a queue, or we need to add all of them.

Mmmm, yes.  LUN_RESET is still walking the execute_task list to prevent
task I/O from being submitted + to determine when to return aborted
status. 

Adding a check in transport_execute_task() to determine when LUN_RESET
is occuring would address this bit, but I still need to consider how
handle this.

>  - from that follows that we do not have to queue up tasks at all,
>    we can move to queueing up commands instead, and only do so if
>    ordered commands exist

Of course this would still require a method for pSCSI backends handling
I/O with ->max_sectors smaller than the received fabric I/O.

Doing this internally in pSCSI code still sounds kinda messy, but
getting iblock and everything else to not allocate se_task would be a
nice optimization..

>  - once we only queue up command all the tasks lists in the device
>    can go away - we can always batch operations on the tasks by going
>    to the command first.

<nod> Dropping the execute_task_list all-together in favor of individual
se_task associated se_cmd submission is what i'll look to test with soon
on qla_tgt-3.3 code.

Thanks Christoph!

--nab


--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux