Re: [PATCH] block/null_blk: Fix completion processing from LIFO to FIFO

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

 



On Thu, Feb 06, 2014 at 06:33:17PM +0200, Shlomo Pongratz wrote:
> The completion queue is implemented using lockless list.
> 
> The llist_add is adds the events to the list head which is a push operation.
> The processing of the completion elements is done by disconnecting all the
> pushed elements and iterating over the disconnected list. The problem is
> that the processing is done in reverse order w.r.t order of the insertion
> i.e. LIFO processing. By reversing the disconnected list which is done in
> linear time the desired FIFO processing is achieved.

I think it should just switch to using __smp_call_function_single
directly, mirroring commit 3d6efbf62c797a2924785f482e4ce8aa8820ec72 for
the blk-mq core.

I've actually a patch in the queue that allows generic request
completion offloading similar to blk_complete_request() in the old
request code, but it'll need a bit more polishing first.

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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux