Re: [PATCH v6 7/8] dynamic_debug: add asm-generic implementation for DYNAMIC_DEBUG_RELATIVE_POINTERS

From: Nick Desaulniers
Date: Mon Jun 24 2019 - 17:54:09 EST


On Thu, Jun 20, 2019 at 1:46 PM Rasmus Villemoes
<linux@xxxxxxxxxxxxxxxxxx> wrote:
>
> On 18/06/2019 00.35, Nick Desaulniers wrote:
> > On Mon, Jun 17, 2019 at 3:20 PM Rasmus Villemoes
> > <linux@xxxxxxxxxxxxxxxxxx> wrote:
> >>
> >> It relies on
> >>
> >> (1) standard assembly directives that should work on
> >> all architectures
> >> (2) the "i" constraint for an constant, and
> >> (3) %cN emitting the constant operand N without punctuation
> >>
> >> and of course the layout of _ddebug being what one expects.
> >>
> >> Now, clang before 9.0 doesn't satisfy (3) for non-x86 targets.
> >
> > Thanks so much for resending with this case fixed, and sorry I did not
> > implement (3) sooner! I appreciate your patience.
> > Acked-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> >
> > I'm happy to help test this series, do you have a tree I could pull
> > these from quickly?
>
> I've pushed them to https://github.com/Villemoes/linux/tree/dyndebug_v6
> . They rebase pretty cleanly to just about anything you might prefer
> testing on. Enabling it for arm64 or ppc64 is a trivial two-liner
> similar to the x86 patch (and similar to the previous patches for those
> arches). Thanks for volunteering to test this :)

Compile tested x86_64 allyesconfig
boot tested x86_64 defconfig+CONFIG_DYNAMIC_DEBUG

(just curious why the Kconfig changes for arm64 or ppc64 aren't
included in this set?)

>
> > Anything I should test at runtime besides a boot
> > test?
>
> Well, apart from booting, I've mostly just tested that the debugfs
> control file is identical before and after enabling relative pointers,

mainline x86_64 defconfig+CONFIG_DYNAMIC_DEBUG
$ cat /dfs/dynamic_debug/control | wc -l
2488


mainline x86_64 defconfig+CONFIG_DYNAMIC_DEBUG+this patch series
$ cat /dfs/dynamic_debug/control | wc -l
2486

(seems like maybe 2 are missing? Let me try to collect a diff. Maybe
2 were removed in this series?)

> and that enabling/disabling various pr_debug()s by writing to the
> control file takes effect. I should only be changing the format for

Can you suggest one that's easy to test?

> storing the metadata in the kernel image, so I think that should be enough.
>
> While this is still not merged, some new user of one of the string
> members could creep in, but that should be caught at build time.


--
Thanks,
~Nick Desaulniers