[dm-devel] dm writecache: add unlikely for getting two block with same LBA

Mikulas Patocka mpatocka at redhat.com
Sun Aug 11 18:11:16 UTC 2019



On Mon, 12 Aug 2019, Huaisheng Ye wrote:

> From: Huaisheng Ye <yehs1 at lenovo.com>
> 
> In function writecache_writeback, entries g and f has same original
> sector only happens at entry f has been committed, but entry g has
> NOT yet.
> 
> The probability of this happening is very low in the following
>  256 blocks at most of entry e, so add unlikely for the result.
> 
> Signed-off-by: Huaisheng Ye <yehs1 at lenovo.com>

Acked-by: Mikulas Patocka <mpatocka at redhat.com>

> ---
>  drivers/md/dm-writecache.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c
> index 5c7009d..3643084 100644
> --- a/drivers/md/dm-writecache.c
> +++ b/drivers/md/dm-writecache.c
> @@ -1628,8 +1628,8 @@ static void writecache_writeback(struct work_struct *work)
>  			if (unlikely(!next_node))
>  				break;
>  			g = container_of(next_node, struct wc_entry, rb_node);
> -			if (read_original_sector(wc, g) ==
> -			    read_original_sector(wc, f)) {
> +			if (unlikely(read_original_sector(wc, g) ==
> +			    read_original_sector(wc, f))) {
>  				f = g;
>  				continue;
>  			}
> -- 
> 1.8.3.1
> 
> 




More information about the dm-devel mailing list