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

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



> > 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

The latest RH errata kernel 2.4.20-13 doesn't have this fix
incorporated. I guess one has to continue to tweak bdflush params or
make regular sync calls to prevent a write storm


Regards, Yusuf




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