Messages in this thread | | | Date | Sat, 3 Sep 2022 20:35:09 +0300 | Subject | Re: perf top -p broken for multithreaded processes since 5.19 | From | Adrian Hunter <> |
| |
On 3/09/22 17:08, Arnaldo Carvalho de Melo wrote: > Em Sat, Sep 03, 2022 at 10:14:25AM +0300, Adrian Hunter escreveu: >> On 2/09/22 22:17, Arnaldo Carvalho de Melo wrote: >>> Em Fri, Sep 02, 2022 at 05:50:22PM +0300, Adrian Hunter escreveu: >>>> On 2/09/22 17:46, Tomáš Trnka wrote: >>>>> Hello, >>>>> >>>>> A bug in perf v5.19 and newer completely breaks monitoring multithreaded >>>>> processes using "perf top -p". The tool fails to start with "Failed to mmap >>>>> with 22 (Invalid argument)". It still seems to work fine on single-threaded >>>>> processes. "perf record" is also unaffected. >>>> >>>> It has been reported here: >>>> >>>> https://bugzilla.kernel.org/show_bug.cgi?id=216441 >>> >>> If I do: >>> >>> ⬢[acme@toolbox perf-urgent]$ git log -2 >>> commit dfeb0bc60782471c293938e71b1a1117cfac2cb3 (HEAD -> perf/urgent) >>> Author: Arnaldo Carvalho de Melo <acme@redhat.com> >>> Date: Fri Sep 2 16:15:39 2022 -0300 >>> >>> Revert "libperf evlist: Check nr_mmaps is correct" >>> >>> This reverts commit 4ce47d842d4c16c07b135b8a7975b8f0672bcc0e. >>> >>> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> >>> >>> commit 78cd283f6b8ab701cb35eafd5af8140560a88f16 >>> Author: Arnaldo Carvalho de Melo <acme@redhat.com> >>> Date: Fri Sep 2 16:13:41 2022 -0300 >>> >>> Revert "libperf evlist: Allow mixing per-thread and per-cpu mmaps" >>> >>> This reverts commit ae4f8ae16a07896403c90305d4b9be27f657c1fc. >>> >>> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> >>> ⬢[acme@toolbox perf-urgent]$ >>> >>> It works again, Tomáš can you please try doing this to see if this works >>> for you? >>> >> >> This is the fix I have so far. I would like to test it some more though. > > Ok, so I'll leave it for the next pull req, possibly after Linux > Plumbers. > > What do you think about reverting those two patches for v6.0 and then > add this for v6.1?
That would break sideband collection with selected CPUs, so I would prefer to avoid that.
The fix is a effectively a partial revert of "libperf evlist: Allow mixing per-thread and per-cpu mmaps" anyway. I just need a few days to do more testing.
| |