And I did get some interesting results. :)
I found a great test case, rebuilding database after corruption. :)
It consists of recreation of all tablespaces, initializing data
dictionary and finally importing useful data. The whole process takes
between 11 and 14 minutes, depending on the type of FS. It's write
intensive workload and induces some paging even with 768 MB RAM I
have. Did I forgot to say that all this is on a SMP machine, dual
PIII? It might matter.
And you know what, corruption doesn't depend on the type of FS. It
happens on both ext2 & ext3. It's just more likely to see it when
running on ext3.
Anyway, I managed to pinpoint the problem, it's paging that's the
culprit. When I turned off my swap partition (swapoff -a), rebuild
went correctly. So I was right, swapping will get you in
trouble.
I also tried to push the machine harder into swap, with artificial
load (typical malloc() in the loop), and it locked up hard after some
time (minute or two).
And during one of the tests on ext3, when machine actually survived,
just after exiting X I had a welcome message waiting, saying something
like this:
Assertion failure: journal_dirty_metadata() at transaction.c:1146
"jh->b_frozen_data == 0"
Don't know if it's related, but could be useful to someone.
That's it. I'm back to 2.4.19-pre8 for the time being, but if anybody
needs more testing...
Regards,
-- Zlatko - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/