tud-zih-energy / lo2s

Linux OTF2 Sampling - A Lightweight Node-Level Performance Monitoring Tool
https://tu-dresden.de/zih/forschung/projekte/lo2s?set_language=en
GNU General Public License v3.0
45 stars 13 forks source link

Deprecate / remove legacy support #246

Closed tilsche closed 1 year ago

tilsche commented 1 year ago

I strongly dislike carrying around legacy stuff.

Currently we have three legacy crufts:

  1. tracepoint switch writer, i.e. NOT USE_PERF_RECORD_SWITCH. While it is relatively encapsulated in it's own source file, it also has 9 #ifndefs throughout the code. Ditching it would technically require Linux kernel 4.3, however, it seems to have been backported in 3.10.0-1127.19.1.el7.x86_64. So there's that.

  2. use_clockid / USE_PERF_CLOCKID. In itself, it is not quite as invasive with it is mostly used together with 3) As per the manpage, available since Linux 4.1, but apparently also backported.

  3. hw_breakpoint.h / USE_HW_BREAKPOINT_COMPAT. Also a very annoying codepath to maintain, but probably no go because it is not only dependent on the kernel version (not sure which), but also on hardware support (not supported on Power9).

cvonelm commented 1 year ago

I would deprecate 1 and 2. If some HPC-relevant architectures do not offer hardware breakpoints then we have to keep 3 for now.

Taurus seems like a good benchmark for the lower limit on what kernel features are supported, the DKRZ installation is running a 4.18 kernel for example