Re: [PATCH 10/15] mm/swap: break the loop if matching device is found

From: Andrew Morton
Date: Mon May 09 2022 - 17:16:12 EST


On Mon, 9 May 2022 21:14:11 +0800 Miaohe Lin <linmiaohe@xxxxxxxxxx> wrote:

> We can break the loop if matching device is found to save some possible
> cpu cycles because there should be only one matching device and there is
> no need to continue if the matching one is already found.
>
> ...
>
> --- a/mm/swapfile.c
> +++ b/mm/swapfile.c
> @@ -1692,6 +1692,8 @@ int swap_type_of(dev_t device, sector_t offset)
> spin_unlock(&swap_lock);
> return type;
> }
> +
> + break;
> }
> }
> spin_unlock(&swap_lock);

Are you sure? If we have two S_ISREG swapfiles on the same device,
don't they have the same sis->bdev?

If not, why bother passing `offset' into this function at all?