Re: Regression due to 7ff9554 "printk: convert byte-buffer to variable-length record buffer"

Stephen Warren
2012-05-10T20:09:46Z

On 05/10/2012 02:06 PM, Kay Sievers wrote:
> On Thu, May 10, 2012 at 9:54 PM, Stephen Warren <swarren@wwwdotorg.org> wrote:
>> On 05/09/2012 12:31 PM, Stephen Warren wrote:
>>> For me, next-20120508 prints nothing when booted, and I think also
>>> hangs. To solve this, I reverted:
>>>
>>> 7ff9554 printk: convert byte-buffer to variable-length record buffer
>>>
>>> In order to build, I also had to revert:
>>>
>>> c4e00da driver-core: extend dev_printk() to pass structured data
>>>
>>> Note: I'm running on an ARM system using a serial console, with
>>> earlyprintk enabled.
>>
>> This issue still occurs in next-20120510.
>>
>> I've tracked it down to the assignment of msg->ts_nsec near the end of
>> log_store(). If I comment this out, everything works. The problem is the
>> assignment, not the call to local_clock():
>>
>> fails:
>> msg->ts_nsec = local_clock();
>> fails:
>> msg->ts_nsec = 0;//local_clock();
>> works:
>> //msg->ts_nsec = local_clock();
>
> Weird.
>
> What happens if you change it to:
> cpu_clock(logbuf_cpu);
> ?
>
> If it works, the timestamps look ok?

I doubt that would work - after all, assigning 0 fails, but not
performing the assignment at all works. But, I'll go try it...