* [PATCH 0/6] Address some issues related to Python version
@ 2025-01-29 17:39 Mauro Carvalho Chehab
2025-01-29 17:39 ` [PATCH 2/6] tools: perf: exported-sql-viewer: drop support for Python 2 Mauro Carvalho Chehab
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2025-01-29 17:39 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab, linux-kernel,
Liang, Kan, Adrian Hunter, Alexander Shishkin, Eduard Zingerman,
Hao Luo, Ian Rogers, Jiri Olsa, John Fastabend, KP Singh,
Mark Rutland, Martin KaFai Lau, Mykola Lysenko, Shuah Khan,
Song Liu, Stanislav Fomichev, Yonghong Song, bpf, linux-kselftest,
linux-perf-users
This series remove compatibility with Python 2.x from scripts that have some
backward compatibility logic on it. The rationale is that, since
commit 627395716cc3 ("docs: document python version used for compilation"),
the minimal Python version was set to 3.x. Also, Python 2.x is EOL since Jan, 2020.
Patch 1: fix a script that was compatible only with Python 2.x;
Patches 2-4: remove backward-compat code;
Patches 5-6 solves forward-compat with modern Python which warns about using
raw strings without using "r" format.
Mauro Carvalho Chehab (6):
docs: trace: decode_msr.py: make it compatible with python 3
tools: perf: exported-sql-viewer: drop support for Python 2
tools: perf: tools: perf: exported-sql-viewer: drop support for Python
2
tools: perf: task-analyzer: drop support for Python 2
tools: selftests/bpf: test_bpftool_synctypes: escape raw symbols
comedi: convert_csv_to_c.py: use r-string for a regex expression
Documentation/trace/postprocess/decode_msr.py | 2 +-
.../ni_routing/tools/convert_csv_to_c.py | 2 +-
.../scripts/python/exported-sql-viewer.py | 5 ++--
tools/perf/scripts/python/task-analyzer.py | 23 ++++----------
tools/perf/tests/shell/lib/attr.py | 6 +---
.../selftests/bpf/test_bpftool_synctypes.py | 30 +++++++++----------
6 files changed, 25 insertions(+), 43 deletions(-)
--
2.48.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/6] tools: perf: exported-sql-viewer: drop support for Python 2
2025-01-29 17:39 [PATCH 0/6] Address some issues related to Python version Mauro Carvalho Chehab
@ 2025-01-29 17:39 ` Mauro Carvalho Chehab
2025-01-29 17:39 ` [PATCH 3/6] tools: perf: " Mauro Carvalho Chehab
2025-01-29 17:39 ` [PATCH 4/6] tools: perf: task-analyzer: " Mauro Carvalho Chehab
2 siblings, 0 replies; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2025-01-29 17:39 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Liang, Kan, Mauro Carvalho Chehab,
Adrian Hunter, Alexander Shishkin, Arnaldo Carvalho de Melo,
Ian Rogers, Ingo Molnar, Jiri Olsa, Mark Rutland, Namhyung Kim,
Peter Zijlstra, Veronika Molnarova, linux-kernel,
linux-perf-users
As stated at process/changes.rsy doc, the current minimal Python
version is 3.x, so drop support for EOL python 2.x.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
tools/perf/tests/shell/lib/attr.py | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/tools/perf/tests/shell/lib/attr.py b/tools/perf/tests/shell/lib/attr.py
index 3db9a7d78715..3ca405f45d10 100644
--- a/tools/perf/tests/shell/lib/attr.py
+++ b/tools/perf/tests/shell/lib/attr.py
@@ -12,11 +12,7 @@ import logging
import re
import shutil
import subprocess
-
-try:
- import configparser
-except ImportError:
- import ConfigParser as configparser
+import configparser
def data_equal(a, b):
# Allow multiple values in assignment separated by '|'
--
2.48.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/6] tools: perf: tools: perf: exported-sql-viewer: drop support for Python 2
2025-01-29 17:39 [PATCH 0/6] Address some issues related to Python version Mauro Carvalho Chehab
2025-01-29 17:39 ` [PATCH 2/6] tools: perf: exported-sql-viewer: drop support for Python 2 Mauro Carvalho Chehab
@ 2025-01-29 17:39 ` Mauro Carvalho Chehab
2025-01-30 7:00 ` Adrian Hunter
2025-01-29 17:39 ` [PATCH 4/6] tools: perf: task-analyzer: " Mauro Carvalho Chehab
2 siblings, 1 reply; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2025-01-29 17:39 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Liang, Kan, Mauro Carvalho Chehab,
Adrian Hunter, Alexander Shishkin, Arnaldo Carvalho de Melo,
Ian Rogers, Ingo Molnar, Jiri Olsa, Mark Rutland, Namhyung Kim,
Peter Zijlstra, linux-kernel, linux-perf-users
As stated at process/changes.rsy doc, the current minimal Python
version is 3.x, so drop support for EOL python 2.x.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
tools/perf/scripts/python/exported-sql-viewer.py | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/tools/perf/scripts/python/exported-sql-viewer.py b/tools/perf/scripts/python/exported-sql-viewer.py
index 121cf61ba1b3..b096592fd35f 100755
--- a/tools/perf/scripts/python/exported-sql-viewer.py
+++ b/tools/perf/scripts/python/exported-sql-viewer.py
@@ -3939,9 +3939,8 @@ def CopyTreeCellsToClipboard(view, as_csv=False, with_hdr=False):
indent_str = " " * indent_sz
expanded_mark_sz = 2
- if sys.version_info[0] == 3:
- expanded_mark = "\u25BC "
- not_expanded_mark = "\u25B6 "
+ expanded_mark = "\u25BC "
+ not_expanded_mark = "\u25B6 "
else:
expanded_mark = unicode(chr(0xE2) + chr(0x96) + chr(0xBC) + " ", "utf-8")
not_expanded_mark = unicode(chr(0xE2) + chr(0x96) + chr(0xB6) + " ", "utf-8")
--
2.48.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/6] tools: perf: task-analyzer: drop support for Python 2
2025-01-29 17:39 [PATCH 0/6] Address some issues related to Python version Mauro Carvalho Chehab
2025-01-29 17:39 ` [PATCH 2/6] tools: perf: exported-sql-viewer: drop support for Python 2 Mauro Carvalho Chehab
2025-01-29 17:39 ` [PATCH 3/6] tools: perf: " Mauro Carvalho Chehab
@ 2025-01-29 17:39 ` Mauro Carvalho Chehab
2 siblings, 0 replies; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2025-01-29 17:39 UTC (permalink / raw)
To: Jonathan Corbet, Linux Doc Mailing List
Cc: Mauro Carvalho Chehab, Liang, Kan, Mauro Carvalho Chehab,
Adrian Hunter, Alexander Shishkin, Arnaldo Carvalho de Melo,
Ian Rogers, Ingo Molnar, Jiri Olsa, Mark Rutland, Namhyung Kim,
Peter Zijlstra, linux-kernel, linux-perf-users
As stated at process/changes.rsy doc, the current minimal Python
version is 3.x, so drop support for EOL python 2.x.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
tools/perf/scripts/python/task-analyzer.py | 23 +++++-----------------
1 file changed, 5 insertions(+), 18 deletions(-)
diff --git a/tools/perf/scripts/python/task-analyzer.py b/tools/perf/scripts/python/task-analyzer.py
index 3f1df9894246..9dc18875630c 100755
--- a/tools/perf/scripts/python/task-analyzer.py
+++ b/tools/perf/scripts/python/task-analyzer.py
@@ -50,25 +50,12 @@ LEN_IN_IN = len("99999999999.999") # 15
LEN_IN_OUT = len("99999999999.999") # 15
-# py2/py3 compatibility layer, see PEP469
-try:
- dict.iteritems
-except AttributeError:
- # py3
- def itervalues(d):
- return iter(d.values())
-
- def iteritems(d):
- return iter(d.items())
-
-else:
- # py2
- def itervalues(d):
- return d.itervalues()
-
- def iteritems(d):
- return d.iteritems()
+# py3
+def itervalues(d):
+ return iter(d.values())
+def iteritems(d):
+ return iter(d.items())
def _check_color():
global _COLORS
--
2.48.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 3/6] tools: perf: tools: perf: exported-sql-viewer: drop support for Python 2
2025-01-29 17:39 ` [PATCH 3/6] tools: perf: " Mauro Carvalho Chehab
@ 2025-01-30 7:00 ` Adrian Hunter
2025-02-11 6:59 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 6+ messages in thread
From: Adrian Hunter @ 2025-01-30 7:00 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Jonathan Corbet, Linux Doc Mailing List
Cc: Liang, Kan, Alexander Shishkin, Ian Rogers, Ingo Molnar,
Mark Rutland, Peter Zijlstra, linux-kernel, linux-perf-users
On 29/01/25 19:39, Mauro Carvalho Chehab wrote:
> As stated at process/changes.rsy doc, the current minimal Python
> version is 3.x, so drop support for EOL python 2.x.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
> tools/perf/scripts/python/exported-sql-viewer.py | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/scripts/python/exported-sql-viewer.py b/tools/perf/scripts/python/exported-sql-viewer.py
> index 121cf61ba1b3..b096592fd35f 100755
> --- a/tools/perf/scripts/python/exported-sql-viewer.py
> +++ b/tools/perf/scripts/python/exported-sql-viewer.py
> @@ -3939,9 +3939,8 @@ def CopyTreeCellsToClipboard(view, as_csv=False, with_hdr=False):
> indent_str = " " * indent_sz
>
> expanded_mark_sz = 2
> - if sys.version_info[0] == 3:
> - expanded_mark = "\u25BC "
> - not_expanded_mark = "\u25B6 "
> + expanded_mark = "\u25BC "
> + not_expanded_mark = "\u25B6 "
You removed the 'if' but left the 'else'.
The white is messed up.
So presumably not tested at all:
python3 tools/perf/scripts/python/exported-sql-viewer.py
File "/home/user/git/review2/tools/perf/scripts/python/exported-sql-viewer.py", line 3942
expanded_mark = "\u25BC "
^
IndentationError: unindent does not match any outer indentation level
Posting untested patches, especially tidy-ups,
should really be discouraged.
There are many other obvious python2 things in this
file that have not been addressed. When asked, AI
listed 10 things.
> else:
> expanded_mark = unicode(chr(0xE2) + chr(0x96) + chr(0xBC) + " ", "utf-8")
> not_expanded_mark = unicode(chr(0xE2) + chr(0x96) + chr(0xB6) + " ", "utf-8")
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 3/6] tools: perf: tools: perf: exported-sql-viewer: drop support for Python 2
2025-01-30 7:00 ` Adrian Hunter
@ 2025-02-11 6:59 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2025-02-11 6:59 UTC (permalink / raw)
To: Adrian Hunter
Cc: Jonathan Corbet, Linux Doc Mailing List, Liang, Kan,
Alexander Shishkin, Ian Rogers, Ingo Molnar, Mark Rutland,
Peter Zijlstra, linux-kernel, linux-perf-users
Em Thu, 30 Jan 2025 09:00:26 +0200
Adrian Hunter <adrian.hunter@intel.com> escreveu:
> On 29/01/25 19:39, Mauro Carvalho Chehab wrote:
> > As stated at process/changes.rsy doc, the current minimal Python
> > version is 3.x, so drop support for EOL python 2.x.
> >
> > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> > ---
> > tools/perf/scripts/python/exported-sql-viewer.py | 5 ++---
> > 1 file changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/tools/perf/scripts/python/exported-sql-viewer.py b/tools/perf/scripts/python/exported-sql-viewer.py
> > index 121cf61ba1b3..b096592fd35f 100755
> > --- a/tools/perf/scripts/python/exported-sql-viewer.py
> > +++ b/tools/perf/scripts/python/exported-sql-viewer.py
> > @@ -3939,9 +3939,8 @@ def CopyTreeCellsToClipboard(view, as_csv=False, with_hdr=False):
> > indent_str = " " * indent_sz
> >
> > expanded_mark_sz = 2
> > - if sys.version_info[0] == 3:
> > - expanded_mark = "\u25BC "
> > - not_expanded_mark = "\u25B6 "
> > + expanded_mark = "\u25BC "
> > + not_expanded_mark = "\u25B6 "
>
> You removed the 'if' but left the 'else'.
>
> The white is messed up.
>
> So presumably not tested at all:
>
> python3 tools/perf/scripts/python/exported-sql-viewer.py
> File "/home/user/git/review2/tools/perf/scripts/python/exported-sql-viewer.py", line 3942
> expanded_mark = "\u25BC "
> ^
> IndentationError: unindent does not match any outer indentation level
>
> Posting untested patches, especially tidy-ups,
> should really be discouraged.
>
> There are many other obvious python2 things in this
> file that have not been addressed. When asked, AI
> listed 10 things.
You're right. Btw my main goal was just to make vermin to detect the
minimal version of this script.
I tried to run this script on Fedora 41, installing PySide with
pip there (*):
$ pip install --user PySide2
...
$ perf record ls
...
$ perf script -s tools/perf/scripts/python/export-to-sqlite.py pt_example branches calls
Segmentation fault (core dumped)
but it gives me segmentation fault on a required library:
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007fcab2e0d1ec in SbkObject_TypeF () from ~/.local/lib/python3.13/site-packages/shiboken2/libshiboken2.abi3.so.5.13
(*) Fedora 41 doesn't have pyside2 packages anymore.
Thanks,
Mauro
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-02-11 6:59 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-29 17:39 [PATCH 0/6] Address some issues related to Python version Mauro Carvalho Chehab
2025-01-29 17:39 ` [PATCH 2/6] tools: perf: exported-sql-viewer: drop support for Python 2 Mauro Carvalho Chehab
2025-01-29 17:39 ` [PATCH 3/6] tools: perf: " Mauro Carvalho Chehab
2025-01-30 7:00 ` Adrian Hunter
2025-02-11 6:59 ` Mauro Carvalho Chehab
2025-01-29 17:39 ` [PATCH 4/6] tools: perf: task-analyzer: " Mauro Carvalho Chehab
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).