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: <CAD=FV=W9H4-VD04AA7xEM-YuvXVjuOxtczkLhvQfDC5M9KR4Lw@mail.gmail.com>
Date:   Thu, 3 Sep 2020 08:22:18 -0700
From:   Doug Anderson <dianders@...omium.org>
To:     Jiri Kosina <jikos@...nel.org>
Cc:     Hans de Goede <hdegoede@...hat.com>,
        Andrea Borgia <andrea@...gia.bo.it>,
        Kai-Heng Feng <kai.heng.feng@...onical.com>,
        Dmitry Torokhov <dmitry.torokhov@...il.com>,
        Aaron Ma <aaron.ma@...onical.com>,
        Benjamin Tissoires <benjamin.tissoires@...hat.com>,
        Daniel Playfair Cal <daniel.playfair.cal@...il.com>,
        Pavel Balan <admin@...ma.net>,
        You-Sheng Yang <vicamo.yang@...onical.com>,
        linux-input@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] HID: i2c-hid: Prefer asynchronous probe

Hi,

On Wed, Sep 2, 2020 at 9:43 PM Douglas Anderson <dianders@...omium.org> wrote:
>
> Adding printouts to the i2c_hid_probe() function shows that it takes
> quite some time.  It used to take about 70 ms, but after commit
> eef4016243e9 ("HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON
> commands") it takes about 190 ms.  This is not tons of time but it's
> not trivial.  Because we haven't yet specified that we'd prefer
> asynchronous probe for this driver then, if the driver is builtin to
> the kernel, we'll wait for this driver to finish before we start
> probes for more drivers.  Let's set the flag to enable asynchronous
> for this driver so that other drivers aren't blocked from probing
> until we finish.
>
> Since this driver can be configured as a module and modules are
> always asynchronously probed this is quite a safe change and will
> benefit anyone who has a reason to build this driver into the kernel
> instead of using it as a module.
>
> Signed-off-by: Douglas Anderson <dianders@...omium.org>
> ---
>
>  drivers/hid/i2c-hid/i2c-hid-core.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/hid/i2c-hid/i2c-hid-core.c b/drivers/hid/i2c-hid/i2c-hid-core.c
> index 87ff93bf76ba..c898bd8617f9 100644
> --- a/drivers/hid/i2c-hid/i2c-hid-core.c
> +++ b/drivers/hid/i2c-hid/i2c-hid-core.c
> @@ -1280,8 +1280,10 @@ static struct i2c_driver i2c_hid_driver = {
>         .driver = {
>                 .name   = "i2c_hid",
>                 .pm     = &i2c_hid_pm,
> +               .probe_type = PROBE_PREFER_ASYNCHRONOUS,
>                 .acpi_match_table = ACPI_PTR(i2c_hid_acpi_match),
>                 .of_match_table = of_match_ptr(i2c_hid_of_match),
> +

Boy, I'm not sure how I managed to introduce this extra whitespace
without noticing.  Sorry!  :(  If the patch looks good I'm happy to
re-post or I'm happy if a maintainer wants to fix my mistake when
applying.

-Doug

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ