RE: [PATCH v3] exfat: speed up iterate/lookup by fixing start point of traversing cluster chain

From: Sungjong Seo
Date: Mon Mar 22 2021 - 01:53:23 EST


> When directory iterate and lookup is called, there's a buggy rewinding of
> start point for traversing cluster chain to the parent directory entry's
> first cluster. This caused repeated cluster chain traversing from the
> first entry of the parent directory that would show worse performance if
> huge amounts of files exist under the parent directory.
> Fix not to rewind, make continue from currently referenced cluster and dir
> entry.
>
> Tested with 50,000 files under single directory / 256GB sdcard, with
> command "time ls -l > /dev/null",
> Before : 0m08.69s real 0m00.27s user 0m05.91s system
> After : 0m07.01s real 0m00.25s user 0m04.34s system
>
> Signed-off-by: Hyeongseok Kim <hyeongseok@xxxxxxxxx>

Looks good.
Thanks for your contribution.

Reviewed-by: Sungjong Seo <sj1557.seo@xxxxxxxxxxx>

> ---
> fs/exfat/dir.c | 19 +++++++++++++------
> fs/exfat/exfat_fs.h | 2 +-
> fs/exfat/namei.c | 9 ++++++++-
> 3 files changed, 22 insertions(+), 8 deletions(-)