Re: [PATCH v3] pipe: use __pipe_{lock,unlock} instead of spinlock

From: Hongchen Zhang
Date: Fri Jan 06 2023 - 22:31:52 EST


Hi Sedat,

On 2023/1/7 am 4:33, Sedat Dilek wrote:
On Fri, Jan 6, 2023 at 8:40 PM Luis Chamberlain <mcgrof@xxxxxxxxxx> wrote:

On Fri, Jan 06, 2023 at 05:48:44PM +0800, Hongchen Zhang wrote:
Use spinlock in pipe_read/write cost too much time,IMO
pipe->{head,tail} can be protected by __pipe_{lock,unlock}.
On the other hand, we can use __pipe_{lock,unlock} to protect
the pipe->{head,tail} in pipe_resize_ring and
post_one_notification.

I tested this patch using UnixBench's pipe test case on a x86_64
machine,and get the following data:
1) before this patch
System Benchmarks Partial Index BASELINE RESULT INDEX
Pipe Throughput 12440.0 493023.3 396.3
========
System Benchmarks Index Score (Partial Only) 396.3

2) after this patch
System Benchmarks Partial Index BASELINE RESULT INDEX
Pipe Throughput 12440.0 507551.4 408.0
========
System Benchmarks Index Score (Partial Only) 408.0

so we get ~3% speedup.

Signed-off-by: Hongchen Zhang <zhanghongchen@xxxxxxxxxxx>
---

After the above "---" line you should have the changlog descrption.
For instance:

v3:
- fixes bleh blah blah
v2:
- fixes 0-day report by ... etc..
- fixes spelling or whatever

I cannot decipher what you did here differently, not do I want to go
looking and diff'ing. So you are making the life of reviewer harder.


Happy new 2023.

Positive wording... You can make reviewers' life easy when...
(encourage people).
Life is easy, people live hard.

+1 Adding ChangeLog of patch history

Cannot say...
Might be good to add the link to Linus test-case + your results in the
commit message as well?

...
Link: https://git.kernel.org/linus/0ddad21d3e99 (test-case of Linus
suggested-by Andrew)
...
Signed-off-by: Hongchen Zhang <zhanghongchen@xxxxxxxxxxx>
...

Thanks.

Best regards,
-Sedat-


OK, I have send a new v3 patch with these messages in commit message, Please help to check and review again.

Best Regards,
Hongchen Zhang