[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] x86/mce: Compile do_mca() for CONFIG_PV only
On Tue, 19 Nov 2024, Andrew Cooper wrote: > On 19/11/2024 2:34 pm, Jan Beulich wrote: > > On 19.11.2024 13:59, Andrew Cooper wrote: > >> Eclair reports a Misra Rule 8.4 violation; that do_mca() can't see it's > >> declaration. It turns out that this is a consequence of do_mca() being > >> PV-only, and the declaration being compiled out in !PV builds. > >> > >> Therefore, arrange for do_mca() to be compiled out in !PV builds. This in > >> turn requires a number of static functions to become static inline. > > Which generally we advocate against. > > It's `static inline` or `static __maybe_unused`, but I refer you to to > the Matrix conversation on June 24th on the matter. > > > > The #ifdef variant you pointed at on > > Matrix wasn't all that bad. > > It worked as a test, but ifdefary like that is a maintenance nightmare. > > > Plus ... > > > >> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > >> --- > >> CC: Jan Beulich <JBeulich@xxxxxxxx> > >> CC: Roger Pau Monné <roger.pau@xxxxxxxxxx> > >> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx> > >> CC: consulting@xxxxxxxxxxx <consulting@xxxxxxxxxxx> > >> > >> Bloat-o-meter on a !PV build reports: > >> > >> add/remove: 0/6 grow/shrink: 0/0 up/down: 0/-3717 (-3717) > >> Function old new delta > >> x86_mc_mceinject 31 - -31 > >> do_mca.cold 117 - -117 > >> x86_mc_msrinject 147 - -147 > >> x86_mc_msrinject.cold 230 - -230 > >> do_mc_get_cpu_info 500 - -500 > >> do_mca 2692 - -2692 > > ... what's the effect of the addition of "inline" on a PV=y build? By > > using the keyword, we may end up talking the compiler into inlining of > > code that better wouldn't be inlined. > > xen.git/xen$ ../scripts/bloat-o-meter xen-syms-{before,after} > add/remove: 0/0 grow/shrink: 0/0 up/down: 0/0 (0) > Function old new delta > Total: Before=3901801, After=3901801, chg +0.00% > xen.git/xen$ diff -u dis-{before,after} > --- dis-before 2024-11-19 18:08:02.284091931 +0000 > +++ dis-after 2024-11-19 18:08:24.491035756 +0000 > @@ -1,5 +1,5 @@ > > -xen-syms-before: file format elf64-x86-64 > +xen-syms-after: file format elf64-x86-64 > > > Disassembly of section .text: > > xen.git/xen$ > > > Which is not surprising because at -O2, the keyword is effectively > ignored because of the various -finline-* Given this, and also given that this patch with the static inline looks nice, I prefer this version: Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |