NetBSD Problem Report #58025

From www@netbsd.org  Sun Mar 10 08:45:08 2024
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 55E711A9241
	for <gnats-bugs@gnats.NetBSD.org>; Sun, 10 Mar 2024 08:45:08 +0000 (UTC)
Message-Id: <20240310084506.B3FED1A9242@mollari.NetBSD.org>
Date: Sun, 10 Mar 2024 08:45:06 +0000 (UTC)
From: mrg@eterna23.net
Reply-To: mrg@eterna23.net
To: gnats-bugs@NetBSD.org
Subject: nvme admin queue does not work after suspend/resume
X-Send-Pr-Version: www-1.0

>Number:         58025
>Category:       kern
>Synopsis:       nvme admin queue does not work after suspend/resume
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 10 08:50:00 +0000 2024
>Closed-Date:    Wed Mar 13 02:47:06 +0000 2024
>Last-Modified:  Wed Mar 13 02:47:06 +0000 2024
>Originator:     matthew green
>Release:        -current
>Organization:
>Environment:
amd64
>Description:
on a thinkpad A475 with a A12-9800B cpu, after suspend-resume the nvme
admin path no longer works.  eg, 'nvmectl devlist' hangs.  the interrupt
count for this device no longer increases as seen by 'vmstat -i' and 
nvmectl is waiting for the 

upon investigation i noticed that suspend removes the IO queue interrupts
but does not touch the admin queue interrupt.  making it remove/re-add
the admin queue interrupt makes nvmectl work.
>How-To-Repeat:
suspend on a thinkpad A475.
>Fix:
https://www.netbsd.org/~mrg/nvme-resume.v2.diff

>Release-Note:

>Audit-Trail:
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58025 CVS commit: src/sys/dev/ic
Date: Mon, 11 Mar 2024 21:10:46 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Mon Mar 11 21:10:46 UTC 2024

 Modified Files:
 	src/sys/dev/ic: nvme.c

 Log Message:
 nvme(4): Disestablish admin q interrupt while suspended.

 And re-establish on resume.  Fixes nvmectl(8) after a suspend/resume
 cycle on some systems.

 Adapted from a patch by mrg@.

 PR kern/58025


 To generate a diff of this commit:
 cvs rdiff -u -r1.68 -r1.69 src/sys/dev/ic/nvme.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->pending-pullups
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Mon, 11 Mar 2024 21:35:29 +0000
State-Changed-Why:
pullup-10 #633
pullup-9 #1817
netbsd-8 doesn't have nvme suspend/resume, probably not worth the trouble
of digging up all the relevant nvme/ld changes to make that work


From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58025 CVS commit: [netbsd-10] src/sys/dev/ic
Date: Tue, 12 Mar 2024 09:58:27 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Tue Mar 12 09:58:27 UTC 2024

 Modified Files:
 	src/sys/dev/ic [netbsd-10]: nvme.c

 Log Message:
 Pull up following revision(s) (requested by riastradh in ticket #633):

 	sys/dev/ic/nvme.c: revision 1.69

 nvme(4): Disestablish admin q interrupt while suspended.

 And re-establish on resume.  Fixes nvmectl(8) after a suspend/resume
 cycle on some systems.

 Adapted from a patch by mrg@.

 PR kern/58025


 To generate a diff of this commit:
 cvs rdiff -u -r1.67 -r1.67.4.1 src/sys/dev/ic/nvme.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/58025 CVS commit: [netbsd-9] src/sys/dev/ic
Date: Tue, 12 Mar 2024 09:59:31 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Tue Mar 12 09:59:31 UTC 2024

 Modified Files:
 	src/sys/dev/ic [netbsd-9]: nvme.c

 Log Message:
 Pull up following revision(s) (requested by riastradh in ticket #1817):

 	sys/dev/ic/nvme.c: revision 1.69

 nvme(4): Disestablish admin q interrupt while suspended.

 And re-establish on resume.  Fixes nvmectl(8) after a suspend/resume
 cycle on some systems.

 Adapted from a patch by mrg@.

 PR kern/58025


 To generate a diff of this commit:
 cvs rdiff -u -r1.44.2.6 -r1.44.2.7 src/sys/dev/ic/nvme.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: pending-pullups->closed
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Wed, 13 Mar 2024 02:47:06 +0000
State-Changed-Why:
fixed and pulled up


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2024 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.