Hi, I have a large journal of 400MB (the max for 4k blocks), and I'd like to be able to check how much of it is being used. If it's not being used that much, I'd like to know if the writes *from* the journal to the rest of the disk could be delayed until a certain percentage of the journal has been used. It would be nice to be able to get more contiguous writes to the journal for bursty types of loads... Mike
Hi, On Fri, Nov 02, 2001 at 06:36:00PM -0800, Mike Fedyk wrote:> I have a large journal of 400MB (the max for 4k blocks), and I'd like to be > able to check how much of it is being used.Hmm. At the moment you can't, but it wouldn't be hard to add a debugging log message when we commit blocks to tell you that. We already emit information about the sequence numbers in use in the journal at the end of commit, and adding output for blocks in use would be easy.> If it's not being used that much, I'd like to know if the writes *from* the > journal to the rest of the disk could be delayed until a certain percentage > of the journal has been used.They already are to a certain extent, but eventually the normal kupdated() writeback will get them. Playing with the numbers there to defer that writeback for longer is on the todo list. Of course, the longer you wait, the longer the latency for journal activity becomes when you do eventually wrap the journal and have to wait for all the writebehind to complete.> It would be nice to be able to get more contiguous writes to the journal for > bursty types of loads...It should already be pretty contiguous. Cheers, Stephen
On Nov 02, 2001 18:36 -0800, Mike Fedyk wrote:> I have a large journal of 400MB (the max for 4k blocks), and I'd like to be > able to check how much of it is being used.I don't think it is currently possible to do this.> If it's not being used that much, I'd like to know if the writes *from* the > journal to the rest of the disk could be delayed until a certain percentage > of the journal has been used. > > It would be nice to be able to get more contiguous writes to the journal for > bursty types of loads...You can make the journal flush interval longer, so that it will flush only when the journal is getting full, rather than after a fixed amount of time. This may not be ideal either, because if you are forced to flush because the journal is getting full it will likely be just at a time when you want to write into it. I suppose if you find that the large journal is not even close to filling up you could increase the flush interval until it fills to about 1/5 full under normal usage. It will flush itself when it reaches 1/4 full, so this gives you a bit of a window to flush an idle journal. Cheers, Andreas -- Andreas Dilger http://sourceforge.net/projects/ext2resize/ http://www-mddsp.enel.ucalgary.ca/People/adilger/
On Sat, 2001-11-03 at 02:36, Mike Fedyk wrote:> I have a large journal of 400MB (the max for 4k blocks), and I'd like to be > able to check how much of it is being used.It would be useful to be able to instrument this stuff in some meaningful way (high tide point, average %age full maybe), especially when people are starting to look at external NVRAM journals which are pretty expensive per megabyte -- getting a decent handle on how big a journal needs to be (for that workload) would be useful. Nigel.