On Fri, Oct 28, 2016 at 06:05:35PM +0200, Arnd Bergmann wrote: > On Friday, October 28, 2016 9:30:07 AM CEST Jens Axboe wrote: > > Also, 4.8 and newer have support for BLK_MQ_F_BLOCKING, if you need to > > block in ->queue_rq(). That could eliminate the need to offload to a > > kthread manually. > I think the main reason for the kthread is that on ARM and other > architectures, the dma mapping operations are fairly slow (for > cache flushes or bounce buffering) and we want to minimize the > time between subsequent requests being handled by the hardware. > This is not unique to MMC in any way, MMC just happens to be > common on ARM and it is limited by its lack of hardware > command queuing. Plus the fact that MMC (and SD) have some *relatively* high performance implementations which amplify the effects of desaturating the hardware - the faster the hardware is the more noticable the overhead of stalling it becomes.
Attachment:
signature.asc
Description: PGP signature