Messages in this thread | | | Date | Mon, 10 Jan 2005 21:39:57 +0200 | From | Sami Farin <> | Subject | Re: 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/
| |