* Linux Foundation accepted for Google Summer-of-Code 2021
@ 2021-03-10 16:32 Ian Rogers
2021-03-13 16:25 ` Milian Wolff
0 siblings, 1 reply; 4+ messages in thread
From: Ian Rogers @ 2021-03-10 16:32 UTC (permalink / raw)
To: linux-perf-users; +Cc: Aveek Basu, Till Kamppeter
Hi,
I'm happy to share that the Linux Foundation has been accepted into
the Google Summer-of-Code 2021 and we are looking for students
interested in profiling, perf, etc. to apply to do projects.
The main details on the Linux foundation application are here:
https://wiki.linuxfoundation.org/gsoc/google-summer-code-2021
Details on potential projects with perf here:
https://wiki.linuxfoundation.org/gsoc/2021-gsoc-perf
Please help to share, especially to students.
Additional project ideas, mentors and help is also appreciated.
Thanks,
Ian
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Linux Foundation accepted for Google Summer-of-Code 2021
2021-03-10 16:32 Linux Foundation accepted for Google Summer-of-Code 2021 Ian Rogers
@ 2021-03-13 16:25 ` Milian Wolff
2021-03-14 17:29 ` Ian Rogers
0 siblings, 1 reply; 4+ messages in thread
From: Milian Wolff @ 2021-03-13 16:25 UTC (permalink / raw)
To: linux-perf-users, Ian Rogers; +Cc: Aveek Basu, Till Kamppeter
[-- Attachment #1: Type: text/plain, Size: 1495 bytes --]
On Mittwoch, 10. März 2021 17:32:25 CET Ian Rogers wrote:
> Hi,
>
> I'm happy to share that the Linux Foundation has been accepted into
> the Google Summer-of-Code 2021 and we are looking for students
> interested in profiling, perf, etc. to apply to do projects.
>
> The main details on the Linux foundation application are here:
> https://wiki.linuxfoundation.org/gsoc/google-summer-code-2021
>
> Details on potential projects with perf here:
> https://wiki.linuxfoundation.org/gsoc/2021-gsoc-perf
>
> Please help to share, especially to students.
>
> Additional project ideas, mentors and help is also appreciated.
As the maintainer of hotspot [1], I'd be happy to discuss how we could reuse
the prior art in providing a GUI around `perf report` and more. Considering
that hotspot is already a pretty successfull project, I wonder why we have to
reinvent the wheel to provide a gtk-based GUI - is it really just the
framework choice - Qt vs. GTK? Or are there other reasons?
[1]: https://github.com/KDAB/hotspot/
Generally, I would love to see a proper library provided by perf that could be
used to do the `perf report` and/or `perf annotate` data processing.
As I said - I'm happy to discuss this topic in more detail with anyone
interested in this topic.
Cheers
--
Milian Wolff | milian.wolff@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH, a KDAB Group company
Tel: +49-30-521325470
KDAB - The Qt, C++ and OpenGL Experts
[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 5272 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Linux Foundation accepted for Google Summer-of-Code 2021
2021-03-13 16:25 ` Milian Wolff
@ 2021-03-14 17:29 ` Ian Rogers
2021-03-15 13:00 ` Milian Wolff
0 siblings, 1 reply; 4+ messages in thread
From: Ian Rogers @ 2021-03-14 17:29 UTC (permalink / raw)
To: Milian Wolff; +Cc: linux-perf-users, Aveek Basu, Till Kamppeter
Hi Milian,
Thanks for the email and hotspot is a very interesting project!
On Sat, Mar 13, 2021 at 8:25 AM Milian Wolff <milian.wolff@kdab.com> wrote:
>
> On Mittwoch, 10. März 2021 17:32:25 CET Ian Rogers wrote:
> > Hi,
> >
> > I'm happy to share that the Linux Foundation has been accepted into
> > the Google Summer-of-Code 2021 and we are looking for students
> > interested in profiling, perf, etc. to apply to do projects.
> >
> > The main details on the Linux foundation application are here:
> > https://wiki.linuxfoundation.org/gsoc/google-summer-code-2021
> >
> > Details on potential projects with perf here:
> > https://wiki.linuxfoundation.org/gsoc/2021-gsoc-perf
> >
> > Please help to share, especially to students.
> >
> > Additional project ideas, mentors and help is also appreciated.
>
> As the maintainer of hotspot [1], I'd be happy to discuss how we could reuse
> the prior art in providing a GUI around `perf report` and more. Considering
> that hotspot is already a pretty successfull project, I wonder why we have to
> reinvent the wheel to provide a gtk-based GUI - is it really just the
> framework choice - Qt vs. GTK? Or are there other reasons?
There are a few issues:
- there's an observation that the gtk support in perf was bitrotting.
Having a student project in this area would hopefully improve this
situation.
- commands like perf report even in text mode are slow, single
threaded, etc. Again, an area where a student project can help out.
- wrt UI there is also pprof (https://github.com/google/pprof) which
I think a web UI is interesting beyond just Qt, GTK, etc. Having the
code be within the perf tool means that testing can be automated, it
is easy for shared contributions, the kernel and user APIs aren't
separated by projects..
> [1]: https://github.com/KDAB/hotspot/
>
> Generally, I would love to see a proper library provided by perf that could be
> used to do the `perf report` and/or `perf annotate` data processing.
There is a library interface developing:
https://github.com/torvalds/linux/tree/master/tools/lib/perf
but it is mainly focussed on say 'perf record' than 'perf report'.
Perhaps you could mentor a project to refactor the report APIs, which
could be integrated with hotspot? If so, we can update the GSoC wiki.
It'd be nice to refactor things like event parsing into a library, in
part to make unit and fuzz testing easier. The event sorting is a big
source of perf's slowness and something that should be reasonable to
parallelize, an issue here is a lack of a thread pool and other
abstractions. These dependencies across projects can be something that
is tricky.
> As I said - I'm happy to discuss this topic in more detail with anyone
> interested in this topic.
I'm interested! There is an IRC channel #perf see www.oftc.net, but
I'd suggest the mailing list is better for discussion. I know that BPF
is doing regular office hours. I could imagine that similar for perf
would be useful, but I also know that maintainers are busy folks.
Thanks!
Ian
> Cheers
>
> --
> Milian Wolff | milian.wolff@kdab.com | Senior Software Engineer
> KDAB (Deutschland) GmbH, a KDAB Group company
> Tel: +49-30-521325470
> KDAB - The Qt, C++ and OpenGL Experts
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Linux Foundation accepted for Google Summer-of-Code 2021
2021-03-14 17:29 ` Ian Rogers
@ 2021-03-15 13:00 ` Milian Wolff
0 siblings, 0 replies; 4+ messages in thread
From: Milian Wolff @ 2021-03-15 13:00 UTC (permalink / raw)
To: Ian Rogers; +Cc: linux-perf-users, Aveek Basu, Till Kamppeter
[-- Attachment #1: Type: text/plain, Size: 6122 bytes --]
On Sonntag, 14. März 2021 18:29:09 CET Ian Rogers wrote:
> Hi Milian,
>
> Thanks for the email and hotspot is a very interesting project!
>
> On Sat, Mar 13, 2021 at 8:25 AM Milian Wolff <milian.wolff@kdab.com> wrote:
> > On Mittwoch, 10. März 2021 17:32:25 CET Ian Rogers wrote:
> > > Hi,
> > >
> > > I'm happy to share that the Linux Foundation has been accepted into
> > > the Google Summer-of-Code 2021 and we are looking for students
> > > interested in profiling, perf, etc. to apply to do projects.
> > >
> > > The main details on the Linux foundation application are here:
> > > https://wiki.linuxfoundation.org/gsoc/google-summer-code-2021
> > >
> > > Details on potential projects with perf here:
> > > https://wiki.linuxfoundation.org/gsoc/2021-gsoc-perf
> > >
> > > Please help to share, especially to students.
> > >
> > > Additional project ideas, mentors and help is also appreciated.
> >
> > As the maintainer of hotspot [1], I'd be happy to discuss how we could
> > reuse the prior art in providing a GUI around `perf report` and more.
> > Considering that hotspot is already a pretty successfull project, I
> > wonder why we have to reinvent the wheel to provide a gtk-based GUI - is
> > it really just the framework choice - Qt vs. GTK? Or are there other
> > reasons?
>
> There are a few issues:
> - there's an observation that the gtk support in perf was bitrotting.
> Having a student project in this area would hopefully improve this
> situation.
Agreed.
> - commands like perf report even in text mode are slow, single
> threaded, etc. Again, an area where a student project can help out.
Again, agreed. That is actually something that I've spent a considerable
amount of time on. So far, I mostly concentrated on better caching - something
which has had very significant effects on the performance of hotspot for some
perf.data workloads. See e.g.: https://www.kdab.com/hotspot-version-1-3-0-released/
Threading wise, in hotspot, we have basically two threads - one in the
background process perfparser which does unwinding and symbolication. Then
another one in the hotspot GUI process, which does the data aggregation for
the various views. So far, I shied away from trying to further parallelize the
former part, as unwinding and symbolication are both heavily dependend on the
order in which events are processed. I.e. we have to make sure to process mmap
events and the like before we process a sampling event. Additionally, making
caching efficient is much easier in a singlethreaded context, which was so far
much more important to get right.
> - wrt UI there is also pprof (https://github.com/google/pprof) which
> I think a web UI is interesting beyond just Qt, GTK, etc. Having the
> code be within the perf tool means that testing can be automated, it
> is easy for shared contributions, the kernel and user APIs aren't
> separated by projects..
Yes, nowadays there are tons of pretty good UI options out there - esp. in the
web context. I have not used pprof, but heard a lot of praise for the Mozilla
profiler too: https://profiler.firefox.com/
And then there's catapult which is integrated into chromium or Perfetto which
is afaik used for Android? The list probably goes on and on ;-)
But in the end it would be extremely useful if perf could directly create a
pre-processed, compressed and portable result file with some command. That
could in turn use some easy-to-use binary format (CBOR, protobof, whatever)
which could then be parsed by the GUI instead of it having to reinvent the
wheel there.
> > Generally, I would love to see a proper library provided by perf that
> > could be used to do the `perf report` and/or `perf annotate` data
> > processing.
>
> There is a library interface developing:
> https://github.com/torvalds/linux/tree/master/tools/lib/perf
Ah, that's very interesting - that didn't exist back when we started
perfparser/hotspot.
> But it is mainly focussed on say 'perf record' than 'perf report'.
> Perhaps you could mentor a project to refactor the report APIs, which
> could be integrated with hotspot? If so, we can update the GSoC wiki.
While I'm honored by the invitation, I'm afraid that I don't have the capacity
to fulfil this role. I've attended GSOC myself in the past, and even mentored
a couple of times, so I know that doing a good job there as a mentor requires
more time than I can spare currently :(
That said, I am very willing to be available for discussion as an interested
party.
> It'd be nice to refactor things like event parsing into a library, in
> part to make unit and fuzz testing easier. The event sorting is a big
> source of perf's slowness and something that should be reasonable to
> parallelize, an issue here is a lack of a thread pool and other
> abstractions. These dependencies across projects can be something that
> is tricky.
In our case, sorting isn't the bottleneck at all. But it does make
parallelization harder as I mentioned above. Unwinding and symbolication is
usually what's much much slower compared to just sorting a couple of events
in-memory.
Regarding missing abstractions: I'm a C++ developer myself, and having easy
access to more abstractions like hash maps and more has helped tremendously in
improving the performance of our perf.data parser too. So yes, I again totally
agree with you in that regards.
> > As I said - I'm happy to discuss this topic in more detail with anyone
> > interested in this topic.
>
> I'm interested! There is an IRC channel #perf see www.oftc.net, but
> I'd suggest the mailing list is better for discussion. I know that BPF
> is doing regular office hours. I could imagine that similar for perf
> would be useful, but I also know that maintainers are busy folks.
I've joined that channel now.
Cheers
--
Milian Wolff | milian.wolff@kdab.com | Senior Software Engineer
KDAB (Deutschland) GmbH, a KDAB Group company
Tel: +49-30-521325470
KDAB - The Qt, C++ and OpenGL Experts
[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 5272 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-03-15 13:04 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-10 16:32 Linux Foundation accepted for Google Summer-of-Code 2021 Ian Rogers
2021-03-13 16:25 ` Milian Wolff
2021-03-14 17:29 ` Ian Rogers
2021-03-15 13:00 ` Milian Wolff
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.