Re: [PATCH v37 3/4] scsi: ufs: Prepare HPB read for cached sub-region

From: 정요한(JOUNG YOHAN) Mobile SE
Date: Fri Jun 11 2021 - 01:07:51 EST


>+ /*
>+ * If the region state is active, mctx must be allocated.
>+ * In this case, check whether the region is evicted or
>+ * mctx allcation fail.
>+ */
>+ if (unlikely(!srgn->mctx)) {
>+ dev_err(&hpb->sdev_ufs_lu->sdev_dev,
>+ "no mctx in region %d subregion %d.\n",
>+ srgn->rgn_idx, srgn->srgn_idx);
>+ return true;
>+ }
>+
>+ if ((srgn_offset + cnt) > bitmap_len)
>+ bit_len = bitmap_len - srgn_offset;
>+ else
>+ bit_len = cnt;
>+
>+ if (find_next_bit(srgn->mctx->ppn_dirty, bitmap_len,
>+ srgn_offset) < bit_len + srgn_offset)
>+ return true;
>+

It seems unnecessary to search through bitmap_len
How about searching by transfer size?

if (find_next_bit(srgn->mctx->ppn_dirty,
bit_len + srgn_offset, srgn_offset) < bit_len + srgn_offset)

Thanks
Yohan