On Fri, 25 Oct 2024, John B. Wyatt IV wrote: > tuna save <filename> allows you to save your kthreads tunables to > a file to be used by rtctl. There were several backslashes that produce > an error that pylint and Python (at least 3.12) gives a `SyntaxWarning: > invalid escape sequence`. > > Convert the strings written to the file with raw strings to resolve the > warnings. > > Tested by comparing the diffs of the files outputted by save. > > Signed-off-by: John B. Wyatt IV <jwyatt@xxxxxxxxxx> > Signed-off-by: John B. Wyatt IV <sageofredondo@xxxxxxxxx> > --- > tuna/tuna.py | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/tuna/tuna.py b/tuna/tuna.py > index bd678e2..2dbc6cb 100755 > --- a/tuna/tuna.py > +++ b/tuna/tuna.py > @@ -669,7 +669,8 @@ def generate_rtgroups(filename, kthreads, nr_cpus): > # The regex is matched against process names as printed by "ps -eo cmd". > > ''' % filename) > - f.write("kthreads:*:1:*:\[.*\]$\n\n") > + f.write(r"kthreads:*:1:*:\[.*\]$") > + f.write("\n\n") You can concatenate the raw string with the new lines like this, so that we don't increase the number of lines f.write(r"kthreads:*:1:*:\[.*\]$" + "\n\n") > > per_cpu_kthreads = [] > names = list(kthreads.keys()) > @@ -688,7 +689,7 @@ def generate_rtgroups(filename, kthreads, nr_cpus): > elif common[:8] == "softirq-": > common = "(sirq|softirq)" + common[7:] > name = "s" + name[4:] > - regex = common + "\/.*" > + regex = common + r"\/.*" > except: > idx = 0 > regex = name > @@ -701,9 +702,10 @@ def generate_rtgroups(filename, kthreads, nr_cpus): > else: > mask = ",".join([hex(a) for a in \ > procfs.hexbitmask(kt.affinity, nr_cpus)]) > - f.write("%s:%c:%d:%s:\[%s\]$\n" % (name, \ > + f.write(r"%s:%c:%d:%s:\[%s\]$" % (name, \ > tuna_sched.sched_str(kt.policy)[6].lower(), \ > kt.rtprio, mask, regex)) > + f.write("\n") Same thing here > f.close() > > > -- There are more files than this one that exhibit the new SyntaxWarning in tuna, check tuna-cmd.py and all the files in the tuna dir, and please fix them all at once. John Kacur