[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87czgwmgtc.fsf@jogness.linutronix.de>
Date: Mon, 02 May 2022 11:26:31 +0206
From: John Ogness <john.ogness@...utronix.de>
To: Petr Mladek <pmladek@...e.com>, Marco Elver <elver@...gle.com>
Cc: Naresh Kamboju <naresh.kamboju@...aro.org>,
Linux-Next Mailing List <linux-next@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>,
lkft-triage@...ts.linaro.org, linux-mm <linux-mm@...ck.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Alexander Potapenko <glider@...gle.com>,
Dmitry Vyukov <dvyukov@...gle.com>,
Stephen Rothwell <sfr@...b.auug.org.au>,
Anders Roxell <anders.roxell@...aro.org>,
Andrey Konovalov <andreyknvl@...il.com>,
Andrey Ryabinin <ryabinin.a.a@...il.com>,
Catalin Marinas <catalin.marinas@....com>,
Evgenii Stepanov <eugenis@...gle.com>,
Mark Rutland <mark.rutland@....com>,
Peter Collingbourne <pcc@...gle.com>,
Vincenzo Frascino <vincenzo.frascino@....com>,
Will Deacon <will@...nel.org>
Subject: Re: [next] i386: kunit: ASSERTION FAILED at
mm/kfence/kfence_test.c:547
On 2022-05-02, Petr Mladek <pmladek@...e.com> wrote:
>> My proposal would be to fix the tracepoint like so:
>>
>> | --- a/kernel/printk/printk.c
>> | +++ b/kernel/printk/printk.c
>> | @@ -2002,8 +2002,6 @@ static void call_console_driver(struct console *con, const char *text, size_t le
>> | {
>> | size_t dropped_len;
>> |
>> | - trace_console_rcuidle(text, len);
>> | -
>> | if (con->dropped && dropped_text) {
>> | dropped_len = snprintf(dropped_text, DROPPED_TEXT_MAX,
>> | "** %lu printk messages dropped **\n",
>> | @@ -2178,6 +2176,8 @@ static u16 printk_sprint(char *text, u16 size, int facility,
>> | }
>> | }
>> |
>> | + trace_console_rcuidle(text, text_len);
>> | +
>> | return text_len;
>> | }
>>
>> This fixes the KFENCE and KCSAN tests.
>>
>> Unless I hear objections, I'll prepare a patch explaining why we need to
>> fix the tracepoint.
>
> It makes perfect sense to me.
This is the easiest place for it. However, it should be clear that in
the context of trace_console_rcuidle(), the message is not yet visible
to any readers. The message _will_ get committed and definitely _will_
become visible at some point. But it is not (yet) visible at _this_
point. Maybe that is OK for what it is being used for.
If trace_console_rcuidle() must be called at the point of visibility for
readers, it becomes more complicated.
John
Powered by blists - more mailing lists