On Fri, Sep 21, 2012 at 12:11 AM, Andrey Sidorov <qrxd43@xxxxxxxxxxxx> wrote: > > Improve mb_free_blocks speed by clearing bits all at once instead of going > one by one. > Rebuild buddy bitmap by going up only once per range instead of once per > block. > For example, for 60G file commit callback time drops from 2.7s to 5ms. > This is especially good for non-preemptive kernels as there is no > rescheduling during release. I realised that current implementation garbles bb_free, bb_counters and bb_fragments upon double free. I think simplest and the only reliable way to recover is rebuild buddy off bitmap and that's what I did. Tested it with AGGRESSIVE_CHECK defined and mb_check_buddy running at each invocation. I've also injected bit flips into mb_free_blocks to ensure regeneration is successful. -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html