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] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAEYJA6qm0tpkOd81L6mG9OhtB4FFmTOMN-SfM2FjbibCvWkMHQ@mail.gmail.com>
Date:   Thu, 2 Jan 2020 16:19:15 +0530
From:   Bhaskar Upadhaya <bhaskar.upadhaya.linux@...il.com>
To:     Bhaskar Upadhaya <bupadhaya@...vell.com>, rafael@...nel.org,
        lenb@...nel.org
Cc:     linux-kernel@...r.kernel.org, linux-acpi@...r.kernel.org,
        linux-edac@...r.kernel.org, gkulkarni@...vell.com,
        rrichter@...vell.com
Subject: Re: [RFC PATCH] apei/ghes: fix ghes_poll_func by registering in
 non-deferrable mode

Hi Rafael, Len
  Hope you get time to look into this patch.
Regards
--Bhaskar

On Wed, Dec 18, 2019 at 12:34 PM Bhaskar Upadhaya <bupadhaya@...vell.com> wrote:
>
> Currently Linux register ghes_poll_func with TIMER_DEFERRABLE flag,
> because of which it is serviced when the CPU eventually wakes up with a
> subsequent non-deferrable timer and not at the configured polling interval.
>
> For polling mode, the polling interval configured by firmware should not
> be exceeded as per ACPI_6_3 spec[refer Table 18-394], So Timer need to
> be configured in non-deferrable mode by removing TIMER_DEFERRABLE flag.
> With NO_HZ enabled and timer callback being configured in non-deferrable
> mode, timer callback will get called exactly after polling interval.
>
> Impact of removing TIMER_DEFFERABLE flag
> - With NO_HZ enabled, additional timer ticks and unnecessary wakeups of
>  the cpu happens exactly after polling interval.
>
> - If polling interval is too small than polling function will be called
>  too frequently which may stall the cpu.
>
> Signed-off-by: Bhaskar Upadhaya <bupadhaya@...vell.com>
> ---
>  drivers/acpi/apei/ghes.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
> index 777f6f7122b4..c8f9230f69fb 100644
> --- a/drivers/acpi/apei/ghes.c
> +++ b/drivers/acpi/apei/ghes.c
> @@ -1181,7 +1181,7 @@ static int ghes_probe(struct platform_device *ghes_dev)
>
>         switch (generic->notify.type) {
>         case ACPI_HEST_NOTIFY_POLLED:
> -               timer_setup(&ghes->timer, ghes_poll_func, TIMER_DEFERRABLE);
> +               timer_setup(&ghes->timer, ghes_poll_func, 0);
>                 ghes_add_timer(ghes);
>                 break;
>         case ACPI_HEST_NOTIFY_EXTERNAL:
> --
> 2.17.1
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ