Re: [PATCH-tip 0/2] locking/rwsem: Rwsem rearchitecture part 2 follow-up patches

From: Waiman Long
Date: Wed Apr 17 2019 - 16:30:41 EST


On 04/17/2019 01:57 AM, Ingo Molnar wrote:
> * Waiman Long <longman@xxxxxxxxxx> wrote:
>
>> On 04/16/2019 01:37 PM, Peter Zijlstra wrote:
>>> On Tue, Apr 16, 2019 at 01:03:10PM -0400, Waiman Long wrote:
>>>> On 04/16/2019 10:17 AM, Peter Zijlstra wrote:
>>>>> On Tue, Apr 16, 2019 at 09:18:50AM -0400, Waiman Long wrote:
>>>>>> On 04/16/2019 09:10 AM, Peter Zijlstra wrote:
>>>>>>> On Mon, Apr 15, 2019 at 04:58:27PM -0400, Waiman Long wrote:
>>>>>>>> This series contain 2 follow-up patches to alleviate the performance
>>>>>>>> regression found in the page_fault1 test of the will-it-scale benchmark.
>>>>>>>> This does not recover all the lost performance, but reclaim a sizeable
>>>>>>>> portion of it.
>>>>>>>>
>>>>>>>> The regression was found on an Intel system. I have run the test on
>>>>>>>> an AMD system. The regression wasn't seen there. There are only minor
>>>>>>>> variations in performance. Perhaps the page fault path is quite different
>>>>>>>> between Intel and AMD systems.
>>>>>>> Can you please just fold this back into the appropriate patches? Trying
>>>>>>> to review all the back and forth is painful.
>>>>>> I will send out an update part 2 patch with patch 1 of this series
>>>>>> merged into the writer spinning on reader patch. Patch 2 of this series
>>>>>> will be a standalone one.
>>>>> Hmm, in that case I can fold it back too. So hold off on sending it.
>>>>>
>>>>> I thought #2 was a fixup for an earlier patch as well.
>>>> #2 is a performance fix.
>>> Of this patch?
>>>
>>> 206038 N T Apr 13 Waiman Long (7.5K) ââ>[PATCH v4 11/16] locking/rwsem: Enable readers spinning on writer
>>>
>>> Fixes should have a Fixes: tag. And if the patch it fixes isn't a commit
>>> yet, the patch should be refreshed to not need a fix.
>> The original patch isn't wrong. This patch just introduce another idea
>> to make it better. That is why I would still like to separate it as a
>> distinct patch.
> Yeah, I think it's better to have it in two separate patches. Basically
> patch #1 has a downside for certain workloads, which the heuristics in
> patch #2 improve. That's the only connection between the two patches.
>
> If we find some other worst-case workload then the split of the commits
> would allow more finegrained examination of the effects of these
> performance tunings.
>
> Thanks,
>
> Ingo

As the part2 patches are still being actively modified, it doesn't look
like it will make the next merge window. I am fine with postponing it to
5.3. However, I would like to request the merging of just patch 1 of the
part 2 patchset. It fixes a locking selftest problem that was introduced
in the part 1 patches.

Thanks,
Longman