Linux-NVME Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Joyce <gjoyce@linux.ibm.com>
To: Christoph Hellwig <hch@lst.de>
Cc: linux-nvme@lists.infradead.org, kbusch@kernel.org, axboe@fb.com,
	sagi@grimberg.me, hare@suse.de, dwagner@suse.de,
	msuchanek@suse.de, jonathan.derrick@linux.dev,
	okozina@redhat.com, nilay@linux.ibm.com
Subject: Re: [PATCH 1/1] nvme: retry security commands if media not ready
Date: Thu, 03 Oct 2024 18:35:30 -0500	[thread overview]
Message-ID: <fd5ebec0dc273afd5d748a26c999254d3ed28f01.camel@linux.ibm.com> (raw)
In-Reply-To: <20241003144106.GA24422@lst.de>

On Thu, 2024-10-03 at 16:41 +0200, Christoph Hellwig wrote:
> On Thu, Oct 03, 2024 at 08:30:21AM -0500, Greg Joyce wrote:
> > Thanks. I think that leads me to ask a larger question. If we
> > always
> > wait until media ready,
> 
> We don't generally wait - the namespaces only become online when they
> are ready, but otherwise we should be up.  Unfortunately the
> technical
> working group allowed some admin command to return media not ready,
> probably to shoe horn existing implementation.  But this generally
> is a bad quality of implementation and there is no good reason for it
> if the little bit of media used by these comes from a separate pool
> that doesn't take as long to recover.  Or in other words, if you see
> this error someonone at IBM messed up writing their purchase spec..
> 

I agree, I wonder about the value/wisdom of the CC.CRIME capability
especially since there is no way to read status that indicates that the
media is ready for the Figure 103 commands. But it is a defined feature
and setting it does cause CSTS.RDY to be asserted before the media is
ready.

The Kioxia CM7 drive does set both CRWMS and CRIMS (CRMS=11b). And
these lines in the NVMe driver thus set CC.CRIME:

        if (ctrl->cap & NVME_CAP_CRMS_CRWMS && ctrl->cap &            
NVME_CAP_CRMS_CRIMS)
                ctrl->ctrl_config |= NVME_CC_CRIME;

After reading more of the spec and driver code and discussions here, I
suggest that those two lines be removed. This has the effect of
returning to the NVMe version 1.4 behavior and CSTS.RDY will not be
asserted until the media is ready for commands.

Greg


  reply	other threads:[~2024-10-03 23:36 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-30 16:48 [PATCH 0/1] nvme: add retry for media not ready error gjoyce
2024-09-30 16:48 ` [PATCH 1/1] nvme: retry security commands if media not ready gjoyce
2024-10-02  8:16   ` Christoph Hellwig
2024-10-02 16:51     ` Greg Joyce
2024-10-03 12:43       ` Christoph Hellwig
2024-10-03 13:30         ` Greg Joyce
2024-10-03 14:41           ` Christoph Hellwig
2024-10-03 23:35             ` Greg Joyce [this message]
2024-10-04  5:41               ` Christoph Hellwig
2024-10-04  7:22                 ` Nilay Shroff
2024-10-04 12:24                   ` 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=fd5ebec0dc273afd5d748a26c999254d3ed28f01.camel@linux.ibm.com \
    --to=gjoyce@linux.ibm.com \
    --cc=axboe@fb.com \
    --cc=dwagner@suse.de \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=jonathan.derrick@linux.dev \
    --cc=kbusch@kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=msuchanek@suse.de \
    --cc=nilay@linux.ibm.com \
    --cc=okozina@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox