On Wed, 2021-05-12 at 16:54 +0800, Fox Chen wrote: > On Wed, May 12, 2021 at 4:47 PM Fox Chen <foxhlchen@xxxxxxxxx> wrote: > > > > Hi, > > > > I ran it on my benchmark ( > > https://github.com/foxhlchen/sysfs_benchmark). > > > > machine: aws c5 (Intel Xeon with 96 logical cores) > > kernel: v5.12 > > benchmark: create 96 threads and bind them to each core then run > > open+read+close on a sysfs file simultaneously for 1000 times. > > result: > > Without the patchset, an open+read+close operation takes 550-570 > > us, > > perf shows significant time(>40%) spending on mutex_lock. > > After applying it, it takes 410-440 us for that operation and perf > > shows only ~4% time on mutex_lock. > > > > It's weird, I don't see a huge performance boost compared to v2, > > even > > I meant I don't see a huge performance boost here and it's way worse > than v2. > IIRC, for v2 fastest one only takes 40us Thanks Fox, I'll have a look at those reports but this is puzzling. Perhaps the added overhead of the check if an update is needed is taking more than expected and more than just taking the lock and being done with it. Then there's the v2 series ... I'll see if I can dig out your reports on those too. > > > > though there is no mutex problem from the perf report. > > I've put console outputs and perf reports on the attachment for > > your reference. Yep, thanks. Ian