Re: [PATCH 4/4] block: Optionally snapshot page contents to providestable pages during write

From: Andy Lutomirski
Date: Fri Dec 14 2012 - 21:07:01 EST


On Fri, Dec 14, 2012 at 6:01 PM, Darrick J. Wong
<darrick.wong@xxxxxxxxxx> wrote:
> On Fri, Dec 14, 2012 at 05:12:37PM -0800, Andy Lutomirski wrote:
>> It survived. I hit at least one mm bug, but I really don't think it's
>> a problem with your code. (I have not tried this workload on Linux
>> 3.7 at all before. It normally runs on 3.5.) The box in question is
>
> Would you mind sending along the bug report so I can make sure?

http://marc.info/?l=linux-mm&m=135553342803210&w=2

>
>> ext4 on LVM on dm-crypt on (hardware) RAID 5 on hpsa, which should not
>> need stable pages.
>>
>> The majority of the data written (that wasn't unlinked before it was
>> dropped from cache) was checksummed when written and verified later.
>> Most of this data was written using mmap. This workload hammers the
>> vm concurrently in several threads, and it frequently stalls when
>> stable pages are enabled, so it's probably exercising the code
>> decently well.
>
> Did you observe any change in performance?

No. But I'm comparing to 3.5 + butchery to remove stable pages. With
stable pages on, this workload performs terribly. (It's a soft
real-time thing, as you can possibly guess from my domain name, and
various latency monitoring things go nuts when stable pages are
active.)

Actually, performance appears to be improved, probably due to
https://lkml.org/lkml/2012/12/14/14, which I tested concurrently.

>
>> Feel free to add Tested-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
>
> Will do! Thanks for the testing!

My pleasure. When these changes go in to an upstream kernel, they'll
represent a significant reduction in how much our kernel differs from
kernel.org's :) Thanks for fixing this.

--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/