[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 0/3] Rework Power handlers
There are similar patches for other drivers too, but I've not submitted them yet - I was looking to get a general 'this looks like a good change to make' first
Owen
On 02/02/2024 07:36, Owen Smith wrote:
> The problem is relatively rare - it tends to hit occasionally during our
> automated tests, and is seen more often with xenfilt on other device
> stacks (vGPU in particular).
> These patches have been applied to the XS queue for some time. I
> refactored and simplified the patches in Dec 2021 - these have been
> applied since then and we have released at least 2 versions since with
> no reported power failure issues. Previously this was 1 big messy patch
> that, I think, has been released at least once. No power related issues
> detected in all our automated testing or through our support.
>
Ok, thanks Owen. That gives me much more confidence in the code. I'll
run some tests on my own rig now :-)
Paul
> Owen
>
> On Thu, Feb 1, 2024 at 5:35 PM Paul Durrant <xadimgnik@xxxxxxxxx
> <mailto:xadimgnik@xxxxxxxxx>> wrote:
>
> On 10/01/2024 13:42, Owen Smith wrote:
> > Current power handler code is passed to a single threaded work
> thread which
> > can be delayed enough to trigger 0x9F
> (DRIVER_POWER_STATE_FAILURE) bugchecks.
> > Rework power handlers to math standard practive, using pended IRPs,
> > IoCompletionRoutines and deferred IoWorkItems where required.
> >
> > Martin Harvey (2):
> > [XenFilt] Asynchronous power handling.
> > [XenBus] Asynchronous power handling
> >
>
> I advised Martin against these changes over a year ago. How
> prevalent is
> the problem? It took *years* to get this, and the PnP code stable. How
> much testing have these changes had?
>
> Paul
>
> > Owen Smith (1):
> > ASSERT(Frame->Mdl != NULL) before dereference
> >
> > src/xenbus/fdo.c | 792
> ++++++++++++++++++++++++--------------------
> > src/xenbus/gnttab.c | 1 +
> > src/xenbus/pdo.c | 250 ++++++--------
> > src/xenfilt/fdo.c | 498 +++++++---------------------
> > src/xenfilt/pdo.c | 503 +++++++---------------------
> > 5 files changed, 777 insertions(+), 1267 deletions(-)
> >
>
>
|