svn commit: r253974 - head/sys/ufs/ffs

Mitya trtrmitya at gmail.com
Tue Aug 6 14:22:11 UTC 2013


Does it fix a problem on recent 9-STABLE that process writing to almost-full partition eats 100% CPU and writes 1MB/sec?
It has SU enabled but no SU+J.

I observed that today after upgrading to 9.2-BETA2 from ~1 year old 9-STABLE.

Thanks.


On 06.08.2013, at 2:02, Kirk McKusick <mckusick at FreeBSD.org> wrote:

> Author: mckusick
> Date: Mon Aug  5 22:02:45 2013
> New Revision: 253974
> URL: http://svnweb.freebsd.org/changeset/base/253974
> 
> Log:
>  With the addition of journalled soft updates, the "newblk" structures
>  persist much longer than previously. Historically we had at most 100
>  entries; now the count may reach a million. With the increased count
>  we spent far too much time looking them up in the grossly undersized
>  newblk hash table. Configure the newblk hash table to accurately reflect
>  the number of entries that it must index.
> 
>  Reviewed by: kib
>  Tested by:   Peter Holm
>  MFC after:   2 weeks
> 
> Modified:
>  head/sys/ufs/ffs/ffs_softdep.c
> 
> Modified: head/sys/ufs/ffs/ffs_softdep.c
> ==============================================================================
> --- head/sys/ufs/ffs/ffs_softdep.c	Mon Aug  5 22:01:16 2013	(r253973)
> +++ head/sys/ufs/ffs/ffs_softdep.c	Mon Aug  5 22:02:45 2013	(r253974)
> @@ -2393,7 +2393,7 @@ softdep_initialize()
> 	max_softdeps = desiredvnodes * 4;
> 	pagedep_hashtbl = hashinit(desiredvnodes / 5, M_PAGEDEP, &pagedep_hash);
> 	inodedep_hashtbl = hashinit(desiredvnodes, M_INODEDEP, &inodedep_hash);
> -	newblk_hashtbl = hashinit(desiredvnodes / 5,  M_NEWBLK, &newblk_hash);
> +	newblk_hashtbl = hashinit(max_softdeps / 2,  M_NEWBLK, &newblk_hash);
> 	bmsafemap_hashtbl = hashinit(1024, M_BMSAFEMAP, &bmsafemap_hash);
> 	i = 1 << (ffs(desiredvnodes / 10) - 1);
> 	indir_hashtbl = malloc(i * sizeof(indir_hashtbl[0]), M_FREEWORK,
> _______________________________________________
> svn-src-all at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/svn-src-all
> To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"



More information about the svn-src-all mailing list