Hi Stanley,
On 2021-06-03 10:54, Stanley Chu wrote:
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@xxxxxxxxxxxx>
Co-developed-by: Asutosh Das <asutoshd@xxxxxxxxxxxxxx>
Signed-off-by: Asutosh Das <asutoshd@xxxxxxxxxxxxxx>
Signed-off-by: Can Guo <cang@xxxxxxxxxxxxxx>
According to my test, the performance indeed has impressive improvement
with this series!
Thanks a lot for your time and review. :)
Regards,
Can Guo.
Reviewed-by: Stanley Chu <stanley.chu@xxxxxxxxxxxx>
#endif
bool req_abort_skip;
- bool in_use;
};
/**