public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* A JFFS2 optimization related to syslog
@ 2006-04-18 11:09 Ferenc Havasi
  2006-04-18 11:32 ` Jörn Engel
  2006-04-18 11:46 ` Artem B. Bityutskiy
  0 siblings, 2 replies; 9+ messages in thread
From: Ferenc Havasi @ 2006-04-18 11:09 UTC (permalink / raw)
  To: linux-mtd

Dear All,

If JFFS2 is used as root filesystem, syslogd/klogd can cause problems,
because every log line are written out individually, so the log file
will contain a lot of small nodes. Because a log file can be very large
(over 30M in our case) it can cause large memory consuption and can make
the system very slow, especially at opening it after next reboot
(becauseof the large frag-tree). Unforunatelly garbage collecting also
does not help, because none of the nodes is obsocalated.

The small patch below can help a lot. The idea behind it is very simple:
if there is a write request to write out the end of a page (4K) it will
write out the full page, not only the last part of it. The result of it
will be:
- small nodes will be obscolated
- garbage collector will be able to delete them
- after next reboot, when the file is under opening only this "large"
node will be read, the small node will not be parts of the frag tree
(thanks to Artem's improvement)

We think it can be usefull not only for us, and now we don't know about
any drawback.

May we commit it into CVS?

Regards,
Ferenc



diff -Narup Mtd-orig/fs/jffs2/file.c mtd/fs/jffs2/file.c
--- Mtd-orig/fs/jffs2/file.c    2005-11-07 12:14:39.000000000 +0100
+++ mtd/fs/jffs2/file.c    2006-04-11 16:35:15.000000000 +0200
@@ -221,6 +221,9 @@ static int jffs2_commit_write (struct fi
            page up to date, to prevent page_cache_read() from
            trying to re-lock it. */
         SetPageUptodate(pg);
+    } else if (end == PAGE_CACHE_SIZE) {
+        start = 0;
+        aligned_start = 0;
     }
 
     ri = jffs2_alloc_raw_inode();

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2006-05-14  3:22 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-18 11:09 A JFFS2 optimization related to syslog Ferenc Havasi
2006-04-18 11:32 ` Jörn Engel
2006-04-19 11:00   ` David Woodhouse
2006-04-19 12:45     ` David Woodhouse
2006-04-19 12:55       ` Jörn Engel
2006-05-14  3:22         ` David Woodhouse
2006-04-18 11:46 ` Artem B. Bityutskiy
2006-04-18 11:51   ` Artem B. Bityutskiy
2006-04-18 12:05   ` Jörn Engel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox