Linux-NVME Archive on lore.kernel.org
 help / color / Atom feed
From: Maxim Levitsky <mlevitsk@redhat.com>
To: Thomas Gleixner <tglx@linutronix.de>, Ming Lei <ming.lei@redhat.com>
Cc: fin4478 fin4478 <fin4478@hotmail.com>,
	"keith.busch@intel.com" <keith.busch@intel.com>,
	"axboe@fb.com" <axboe@fb.com>,
	"linux-nvme@lists.infradead.org" <linux-nvme@lists.infradead.org>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: A kernel warning when entering suspend
Date: Thu, 16 Jan 2020 15:58:42 +0200
Message-ID: <7ee5d0da51e443c1ee6c456ed244f5461a8da4a5.camel@redhat.com> (raw)
In-Reply-To: <6facb151631957bb1c025f0c99ba9774bb909fa1.camel@redhat.com>

On Mon, 2019-12-23 at 16:52 +0200, Maxim Levitsky wrote:
> On Thu, 2019-04-04 at 13:14 +0200, Thomas Gleixner wrote:
> > On Thu, 4 Apr 2019, Ming Lei wrote:
> > 
> > > On Thu, Apr 04, 2019 at 08:23:59AM +0000, fin4478 fin4478 wrote:
> > > > Hi,
> > > > 
> > > > I do not use suspend/resume but noticed this kernel warning when testing it. This warning is present in earlier kernels too. My system works fine after resume.
> > > > If there is a patch to fix this, I can test it.
> > > > 
> > > > [   53.403033] PM: suspend entry (deep)
> > > > [   53.403034] PM: Syncing filesystems ... done.
> > > > [   53.404775] Freezing user space processes ... (elapsed 0.001 seconds) done.
> > > > [   53.405972] OOM killer disabled.
> > > > [   53.405973] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
> > > > [   53.407036] printk: Suspending console(s) (use no_console_suspend to debug)
> > > > [   53.407491] ACPI Debug:  "RRIO"
> > > > [   53.407505] serial 00:03: disabled
> > > > [   53.407560] r8169 0000:07:00.0 enp7s0: Link is Down
> > > > [   53.415042] sd 5:0:0:0: [sda] Synchronizing SCSI cache
> > > > [   53.415065] sd 5:0:0:0: [sda] Stopping disk
> > > > [   53.428943] WARNING: CPU: 10 PID: 3127 at kernel/irq/chip.c:210 irq_startup+0xd6/0xe0
> > > 
> > > Looks the 'WARN_ON_ONCE(force)' in irq_startup() is a bit too strict.
> > 
> > Why?
> > 
> > > irq_build_affinity_masks() doesn't guarantee that each IRQ's affinity
> > > can include at least one online CPU.
> > 
> > Then why is it tried to start up an interrupt which has no online cpu in
> > the mask? I'm missing context obviously.
> 
> Hi!
> 
> The problem here is that recently an optimization was added to avoid taking a spinlock in
> the interrupt handler in expense of enable_irq/disable_irq around the place where the race can happen.
> 
> The patch is https://patchwork.kernel.org/patch/10708055/
> 
> And the problem here is that indeed if nvme driver allocates more interrupts that number
> of currently online cpus (which happens if number of possible cpus is larger that number of cpus
> the system was booted with), then some of the nvme queues exist but effectively disabled (till relevant cpus
> are plugged which can happen any time).
> 
> I think that this is a valid use case, and since other than that warning, enable_irq in this case doesn't
> really enable it, maybe the warning should be removed?
> 
> We have a bug report about this issue, and I was told that the warning breaks up some QE scripts.
> https://bugzilla.redhat.com/show_bug.cgi?id=1779247
> 

Ping.

Best regards,
	Maxim Levitsky


_______________________________________________
linux-nvme mailing list
linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

  reply index

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-04  8:23 fin4478
2019-04-04  8:55 ` ming.lei
2019-04-04 11:14   ` tglx
2019-12-23 14:52     ` Maxim Levitsky
2020-01-16 13:58       ` Maxim Levitsky [this message]
2019-04-04 15:37   ` dongli.zhang
2019-04-04 16:18     ` tglx
2019-04-04 22:19       ` ming.lei
2019-04-04 22:29         ` kbusch
2019-04-04 22:50           ` ming.lei
2019-04-05 11:35             ` tglx
2019-04-06 14:29         ` dongli.zhang
2019-04-06 15:31           ` dongli.zhang
2019-04-06 16:12             ` fin4478
2019-04-08 15:07               ` kbusch

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7ee5d0da51e443c1ee6c456ed244f5461a8da4a5.camel@redhat.com \
    --to=mlevitsk@redhat.com \
    --cc=axboe@fb.com \
    --cc=fin4478@hotmail.com \
    --cc=hch@lst.de \
    --cc=keith.busch@intel.com \
    --cc=linux-nvme@lists.infradead.org \
    --cc=ming.lei@redhat.com \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-NVME Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-nvme/0 linux-nvme/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-nvme linux-nvme/ https://lore.kernel.org/linux-nvme \
		linux-nvme@lists.infradead.org
	public-inbox-index linux-nvme

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.infradead.lists.linux-nvme


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git