Re: [PATCH] driver core: check bus->match without holding devicelock(v2)

From: Cornelia Huck
Date: Wed Jan 21 2009 - 10:59:56 EST


On Wed, 21 Jan 2009 23:27:47 +0800,
tom.leiming@xxxxxxxxx wrote:

> From: Ming Lei <tom.leiming@xxxxxxxxx>
>
> This patch moves bus->match out from driver_probe_device and
> does not hold device lock to check the match between a device
> and a driver.
>
> The idea has been verified by the commit 6cd495860901,
> which leads to a faster boot. But the commit 6cd495860901 has
> the following drawbacks: 1),only does the quick check in
> the path of __driver_attach->driver_probe_device, not in other
> paths; 2),for a matched device and driver, check the same match
> twice. It is a waste of cpu ,especially for some drivers with long
> device id table (eg. usb-storage driver).
>
> This patch adds a helper of driver_match_device to check the match
> in all paths, and testes the match only once.
>
> Signed-off-by: Ming Lei <tom.leiming@xxxxxxxxx>
> ---
> drivers/base/base.h | 5 +++++
> drivers/base/bus.c | 2 +-
> drivers/base/dd.c | 19 +++++++------------
> 3 files changed, 13 insertions(+), 13 deletions(-)

The patch looks fine to me, and it seems to work well on my s390 LPAR.

Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx>
--
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/