Re: [printk] 18a2dc6982: ltp.kmsg01.fail

From: John Ogness
Date: Thu Jul 09 2020 - 06:14:40 EST


On 2020-07-09, Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> wrote:
> On (20/07/09 15:14), kernel test robot wrote:
> [..]
>
> Took me a while to find the FAIL-ed test:
>
>> kmsg01.c:393: INFO: TEST: read returns EPIPE when messages get overwritten
>> kmsg01.c:398: INFO: first seqno: 0
>> kmsg01.c:411: INFO: first seqno now: 881
>> kmsg01.c:425: FAIL: read returned: 77: SUCCESS (0)
>
> So this is seq number related
> https://github.com/linux-test-project/ltp/blob/master/testcases/kernel/logging/kmsg/kmsg01.c#L383

Excellent test.

Since the messages are above the expected average size, the dataring is
wrapping before the descriptor ring. This means that the initial
descriptors are still there, but their data is gone. Initially I would
generate an EPIPE for this, but it was changed. Here is the thread [0]
we had about this.

I have some ideas how to correctly handle this. Let me try some
alternatives and post a proposed solution.

John Ogness

[0] https://lkml.kernel.org/r/20200213090757.GA36551@xxxxxxxxxx