[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <c86d773c-75c4-4f7a-96e0-5f36768c3981@nvidia.com>
Date: Mon, 24 Feb 2025 21:02:11 -0800
From: Fenghua Yu <fenghuay@...dia.com>
To: James Morse <james.morse@....com>, x86@...nel.org,
linux-kernel@...r.kernel.org
Cc: Reinette Chatre <reinette.chatre@...el.com>,
Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>,
Borislav Petkov <bp@...en8.de>, H Peter Anvin <hpa@...or.com>,
Babu Moger <Babu.Moger@....com>, shameerali.kolothum.thodi@...wei.com,
D Scott Phillips OS <scott@...amperecomputing.com>,
carl@...amperecomputing.com, lcherian@...vell.com,
bobo.shaobowang@...wei.com, tan.shaopeng@...itsu.com,
baolin.wang@...ux.alibaba.com, Jamie Iles <quic_jiles@...cinc.com>,
Xin Hao <xhao@...ux.alibaba.com>, peternewman@...gle.com,
dfustini@...libre.com, amitsinght@...vell.com,
David Hildenbrand <david@...hat.com>, Rex Nie <rex.nie@...uarmicro.com>,
Dave Martin <dave.martin@....com>, Koba Ko <kobak@...dia.com>,
Shanker Donthineni <sdonthineni@...dia.com>,
Shaopeng Tan <tan.shaopeng@...fujitsu.com>, Tony Luck <tony.luck@...el.com>
Subject: Re: [PATCH v6 42/42] x86/resctrl: Add python script to move resctrl
code to /fs/resctrl
Hi, James and Reinette,
On 2/7/25 10:18, James Morse wrote:
> To support more than one architecture resctrl needs to move from arch/x86
> to live under fs. Moving all the code breaks any series on the mailing
> list, so needs scheduling carefully.
>
> Maintaining the patch that moves all this code has proved labour intensive.
> It's also near-impossible to review that no inadvertent changes have
> crept in.
>
> To solve these problems, temporarily add a hacky python program that
> lists all the functions that should move, and those that should stay.
>
> No attempt to parse C code is made, this thing tries to name 'blocks'
> based on hueristics about the kernel coding style. It's fragile, but
> good enough for its single use here.
>
> This only exists to show I have nothing up my sleeve.
> I don't suggested this gets merged.
>
> The patch this script generaets has the following corner cases:
> * The original files are regenerated, which will add newlines that are
> not present in the original file.
> * An trace-point header file the only contains boiler-plate is created
> in the arch and filesystem code. The parser doesn't know how to remove
> the includes for these - but its easy to 'keep' the file contents on
> the correct side. A follow-up patch will remove these files and their
> includes.
Due to no trace event defined in the _trace.h files, compilation errors
are reported when building kernel by W=1.
This patch seems the "follow-up" patch mentioned here? After this patch
is applied, no more errors reported when W=1.
diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c
b/arch/x86/kernel/cpu/resctrl/monitor.c
index 1809e3fe6ef3..800e52845b1d 100644
--- a/arch/x86/kernel/cpu/resctrl/monitor.c
+++ b/arch/x86/kernel/cpu/resctrl/monitor.c
@@ -27,10 +27,6 @@
#include "internal.h"
-#define CREATE_TRACE_POINTS
-
-#include "monitor_trace.h"
-
/*
* Global boolean for rdt_monitor which is true if any
* resource monitoring is enabled.
diff --git a/arch/x86/kernel/cpu/resctrl/monitor_trace.h
b/arch/x86/kernel/cpu/resctrl/monitor_trace.h
deleted file mode 100644
index b5a142dd0f0e..000000000000
--- a/arch/x86/kernel/cpu/resctrl/monitor_trace.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#undef TRACE_SYSTEM
-#define TRACE_SYSTEM resctrl
-
-#if !defined(_FS_RESCTRL_MONITOR_TRACE_H) ||
defined(TRACE_HEADER_MULTI_READ)
-#define _FS_RESCTRL_MONITOR_TRACE_H
-
-#include <linux/tracepoint.h>
-
-#endif /* _FS_RESCTRL_MONITOR_TRACE_H */
-
-#undef TRACE_INCLUDE_PATH
-#define TRACE_INCLUDE_PATH .
-
-#define TRACE_INCLUDE_FILE monitor_trace
-
-#include <trace/define_trace.h>
diff --git a/fs/resctrl/pseudo_lock.c b/fs/resctrl/pseudo_lock.c
index d8389779835d..6c49dd60174f 100644
--- a/fs/resctrl/pseudo_lock.c
+++ b/fs/resctrl/pseudo_lock.c
@@ -29,10 +29,6 @@
#include "../../events/perf_event.h" /* For X86_CONFIG() */
#include "internal.h"
-#define CREATE_TRACE_POINTS
-
-#include "pseudo_lock_trace.h"
-
/*
* Major number assigned to and shared by all devices exposing
* pseudo-locked regions.
diff --git a/fs/resctrl/pseudo_lock_trace.h b/fs/resctrl/pseudo_lock_trace.h
deleted file mode 100644
index 7a6a1983953a..000000000000
--- a/fs/resctrl/pseudo_lock_trace.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#undef TRACE_SYSTEM
-#define TRACE_SYSTEM resctrl
-
-#if !defined(_X86_RESCTRL_PSEUDO_LOCK_TRACE_H) ||
defined(TRACE_HEADER_MULTI_READ)
-#define _X86_RESCTRL_PSEUDO_LOCK_TRACE_H
-
-#include <linux/tracepoint.h>
-
-#endif /* _X86_RESCTRL_PSEUDO_LOCK_TRACE_H */
-
-#undef TRACE_INCLUDE_PATH
-#define TRACE_INCLUDE_PATH .
-
-#define TRACE_INCLUDE_FILE pseudo_lock_trace
-
-#include <trace/define_trace.h>
Powered by blists - more mailing lists