All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Sagi Grimberg <sagi@grimberg.me>
Cc: Rakesh Pandit <rakesh@tuxera.com>, Ming Lei <ming.lei@redhat.com>,
	Christoph Hellwig <hch@lst.de>, Jens Axboe <axboe@kernel.dk>,
	Keith Busch <keith.busch@intel.com>,
	Johannes Thumshirn <jthumshirn@suse.de>,
	linux-nvme@lists.infradead.org, linux-block@vger.kernel.org
Subject: Re: [PATCH] nvme: fix hang in remove path
Date: Tue, 6 Jun 2017 09:12:23 +0200	[thread overview]
Message-ID: <20170606071223.GA15359@lst.de> (raw)
In-Reply-To: <23b9bc87-81a0-93e8-3730-f07e68e46702@grimberg.me>

On Tue, Jun 06, 2017 at 10:10:45AM +0300, Sagi Grimberg wrote:
>
>>>> Note 7 here is NVME_SC_ABORT_REQ.  Also we would avoid walking through
>>>> all power states inside the nvme_configure_apst as
>>>> nvme_set_latency_tolerance was called with value
>>>> PM_QOS_LATENCY_TOLERANCE_NO_CONSTRAINT (-1) which sets
>>>> ctrl->ps_max_latency_us to U64_MAX and tries to send a sync command
>>>> which of course fails with error message.
>>
>> Even though this change from this patch does fix the hang, just tested
>> again and I can see above error message "failed to set APST feature 7"
>> while nvme_remove PID is getting executed.
>>
>> So, sync requests (while nvme_remove is executing) are going through
>> and not everything is handled well in .queue_rq while controller is
>> under deleting state or dead state.
>
> The error message is expected because queue_rq is failing the I/O, did
> you see it actually hang?
>
> Personally I'm not too bothered with the error log, we can suppress it
> conditional on the ctrl state if it really annoys people, but if we're
> conditioning on the ctrl state, we can do it like you suggested anyway...

Yeah.  Or just remove the error printk entirely..

WARNING: multiple messages have this Message-ID (diff)
From: hch@lst.de (Christoph Hellwig)
Subject: [PATCH] nvme: fix hang in remove path
Date: Tue, 6 Jun 2017 09:12:23 +0200	[thread overview]
Message-ID: <20170606071223.GA15359@lst.de> (raw)
In-Reply-To: <23b9bc87-81a0-93e8-3730-f07e68e46702@grimberg.me>

On Tue, Jun 06, 2017@10:10:45AM +0300, Sagi Grimberg wrote:
>
>>>> Note 7 here is NVME_SC_ABORT_REQ.  Also we would avoid walking through
>>>> all power states inside the nvme_configure_apst as
>>>> nvme_set_latency_tolerance was called with value
>>>> PM_QOS_LATENCY_TOLERANCE_NO_CONSTRAINT (-1) which sets
>>>> ctrl->ps_max_latency_us to U64_MAX and tries to send a sync command
>>>> which of course fails with error message.
>>
>> Even though this change from this patch does fix the hang, just tested
>> again and I can see above error message "failed to set APST feature 7"
>> while nvme_remove PID is getting executed.
>>
>> So, sync requests (while nvme_remove is executing) are going through
>> and not everything is handled well in .queue_rq while controller is
>> under deleting state or dead state.
>
> The error message is expected because queue_rq is failing the I/O, did
> you see it actually hang?
>
> Personally I'm not too bothered with the error log, we can suppress it
> conditional on the ctrl state if it really annoys people, but if we're
> conditioning on the ctrl state, we can do it like you suggested anyway...

Yeah.  Or just remove the error printk entirely..

  reply	other threads:[~2017-06-06  7:12 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-02  8:32 [PATCH] nvme: fix hang in remove path Ming Lei
2017-06-02  8:32 ` Ming Lei
2017-06-02 13:36 ` Sagi Grimberg
2017-06-02 13:36   ` Sagi Grimberg
2017-06-02 18:04 ` Rakesh Pandit
2017-06-02 18:04   ` Rakesh Pandit
2017-06-04 15:24   ` Sagi Grimberg
2017-06-04 15:24     ` Sagi Grimberg
2017-06-05  8:44     ` Rakesh Pandit
2017-06-05  8:44       ` Rakesh Pandit
2017-06-05  8:47       ` Rakesh Pandit
2017-06-05  8:47         ` Rakesh Pandit
2017-06-05 19:45         ` Rakesh Pandit
2017-06-05 19:45           ` Rakesh Pandit
2017-06-06  7:10           ` Sagi Grimberg
2017-06-06  7:10             ` Sagi Grimberg
2017-06-06  7:12             ` Christoph Hellwig [this message]
2017-06-06  7:12               ` Christoph Hellwig
2017-06-06  7:30               ` Rakesh Pandit
2017-06-06  7:30                 ` Rakesh Pandit
2017-06-05  8:20 ` Christoph Hellwig
2017-06-05  8:20   ` Christoph Hellwig

Reply instructions:

You may reply publicly 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=20170606071223.GA15359@lst.de \
    --to=hch@lst.de \
    --cc=axboe@kernel.dk \
    --cc=jthumshirn@suse.de \
    --cc=keith.busch@intel.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=ming.lei@redhat.com \
    --cc=rakesh@tuxera.com \
    --cc=sagi@grimberg.me \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.