[coreboot] locking...
Carl-Daniel Hailfinger
c-d.hailfinger.devel.2006 at gmx.net
Fri Jun 19 18:57:03 CEST 2009
On 19.06.2009 18:13, Myles Watson wrote:
>> as we move into the multicore world, messages get harder and harder to
>> read when they are interspersed byte-wise. I propose to add optional
>> locking to printk.
>>
> This should only matter for the time during RAM, right? Is it a larger
> issue?
>
Once we have printk in CAR for almost all CPUs, it matters even for CAR
stage.
>> However, this locking has to work when some CPUs are in CAR and others
>> are in RAM. And that's the big problem.
>>
> Yuck.
>
At least that's what I believe can happen on K8 and later platforms.
>> AFAICS we can't simply use atomic normal memory acceses since the CPUs
>> in CAR won't see that. Atomic register modifications are not possible
>> across processors AFAICS.
>> The only idea I have is abusing some MMIO chipset/CPU space which is
>> usable as scratch space. In theory, that should work. But do CPUs or
>> chipsets have such MMIO areas?
>>
> They do. It's hard to know if someone is already (ab)using them, though.
>
Well, a quick (or not so quick) coreboot code search should help find
out if the areas in question are already used. Do you know of an example
fur such a MMIO area for the K8 with 690/SB600? That would help me
implement a proof of concept.
>> Of course, I'm aware that locking (if possible at all) will be highly
>> CPU/chipset dependent, but even if we can make locking work on only a
>> subset of platforms, it is still a lot better than nothing.
>>
> Are you thinking of putting it in the ops of the cpu device? I guess that
> only works after CAR.
>
Actually, I'd use it as a function outside the device tree inside CPU
and/or chipset code. The device tree is available too late to be useful
here.
> Another option would be to only let the BSP print messages by default. That
> would clean up most people's logs most of the time.
>
Except for the problem Ward is seeing right now. For that, we really
want the AP messages. And preferably they should be readable (not
intertwined).
Regards,
Carl-Daniel
--
http://www.hailfinger.org/
More information about the coreboot
mailing list