> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Jan Kara wrote:
> >   Hi,
> > 
> >   just one note: I've looked to the in scan_bitmap() in bitmap.c. There is:
> >         /* When the bitmap is more than 10% free, anyone can allocate.
> >          * When it's less than 10% free, only files that already use the
> >          * bitmap are allowed. Once we pass 80% full, this restriction
> >          * is lifted.
> >          *
> >          * We do this so that files that grow later still have space
> >          * close to
> >          * their original allocation. This improves locality, and
> >          * presumably
> >          * performance as a result.
> >          *
> >          * This is only an allocation policy and does not make up for
> >          * getting a
> >          * bad hint. Decent hinting must be implemented for this to work
> >          * well.
> >          */
> >         if (TEST_OPTION(skip_busy, s)
> >             && SB_FREE_BLOCKS(s) > SB_BLOCK_COUNT(s) / 20) {
> > 
> >    So the comment suggests we should lift the restriction when we are 80%
> > full but if you see the condition, it checks wherher we are 95% full! I
> > guess that is really asking for trouble and could explain the
> > behaviour...
> >   Mike could you try changing that 20 in the test to 5? IMHO that could
> > fix your problem.
> 
> Shoot. I guess I never sent that mail out last night. I had discovered
> the same thing. The thing is, I don't think it will cause the kind of
> performance problem we're seeing here. Once it sees the 90% check it
> will bail out. Minor slowdown, not anything like we're seeing.
  Hmm, right. You'll only scan that one bitmap the file is in, won't
you? That can still take some time so maybe it's worth trying this fix
anyway.

                                                                Honza
-- 
Jan Kara <[EMAIL PROTECTED]>
SuSE CR Labs

Reply via email to