Messages in this thread | | | Date | Mon, 13 Feb 2023 10:37:32 +0800 | From | Ming Lei <> | Subject | Re: [PATCH] block: ublk: check IO buffer based on flag need_get_data |
| |
On Fri, Feb 10, 2023 at 09:13:56AM -0500, Liu Xiaodong wrote: > Currently, uring_cmd with UBLK_IO_FETCH_REQ or > UBLK_IO_COMMIT_AND_FETCH_REQ is always checked whether > userspace server has provided IO buffer even flag > UBLK_F_NEED_GET_DATA is configured. > > This is a excessive check. If UBLK_F_NEED_GET_DATA is > configured, FETCH_RQ doesn't need to provide IO buffer; > COMMIT_AND_FETCH_REQ also doesn't need to do that if > the IO type is not READ. > > Check ub_cmd->addr together with ublk_need_get_data() > and IO type in ublk_ch_uring_cmd(). > > With this fix, userspace server doesn't need to preserve > buffers for every ublk_io when flag UBLK_F_NEED_GET_DATA > is configured, in order to save memory. > > Signed-off-by: Liu Xiaodong <xiaodong.liu@intel.com>
Good catch!
Fixes: c86019ff75c1 ("ublk_drv: add support for UBLK_IO_NEED_GET_DATA") Reviewed-by: Ming Lei <ming.lei@redhat.com>
Thanks, Ming
| |