On Fri, 2006-07-07 at 19:49 +0200, 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.I've recompiled my kernel with this suggested change, and so far I have surpassed (just barely) the free space "trigger" point that occurred twice yesterday. I'll keep the recordings going so I can give you guys more conclusive results in a couple hours. -- Mike Benoit <[EMAIL PROTECTED]>
signature.asc
Description: This is a digitally signed message part
