From patchwork Thu Jun 15 09:49:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Breno Leitao X-Patchwork-Id: 108399 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp513082vqr; Thu, 15 Jun 2023 02:57:54 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7GaIhyAehaTO+UJY42QdvrSFrlIJG0ySIOC932z9B6F8zDO91ryHLbH5pSCj0LKCZ3oE02 X-Received: by 2002:a2e:740c:0:b0:2a2:47a8:728b with SMTP id p12-20020a2e740c000000b002a247a8728bmr8011062ljc.13.1686823074603; Thu, 15 Jun 2023 02:57:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686823074; cv=none; d=google.com; s=arc-20160816; b=DQgoarxmtwVP/04yIFtnhNnYplSiDUHl2s5v0VRTrsU/O6ImBBir10V9c2MrsEnF9o /QUVeRFmZSeG776/2ZXk5KS7jZxjzJA8MQyKSxAeKJcmeEbUnWTa15uJHPEoYaZF59pe mBojHlClyshGQUgisP40BHLxfikxdw5XKGAjG4GkgZaN3gtyDSGkbaU5M2w2kk4rFttN ehh6Dv8MmnwP1M4oYuDGpL7BLI/wxcmE5PloMJ09i2+QvCZEZIhos4cTgX/P7OO3t+uN /FJRi8Y/x9Rdd8lgu/KlXK9ra5EjWEl2Q1+OX4Mb6KOz+JfjfrWnR1UbX2Ym5QlYcnY3 7iFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=X3p2ort1XGfY89Cgvtn4nymi2nkRUSI09DjSmE7WY64=; b=vQsVLqAVdUzHfUv+nkvfylAP1J+cFxO6tlp4cexVv5cL/urTXmCE5+Zo1WrSpM5fV2 es9dIY0k1GD7WSuEdQVu0UkRt/h0fE7Op0ajkqqt9V0mMUT5TChNaHhIkfuwuOLVrNiH pdOWQ5wjRi+0cQA4r91/pAvz2WoNKbD/9WEegLyoobFyGWPfjj3Rw7JUyEPmQf9v3aJY zS2bG7nzjqknmLrcAho5gDbYXV9N1DaQ49u4vuHxaq+xzaO107LKdkw0Qt5UkfiLRtAf Ae7VRls4zNTi/dRobfiUjMfmkdxv4GFmZ9rot9b6AgX4wPvvvuRjZyYXa8KPywM1zdsu ulIA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z12-20020aa7c64c000000b00510b4def0ebsi9821159edr.471.2023.06.15.02.57.30; Thu, 15 Jun 2023 02:57:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238910AbjFOJt3 (ORCPT + 99 others); Thu, 15 Jun 2023 05:49:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47478 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245580AbjFOJtZ (ORCPT ); Thu, 15 Jun 2023 05:49:25 -0400 Received: from mail-lf1-f48.google.com (mail-lf1-f48.google.com [209.85.167.48]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D27132719 for ; Thu, 15 Jun 2023 02:49:23 -0700 (PDT) Received: by mail-lf1-f48.google.com with SMTP id 2adb3069b0e04-4f76a223ca5so2117607e87.3 for ; Thu, 15 Jun 2023 02:49:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686822562; x=1689414562; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=X3p2ort1XGfY89Cgvtn4nymi2nkRUSI09DjSmE7WY64=; b=kVrPSKy7KyGgnDr4LKymAdyubnBUxWo6NacITX7FMUNOqMJ8w8GKCtzciWjJBFr39x BRbctzM4SnBNnI2SIDDQDkvvEKwYJMyQBOI08Hp1d/n3UGx3IbiV5rP4Mie09D9oFBfM TnEwup86+4It36/MZUU3W4Are7TN2awSJB/ZqSlR7aCv4kyY1B7qfh2DnkC8UrFCMe3x D6rW0uQLfA8lQwqcgddKclcrZnfnXMPPlnafTHmEHeKgDB57TUSjapFxDGQw2JOmbLyL WaOQZTN98cqxeIMcQNoblhlfbMugybBstgibWUqfknJ2bXMGgJdGNjvR9jhwyWfIrFAr rLmA== X-Gm-Message-State: AC+VfDwKV3JCasRElddzcUDEb8S7P68bh6mXzq0Edh3IOs2vGx6Sp/xo VfQDGTmxoEQZGLfAJL8JCuQ= X-Received: by 2002:a05:6512:b08:b0:4f8:46e9:9f1b with SMTP id w8-20020a0565120b0800b004f846e99f1bmr355064lfu.3.1686822561819; Thu, 15 Jun 2023 02:49:21 -0700 (PDT) Received: from localhost (fwdproxy-cln-022.fbsv.net. [2a03:2880:31ff:16::face:b00c]) by smtp.gmail.com with ESMTPSA id z10-20020a05600c114a00b003f7e60622f0sm20038060wmz.6.2023.06.15.02.49.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Jun 2023 02:49:21 -0700 (PDT) From: Breno Leitao To: Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg Cc: leit@fb.com, linux-nvme@lists.infradead.org (open list:NVM EXPRESS DRIVER), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v2] nvme: Print capabilities changes just once Date: Thu, 15 Jun 2023 02:49:03 -0700 Message-Id: <20230615094903.1341683-1-leitao@debian.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768762192415898661?= X-GMAIL-MSGID: =?utf-8?q?1768762192415898661?= This current dev_info() could be very verbose and being printed very frequently depending on some userspace application sending some specific commands. Just print this message once and skip it until the controller resets. Use a controller flag (NVME_CTRL_DIRTY_CAPABILITY) to track if the capability needs a reset. Signed-off-by: Breno Leitao Reviewed-by: Keith Busch Reviewed-by: Chaitanya Kulkarni Reviewed-by: Sagi Grimberg --- drivers/nvme/host/core.c | 6 +++++- drivers/nvme/host/nvme.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index 76e8f8b4098e..4b7f9edab5e8 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -1125,8 +1125,11 @@ void nvme_passthru_end(struct nvme_ctrl *ctrl, u32 effects, mutex_unlock(&ctrl->scan_lock); } if (effects & NVME_CMD_EFFECTS_CCC) { - dev_info(ctrl->device, + if (!test_and_set_bit(NVME_CTRL_DIRTY_CAPABILITY, + &ctrl->flags)) { + dev_info(ctrl->device, "controller capabilities changed, reset may be required to take effect.\n"); + } } if (effects & (NVME_CMD_EFFECTS_NIC | NVME_CMD_EFFECTS_NCC)) { nvme_queue_scan(ctrl); @@ -3280,6 +3283,7 @@ int nvme_init_ctrl_finish(struct nvme_ctrl *ctrl, bool was_suspended) return ret; } + clear_bit(NVME_CTRL_DIRTY_CAPABILITY, &ctrl->flags); ctrl->identified = true; return 0; diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h index 78308f15e090..f3182134487a 100644 --- a/drivers/nvme/host/nvme.h +++ b/drivers/nvme/host/nvme.h @@ -243,6 +243,7 @@ enum nvme_ctrl_flags { NVME_CTRL_STARTED_ONCE = 2, NVME_CTRL_STOPPED = 3, NVME_CTRL_SKIP_ID_CNS_CS = 4, + NVME_CTRL_DIRTY_CAPABILITY = 5, }; struct nvme_ctrl {