Re: [PATCH] fs/fat: add cond_resched to fat_count_free_clusters
Khazhismel Kumykov writes: > On non-preempt kernels this loop can take a long time (more than 50 > ticks) processing through entries. > > Signed-off-by: Khazhismel Kumykov > --- > fs/fat/fatent.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/fs/fat/fatent.c b/fs/fat/fatent.c > index defc2168de91..f58c0cacc531 100644 > --- a/fs/fat/fatent.c > +++ b/fs/fat/fatent.c > @@ -682,6 +682,7 @@ int fat_count_free_clusters(struct super_block *sb) > if (ops->ent_get() == FAT_ENT_FREE) > free++; > } while (fat_ent_next(sbi, )); > + cond_resched(); > } > sbi->free_clusters = free; > sbi->free_clus_valid = 1; Acked-by: OGAWA Hirofumi Thanks, looks good. -- OGAWA Hirofumi
Re: [PATCH] fs/fat: add cond_resched to fat_count_free_clusters
Khazhismel Kumykov writes: > On non-preempt kernels this loop can take a long time (more than 50 > ticks) processing through entries. > > Signed-off-by: Khazhismel Kumykov > --- > fs/fat/fatent.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/fs/fat/fatent.c b/fs/fat/fatent.c > index defc2168de91..f58c0cacc531 100644 > --- a/fs/fat/fatent.c > +++ b/fs/fat/fatent.c > @@ -682,6 +682,7 @@ int fat_count_free_clusters(struct super_block *sb) > if (ops->ent_get() == FAT_ENT_FREE) > free++; > } while (fat_ent_next(sbi, )); > + cond_resched(); > } > sbi->free_clusters = free; > sbi->free_clus_valid = 1; Acked-by: OGAWA Hirofumi Thanks, looks good. -- OGAWA Hirofumi
[PATCH] fs/fat: add cond_resched to fat_count_free_clusters
On non-preempt kernels this loop can take a long time (more than 50 ticks) processing through entries. Signed-off-by: Khazhismel Kumykov --- fs/fat/fatent.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/fat/fatent.c b/fs/fat/fatent.c index defc2168de91..f58c0cacc531 100644 --- a/fs/fat/fatent.c +++ b/fs/fat/fatent.c @@ -682,6 +682,7 @@ int fat_count_free_clusters(struct super_block *sb) if (ops->ent_get() == FAT_ENT_FREE) free++; } while (fat_ent_next(sbi, )); + cond_resched(); } sbi->free_clusters = free; sbi->free_clus_valid = 1; -- 2.19.0.605.g01d371f741-goog
[PATCH] fs/fat: add cond_resched to fat_count_free_clusters
On non-preempt kernels this loop can take a long time (more than 50 ticks) processing through entries. Signed-off-by: Khazhismel Kumykov --- fs/fat/fatent.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/fat/fatent.c b/fs/fat/fatent.c index defc2168de91..f58c0cacc531 100644 --- a/fs/fat/fatent.c +++ b/fs/fat/fatent.c @@ -682,6 +682,7 @@ int fat_count_free_clusters(struct super_block *sb) if (ops->ent_get() == FAT_ENT_FREE) free++; } while (fat_ent_next(sbi, )); + cond_resched(); } sbi->free_clusters = free; sbi->free_clus_valid = 1; -- 2.19.0.605.g01d371f741-goog