From patchwork Fri Mar 10 17:54:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alison Schofield X-Patchwork-Id: 6423 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp1014646wrd; Fri, 10 Mar 2023 09:56:02 -0800 (PST) X-Google-Smtp-Source: AK7set++3paPivGUgWuluq4VUp4yxA/9BXzB67v4iml32A/sE5fV60zJ3AZCUaqhgb4yVP1sHTo2 X-Received: by 2002:a17:902:dad0:b0:19e:b6b0:6b3 with SMTP id q16-20020a170902dad000b0019eb6b006b3mr22352424plx.15.1678470962217; Fri, 10 Mar 2023 09:56:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678470962; cv=none; d=google.com; s=arc-20160816; b=besprOSyRPaDSVDZ2wZxToYsvJigWY9RJHxgUXb001wpjtH5d0oSQ/tmGoN9SAu/GW XaAe53uToSoa/4cJIgAplKRihRxoDEJajdfRiomJGTmocR1yh4qZ0HlIFWdDrsVwwJRi zRlcBE6YH7mH6MxlzVOXdfWGnua3N+4FFoHvvAWpH/QVLPKxeBC8KH2G+gykcPxBxCS/ hu0Tur1YdH4J4S+mPEskQwhilQ4hXn6++12tn36jSuxgfjRO+QnGcnfLJ8cw6y1nBSwF rc7fNxUHA51yQ76FyTUL+ygOcNiXJFEiD3eGxxHzP37whp8ZK3X5McmovA967zqjdz4D +YCw== 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:dkim-signature; bh=6HL1xCqs46dgS7qKiJPHnS6rBqA+IwExkYYdBoylFJ0=; b=aVdRQDZqH+crSu/2ybbRVoO9QHXDZOn7vhHTl5Isqx7C578OHzREUrFBC0B2gBLI3k lo/+uzdWHgxmoOzG80h8iE1ZQpoQhVl/FJzJ7O12AB6QWbnAWvKcs09+oEtKhgiFceqx fdSF/YAM22i/CITe9JU+tgs+D1D4qLCdxeCFHhzJh/k02vEf1TyS7C6lzxjYvEUaB2Yn QI96veqXxwW6PEU63F8D6TadVXad6PUT633ROrGGpQrR9xZQ7AHLJcXsHXpDWuR3W8lb s7nJ2NWMxJqF7CNGd4aiE559fHQ683kQ7amcDBGwofazfjR8ccrP0gDugYLju08TC82f zOUA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=b5LzyzZG; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d22-20020a17090ab31600b0023744c0dc58si358953pjr.50.2023.03.10.09.55.49; Fri, 10 Mar 2023 09:56:02 -0800 (PST) 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; dkim=pass header.i=@intel.com header.s=Intel header.b=b5LzyzZG; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231690AbjCJRym (ORCPT + 99 others); Fri, 10 Mar 2023 12:54:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59056 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231633AbjCJRya (ORCPT ); Fri, 10 Mar 2023 12:54:30 -0500 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 49EA012DC1E; Fri, 10 Mar 2023 09:54:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678470865; x=1710006865; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=yg7rLleJHpQrJEZr9+dilAMgQAds5aikhGZNVyfiArY=; b=b5LzyzZG4Si4qpFnYPyRW/tPa1u3JyZTDlHSdP0jtD9UL449YRprUX/j DCYSeJ8sh7YzVz1zqUasgaTASJRSD3FVS1rCzoHR3zL4ETKhq5mzl/3Y9 6LyJ6bLUqy4dQMgrkOUx+5mdjxNVpG9hNa6Z5Q2Hg8RjqQOLs/4fR0eUU umYRG0cGzK3xGz8FAb8MWPsfaPhO5cXkRMdzKIdij6szhzsN7Xe1XMGdS 8kiAp90Zax3GkjlfekwvYoeJvp9P9NTKgWWB5wDqqHSiQgHEyArTmjlei yDRmMkH76aXkTWIXeeWZyiwxy9/54I2HnuDB0MfbEQ9viR5SBDNSwyP7j Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10645"; a="339154030" X-IronPort-AV: E=Sophos;i="5.98,250,1673942400"; d="scan'208";a="339154030" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Mar 2023 09:54:23 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10645"; a="680276537" X-IronPort-AV: E=Sophos;i="5.98,250,1673942400"; d="scan'208";a="680276537" Received: from aschofie-mobl2.amr.corp.intel.com (HELO localhost) ([10.255.228.62]) by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Mar 2023 09:54:22 -0800 From: alison.schofield@intel.com To: Dan Williams , Ira Weiny , Vishal Verma , Dave Jiang , Ben Widawsky , Steven Rostedt Cc: Alison Schofield , linux-cxl@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v8 0/6] CXL Poison List Retrieval & Tracing Date: Fri, 10 Mar 2023 09:54:14 -0800 Message-Id: X-Mailer: git-send-email 2.37.3 MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE,URIBL_BLOCKED autolearn=ham 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?1760004367697567593?= X-GMAIL-MSGID: =?utf-8?q?1760004367697567593?= From: Alison Schofield Changes in v8: Patch 4: cxl/region: Provide region info to the cxl_poison trace event - Don't percolate non-error rc in trigger_poison_list_store() (Jonathan) - Use the entire dpa_res, not pmem_res, when calculating remaining length after a PMEM decoder. (Jonathan) - Calculate skip relative to current endpoint. (Jonathan) - Always use local vars for offset & length (Tidy-up) Patch 3: cxl/memdev: Add trigger_poison_list sysfs attribute - Update dates and version in Patch 3: ABI doc (Jonathan) - Added Jonathan Reviewed-by to Patch 3 (Jonathan) Link to v7: https://lore.kernel.org/linux-cxl/cover.1676685180.git.alison.schofield@intel.com/#r Add support for retrieving device poison lists and store the returned error records as kernel trace events. The handling of the poison list is guided by the CXL 3.0 Specification Section 8.2.9.8.4.1. [1] Example: $ echo 1 > /sys/bus/cxl/devices/mem0/trigger_poison_list cxl_poison: memdev=mem0 host=cxl_mem.0 serial=0 region=region4 region_uuid=117b2cf4-b160-4090-9361-ba31b9649317 hpa=0xf0d0000000 dpa=0x40000000 length=0x40 source=Internal flags= overflow_time=0 [1]: https://www.computeexpresslink.org/download-the-specification Alison Schofield (6): cxl/mbox: Add GET_POISON_LIST mailbox command cxl/trace: Add TRACE support for CXL media-error records cxl/memdev: Add trigger_poison_list sysfs attribute cxl/region: Provide region info to the cxl_poison trace event cxl/trace: Add an HPA to cxl_poison trace events tools/testing/cxl: Mock support for Get Poison List Documentation/ABI/testing/sysfs-bus-cxl | 14 ++++ drivers/cxl/core/core.h | 5 ++ drivers/cxl/core/mbox.c | 74 +++++++++++++++++++ drivers/cxl/core/memdev.c | 71 ++++++++++++++++++ drivers/cxl/core/region.c | 96 +++++++++++++++++++++++++ drivers/cxl/core/trace.c | 94 ++++++++++++++++++++++++ drivers/cxl/core/trace.h | 91 +++++++++++++++++++++++ drivers/cxl/cxlmem.h | 69 +++++++++++++++++- drivers/cxl/pci.c | 4 ++ tools/testing/cxl/test/mem.c | 42 +++++++++++ 10 files changed, 559 insertions(+), 1 deletion(-) base-commit: e686c32590f40bffc45f105c04c836ffad3e531a