[PATCH v1 2/3] scsi: ufs: Optimize host lock on transfer requests send/compl paths
Stanley Chu
stanley.chu at mediatek.com
Wed Jun 2 19:54:25 PDT 2021
Hi Can,
On Mon, 2021-05-24 at 01:36 -0700, Can Guo wrote:
> Current UFS IRQ handler is completely wrapped by host lock, and because
> ufshcd_send_command() is also protected by host lock, when IRQ handler
> fires, not only the CPU running the IRQ handler cannot send new requests,
> the rest CPUs can neither. Move the host lock wrapping the IRQ handler into
> specific branches, i.e., ufshcd_uic_cmd_compl(), ufshcd_check_errors(),
> ufshcd_tmc_handler() and ufshcd_transfer_req_compl(). Meanwhile, to further
> reduce occpuation of host lock in ufshcd_transfer_req_compl(), host lock is
> no longer required to call __ufshcd_transfer_req_compl(). As per test, the
> optimization can bring considerable gain to random read/write performance.
>
> Cc: Stanley Chu <stanley.chu at mediatek.com>
> Co-developed-by: Asutosh Das <asutoshd at codeaurora.org>
> Signed-off-by: Asutosh Das <asutoshd at codeaurora.org>
> Signed-off-by: Can Guo <cang at codeaurora.org>
According to my test, the performance indeed has impressive improvement
with this series!
Reviewed-by: Stanley Chu <stanley.chu at mediatek.com>
> #endif
>
> bool req_abort_skip;
> - bool in_use;
> };
>
> /**
More information about the Linux-mediatek
mailing list