Re: [PATCH 1/3] PCI: vpd handle longer delays in access

From: Andrew Morton
Date: Mon Sep 08 2008 - 16:41:10 EST


On Thu, 04 Sep 2008 13:56:37 -0700
Stephen Hemminger <shemminger@xxxxxxxxxx> wrote:

> Accessing the VPD area can take a long time. The existing
> VPD access code fails consistently on my hardware. There are comments
> in the SysKonnect vendor driver that it can take up to 13ms per word.
>
> Change the access routines to:
> * use a mutex rather than spinning with IRQ's disabled and lock held
> * have a longer timeout
> * call schedule while spinning to provide some responsivness

It doesn't call schedule() - it calls yield().

yield() is pretty notoriously badly behaved in the presence of lots of
runnable tasks and there's been a general move to eradicate its
in-kernel callsites.

An alternative would be nice.

--
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/