[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Journal Usage



On Wed, Nov 14, 2001 at 12:50:17PM +0000, Stephen C. Tweedie wrote:
> Hi,
> 
> On Tue, Nov 13, 2001 at 02:52:35PM -0800, Mike Fedyk wrote:
> 
> > > > I'd propose something more gradual besides "oops, the journal is full, let's
> > > > empty it now..."
> > > 
> > > The advantage to leaving it as long as possible is that you minimise
> > > the amount that needs to be flushed.  If you flush too soon you risk
> > > doing quite a bit of unnecessary IO.
>  
> > Actually, it looks like this will be needed anyway to deal with large
> > ammounts of IO to the journal.  There already seems to be a patch that does
> > this out there somewhere a while back (someone mentioned here or on
> > ext2-devel).
> 
> Will it help?  All you end up doing is increasing the finite amount of
> buffering before you stall.  If you consider total fs throughput, it
> will _always_ be bottlenecked eventually on the journal.  
> 
> Doing journal IO in parallel with the checkpoint will just increase
> thrashing, so doing checkpoint earlier just stalls the journal
> earlier.
>

Yep, true.

> > Low percentage used (20%<)?  Don't write out if there are transactions writing
> > aggressively to the journal. 
> 
> To some extent this is beyond our control: we allow the VM to choose
> when to write back data which is already journaled.
>
> > One question.  If I write something that goes completely into the journal
> > (large 400MB journal, data=journal) the write is still in memory.  If there
> > is memory pressure, that'll cause the completed transactions to be written
> > out to the FS to free some memory...  Does that mean that I need 400MB of
> > memory that stays cached to use my entire 400MB journal?
> 
> Yes.
>

Ok, thanks.  This type of information should be in the documentation.

....  Took a look at the documentation in Documentation/filesystems/ext2.txt

Here's a patch (for 2.4.15-pre4):
--- Documentation/filesystems/ext2.txt.orig	Wed Nov 14 11:41:45 2001
+++ Documentation/filesystems/ext2.txt	Wed Nov 14 11:50:04 2001
@@ -337,8 +337,11 @@
 the blocks in that transaction so they are discarded (which means any
 filesystem changes they represent are also lost).
 
-The ext3 code is currently (Apr 2001) available for 2.2 kernels only,
-and not yet available for 2.4 kernels.
+The ext3 code has been integrated into the 2.4 kernel as of version
+2.4.15-pre3.  There are patches available for earlier 2.4 kernels, but you
+should use the latest stable kernel when possible.  Ext3 is also available
+for 2.2 kernels as a patch, which has been stable for over a year (November
+2001).
 
 References
 ==========
@@ -346,7 +349,8 @@
 The kernel source	file:/usr/src/linux/fs/ext2/
 e2fsprogs (e2fsck)	http://e2fsprogs.sourceforge.net/
 Design & Implementation	http://e2fsprogs.sourceforge.net/ext2intro.html
-Journaling (ext3)	ftp://ftp.uk.linux.org/pub/linux/sct/fs/jfs/
+Journaling (ext3-2.2)	ftp://ftp.uk.linux.org/pub/linux/sct/fs/jfs/
+Journaling (ext3-2.4)	http://www.uow.edu.au/~andrewm/linux/ext3/
 Hashed Directories	http://kernelnewbies.org/~phillips/htree/
 Filesystem Resizing	http://ext2resize.sourceforge.net/
 Extended Attributes &





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]