Messages in this thread | | | Subject | Re: [PATCH 10/15] mm/swap: break the loop if matching device is found | From | Miaohe Lin <> | Date | Tue, 10 May 2022 10:10:47 +0800 |
| |
On 2022/5/10 5:16, Andrew Morton wrote: > On Mon, 9 May 2022 21:14:11 +0800 Miaohe Lin <linmiaohe@huawei.com> 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?
Oh, I missed this use case. Sorry about it! :(
> > If not, why bother passing `offset' into this function at all?
Yes, you're right. 'offset' indicates the swap header location. Will drop this patch.
Thanks!
> . >
| |