RE: [PATCH -v2 2/3] ACPI, APEI, Add APEI generic error status printsupport

From: Luck, Tony
Date: Tue Nov 30 2010 - 13:00:57 EST


> + for (i = 0; i < strs_size; i++) {
> + if (!(bits & (1U << i)))
> + continue;
> + str = strs[i];
> + if (len && len + strlen(str) + 2 > 80) {
> + printk("\n");
> + len = 0;
> + }
> + if (!len)
> + len = pr_pfx(pfx, "%s", str);
> + else
> + len += printk(", %s", str);
> + }
> + if (len)
> + printk("\n");

Does printk() offer any guarantees about getting all the characters
from a single printk() call out to the console without interleaving
with messages from printk() calls on other cpus? If it does, then
it would be a good idea to sprintf() the parts of this message to
a buffer and then use one printk() call. I think I read that netconsole
ends up with one packet on the wire for each call to printk().

Trying to parse output jumbled together from multiple cpus
doesn't sound like fun.

-Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/