From: Charles Manning Date: Wed, 18 Aug 2010 00:47:29 +0000 (+1200) Subject: yaffs Add gc block counter X-Git-Tag: pre-name-change~17^2~5 X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=commitdiff_plain;h=b76bff5557ccc92df456fd7b1cd13c8b061cda07;hp=dadd2bbe7500ebd8c99868992483aaf7e59d55be yaffs Add gc block counter Extra stats for counting how many blocks get selected for gc. Signed-off-by: Charles Manning --- diff --git a/yaffs_fs.c b/yaffs_fs.c index 7b55f18..a372ddf 100644 --- a/yaffs_fs.c +++ b/yaffs_fs.c @@ -3194,6 +3194,7 @@ static char *yaffs_dump_dev_part1(char *buf, yaffs_Device * dev) buf += sprintf(buf, "allGCs............. %u\n", dev->allGCs); buf += sprintf(buf, "passiveGCs......... %u\n", dev->passiveGCs); buf += sprintf(buf, "oldestDirtyGCs..... %u\n", dev->oldestDirtyGCs); + buf += sprintf(buf, "nGCBlocks.......... %u\n", dev->nGCBlocks); buf += sprintf(buf, "backgroundGCs...... %u\n", dev->backgroundGCs); buf += sprintf(buf, "nRetriedWrites..... %u\n", dev->nRetriedWrites); buf += sprintf(buf, "nRetireBlocks...... %u\n", dev->nRetiredBlocks); diff --git a/yaffs_guts.c b/yaffs_guts.c index a1782e7..389a57c 100644 --- a/yaffs_guts.c +++ b/yaffs_guts.c @@ -2500,8 +2500,10 @@ static unsigned yaffs_FindBlockForGarbageCollection(yaffs_Device *dev, dev->param.nChunksPerBlock - dev->gcPagesInUse, prioritised)); + dev->nGCBlocks++; if(background) dev->backgroundGCs++; + dev->gcDirtiest = 0; dev->gcPagesInUse = 0; dev->gcNotDone = 0; diff --git a/yaffs_guts.h b/yaffs_guts.h index 6d4ae46..f9b5ac1 100644 --- a/yaffs_guts.h +++ b/yaffs_guts.h @@ -759,6 +759,7 @@ struct yaffs_DeviceStruct { __u32 allGCs; __u32 passiveGCs; __u32 oldestDirtyGCs; + __u32 nGCBlocks; __u32 backgroundGCs; __u32 nRetriedWrites; __u32 nRetiredBlocks;