lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Tue, 13 Mar 2018 10:47:17 -0700
From:   Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>
To:     "Rafael J. Wysocki" <rjw@...ysocki.net>,
        Linux ACPI <linux-acpi@...r.kernel.org>
Cc:     Linux PM <linux-pm@...r.kernel.org>,
        LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] ACPI / PM: Reduce LPI constraints logging noise

On Tue, 2018-03-13 at 10:47 +0100, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
> 
> If a device referred to by ACPI LPI constrains (coming from function
> 1
> of the Low Power S0 Idle _DSM interface) is not power-manageable via
> ACPI (no _PS0 method and no power resources), the code generating
> diagnostic information for the LPI constraints will print a message
> about that to the kernel log on every system suspend-resume cycle
> (possibly for multiple times).
> 
> That is not very useful and noisy, so modify that code to disregard
> the LPI list entries corresponding to the devices that are not power-
> manageable after printing that information for them once.
> 
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>

> ---
>  drivers/acpi/sleep.c |   15 +++++++++------
>  1 file changed, 9 insertions(+), 6 deletions(-)
> 
> Index: linux-pm/drivers/acpi/sleep.c
> ===================================================================
> --- linux-pm.orig/drivers/acpi/sleep.c
> +++ linux-pm/drivers/acpi/sleep.c
> @@ -851,23 +852,25 @@ static void lpi_check_constraints(void)
>  	int i;
>  
>  	for (i = 0; i < lpi_constraints_table_size; ++i) {
> +		acpi_handle handle =
> lpi_constraints_table[i].handle;
>  		struct acpi_device *adev;
>  
> -		if
> (acpi_bus_get_device(lpi_constraints_table[i].handle, &adev))
> +		if (!handle || acpi_bus_get_device(handle, &adev))
>  			continue;
>  
> -		acpi_handle_debug(adev->handle,
> +		acpi_handle_debug(handle,
>  			"LPI: required min power state:%s current
> power state:%s\n",
>  			acpi_power_state_string(lpi_constraints_tabl
> e[i].min_dstate),
>  			acpi_power_state_string(adev->power.state));
>  
>  		if (!adev->flags.power_manageable) {
> -			acpi_handle_info(adev->handle, "LPI: Device
> not power manageble\n");
> +			acpi_handle_info(handle, "LPI: Device not
> power manageable\n");
> +			lpi_constraints_table[i].handle = NULL;
>  			continue;
>  		}
>  
>  		if (adev->power.state <
> lpi_constraints_table[i].min_dstate)
> -			acpi_handle_info(adev->handle,
> +			acpi_handle_info(handle,
>  				"LPI: Constraint not met; min power
> state:%s current power state:%s\n",
>  				acpi_power_state_string(lpi_constrai
> nts_table[i].min_dstate),
>  				acpi_power_state_string(adev-
> >power.state));
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ