[PATCH] Reduce ACPI resource conflict message to KERN_INFO, printf cleanup

Chase Douglas chase.douglas at canonical.com
Tue Mar 9 17:46:56 UTC 2010


On Tue, Mar 9, 2010 at 12:29 PM, Amit Kucheria
<amit.kucheria at canonical.com> wrote:
> On 10 Mar 09, Chase Douglas wrote:
>> Also, cleanup message to use %pR resource printing format.
>
> This was rather interesting. So %pR replaces the entire [0x%llx-0x%llx] mess?
> Cool.

It also prints out whether the resource was a memory region or io port
(I was also unaware until it was pointed out to me on linux-acpi).
There's some documentation on this and other extensions at [1].

> The very next line is:
>                if (acpi_enforce_resources == ENFORCE_RESOURCES_STRICT)
>                                        return -EBUSY;
>
> And, acpi_enforce_resources is initialised to ENFORCE_RESOURCES_STRICT by
> default. So upstream considers this to be desirable behaviour. Should we
> really change the seriousness of the message in that case?

First, Matthew Garret upstream has stated that he believes KERN_INFO
to be reasonable.

For a long time, the native hwmon drivers were accessing resources
that were owned by the ACPI driver as well. This hasn't caused any
issues yet because there weren't any ACPI drivers that accessed the
regions. The preferred method would be to have ACPI drivers for all
hwmon chips. Now, there's one ACPI driver for some ASUS motherboards.
In 2.6.31 they decided to default to strictly locking out native hwmon
drivers whenever they conflict with ACPI resources. Thus, this code
prevents the hwmon from working and prints out a message at KERN_ERR
level.

In reality, most people don't care about hwmon drivers. However, they
see this ugly error message at startup because KERN_ERR messages are
overlayed on top of the boot splash (plymouth?). This is one of those
"death by a thousand paper cuts" issues. If a user really wants hwmon
drivers, they likely searched out how to do it and will see error
messages in their dmesg and logs. It's also a well known issue and is
listed in the lmsensors FAQ, along with the work around boot
parameter.

So basically it's just ugly and unnecessary for the normal user. And
the "real" fix is to get ACPI drivers into the kernel in place of
native hwmon drivers. We don't need a warning message over our boot
splash just because there's a missing ACPI hwmon driver.

[1] http://lxr.linux.no/linux+v2.6.33/lib/vsprintf.c#L1171




More information about the kernel-team mailing list