Re: [sparc64] ftrace: kernel startup-tests unaligned access
From: Jessica Clarke
Date: Mon Dec 14 2020 - 11:30:08 EST
On Mon, Dec 14, 2020 at 11:15:12AM -0500, Steven Rostedt wrote:
> On Mon, 14 Dec 2020 18:59:02 +0300
> Anatoly Pugachev <matorola@xxxxxxxxx> wrote:
>
> > Hello!
> >
> > Enabled ftrace startup tests on a sparc64 test VM/LDOM:
> >
> > $ diff -u <(gzip -dc ~/dmesg/config-5.10.0.gz) <(gzip -dc /proc/config.gz)
> > --- /dev/fd/63 2020-12-14 16:19:38.239372599 +0300
> > +++ /dev/fd/62 2020-12-14 16:19:38.235372433 +0300
> > @@ -2842,7 +2842,10 @@
> > # CONFIG_TRACEPOINT_BENCHMARK is not set
> > # CONFIG_RING_BUFFER_BENCHMARK is not set
> > # CONFIG_TRACE_EVAL_MAP_FILE is not set
> > -# CONFIG_FTRACE_STARTUP_TEST is not set
> > +CONFIG_FTRACE_SELFTEST=y
> > +CONFIG_FTRACE_STARTUP_TEST=y
> > +CONFIG_EVENT_TRACE_STARTUP_TEST=y
> > +# CONFIG_EVENT_TRACE_TEST_SYSCALLS is not set
> > # CONFIG_RING_BUFFER_STARTUP_TEST is not set
> > # CONFIG_PREEMPTIRQ_DELAY_TEST is not set
> > # CONFIG_KPROBE_EVENT_GEN_TEST is not set
> >
> >
> > Got the following results with kernel boot logs:
> >
> > Dec 14 13:48:15 kernel: clocksource: jiffies: mask: 0xffffffff
> > max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
> > Dec 14 13:48:15 kernel: futex hash table entries: 65536 (order: 9,
> > 4194304 bytes, linear)
> > Dec 14 13:48:15 kernel: Running postponed tracer tests:
> > Dec 14 13:48:15 kernel: Testing tracer function:
> > Dec 14 13:48:15 kernel: Kernel unaligned access at TPC[552a20]
> > trace_function+0x40/0x140
> > Dec 14 13:48:15 kernel: Kernel unaligned access at TPC[552a24]
> > trace_function+0x44/0x140
> > Dec 14 13:48:15 kernel: Kernel unaligned access at TPC[552a20]
> > trace_function+0x40/0x140
> > Dec 14 13:48:15 kernel: Kernel unaligned access at TPC[552a24]
> > trace_function+0x44/0x140
> > Dec 14 13:48:15 kernel: Kernel unaligned access at TPC[552a20]
> > trace_function+0x40/0x140
>
> Does sparc64 require 8 byte alignment for 8 byte words?
Yes, SPARC requires natural alignment for all primitive types (and that
even includes 8-byte alignment for 8-byte types on 32-bit SPARC as it
has load/store pair instructions the compiler is free to use).
Jess