lkml.org 
[lkml]   [2005]   [Jan]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: vfat unlink latency 54.6ms for 128MB files
On Tue, Jan 11, 2005 at 03:38:32AM +0900, OGAWA Hirofumi wrote:
> Sami Farin <7atbggg02@sneakemail.com> writes:
>
> > Just wondering, when I remove a 128MB file on vfat partition
> > (usb-storage, memcard reader), it causes 54.6ms latency
> > in rtc_latencytest... latency seems to increase linearly
> > as the filesize grows. I calculated 1s would be reached with
> > 2344MB file but I didn't bother trying that yet.
> > Are there any possible fixes for fat fs so
> > that it doesn't disable interrupts for that long a time?
>
> The fatfs itself doesn't disable any interrupt. I guess the thing
> depending on file size is the fat_free().
>
> So, the following patch may change the behavior...
> --
> OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
>
> diff -up linux-2.6.10/fs/fat/cache.c.orig linux-2.6.10/fs/fat/cache.c
> --- linux-2.6.10/fs/fat/cache.c.orig 2004-12-25 06:35:24.000000000 +0900
> +++ linux-2.6.10/fs/fat/cache.c 2005-01-11 03:34:54.000000000 +0900
> @@ -491,6 +491,8 @@ int fat_free(struct inode *inode, int sk
> if (MSDOS_SB(sb)->free_clusters != -1)
> MSDOS_SB(sb)->free_clusters++;
> inode->i_blocks -= MSDOS_SB(sb)->cluster_size >> 9;
> +
> + cond_resched();
> } while (nr != FAT_ENT_EOF);
> fat_clusters_flush(sb);
> nr = 0;

Oh yeah, now max latency is around 1.5ms.
Thanks for the patch.

--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:09    [W:0.042 / U:0.540 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site