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

dirty buffers not being flushed [was Re: Performance problem with mysql on a 3ware 1+0 raid array]



> On Friday May 2, yusufg outblaze com wrote:
> > Neil, Thanks for the info but I am kinda confused as to why the sudden
> > writeout occurs at 4 minutes if the default ext3 settings is to flush
> > the journal every 5 seconds. Do you know what the correlation between
> > these times would be. 
> 
> I'm not sure.
> There is a bug in some kernels where the time stamp of some blocks is
> wrong, so old data doesn't get flushed out by bdflush when it should.
> This can mean that data older than the bdflush interval stays in
> memory until it is forced out by the journal being full.
> 
> Maybe your average data rate fills the journal in about 4 minutes, and
> the other bug is interfering with the regular bdflush writeout of data
> blocks.
> 
> What kernel are you running?  Are you using any ext3 patches on top of
> it?

Neil, I think the bug you are referring to is fixed by akpm's
introduction of jbd_refile_buffer in fs/jbd/transaction.c. Looking at
the source for Redhat's kernel, I see that that is only fixed in
the current rawhide kernel and as such all RH kernels from 7.3 till RH 9
would have this bug where buffers hang around longer than the bdflush
kernel and then cause a write storm when the journal is full

This seems to hurt busy servers a lot

Maybe Stephen can comment on this more. I'll try to file a bugzilla
report in case this helps to get an errata kernel released






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