Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp152522pxb; Tue, 14 Sep 2021 21:46:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxeHHDaVvuHSFTCtFpSdXDlUiu2tBQMUiuB1OcwTYCQgU92DUQ/q0f0PsddmOiYwTp5vEvJ X-Received: by 2002:a92:ae0e:: with SMTP id s14mr15369502ilh.197.1631681177583; Tue, 14 Sep 2021 21:46:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631681177; cv=none; d=google.com; s=arc-20160816; b=UDJdFIPedP2OBwf0WYyb1eaHNDU1MZx4mwfvkK95K1kK4xfHep2OAvyPPI+iMTbKRN u5QVdaiTYp7jQ8M3jCvlybr1Sz0TXGGlsxjBh7kgsQXLyOgldPiG/N85mHma+9wyFB3R YVHQreBwF5ftA3Cnqqooo2np14SxgsCR7jD3nB/XJ9azwmB7tWseUqHvlA+DUIhsg8AV tjHSrQDAp7i9QS0ZVJWave4rGENjc6EhbBBMaXJqN/0SpqLH7uV/0t0eBPoDtrqSGme0 55ZuLco4oYjTT1KRBoabD7enxSRt2a2U03MPG2ZlWjQrZK5jcIkONGTe6iLdIMm4RQP4 /TTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=3ke2SRIGg+XGVFQMj2Nt31WiTZWFxp5XafAaSq0r4/4=; b=eQUhHCrlw9SkHiXaNwLAP5Ty/x0AOXF3/wSl6pBMWGiHVloJpKhpo7zxsSQV/lAGBO G9zu3B427BUJpDpKSkegHXkPRnq0d7W+0kQT72TdR3xNLaBS1hMh7A+NX7iTbl3Hyg7i MkFoizbwR4WZSjbgIgr3WTdXNjve/rn6RqC7RxJe9PeXSuuVND7UEyIiLhNt9lQe5Yno AqJ3OJ5ywSACUDnv5gQo9JIPL4VHNRMOmzRVh912GUfSiW/nJ1drrn74kRVLZqWU0yeG e+fDEUzAhhRM7q5/XFOCTxr3EnO0j6FklNE+cBfccLzTNz9G5EhqLcSDLhCRjmGnOo7V FBBA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=IgddcRQ7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k64si12509612iof.103.2021.09.14.21.45.45; Tue, 14 Sep 2021 21:46:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=IgddcRQ7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230517AbhIOEpk (ORCPT + 99 others); Wed, 15 Sep 2021 00:45:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38668 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230107AbhIOEpj (ORCPT ); Wed, 15 Sep 2021 00:45:39 -0400 Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BBB48C061764 for ; Tue, 14 Sep 2021 21:44:21 -0700 (PDT) Received: by mail-pl1-x632.google.com with SMTP id d18so836895pll.11 for ; Tue, 14 Sep 2021 21:44:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=3ke2SRIGg+XGVFQMj2Nt31WiTZWFxp5XafAaSq0r4/4=; b=IgddcRQ7nEVsnQHD4blpqVfJkt+DwRZsn1JfhZcfU2PVTGfTd0vg73tM/KT+8U8CQe 4e69bwZ4MTnHmixKqECl7S9IKK7tTvMFMonN6yRO1YQYg+hWwpT4triYtph1/StYGx34 3bofmcgWihb/3d3zyXxlicz/EYNzLwjDzqSrrO6LtGFPJ8hBS24ssqZsBwkjHjJvIFRw 1LVMGNbMDi/vkbi8B0Njra7wFPNrPBo9GjErDIN+CFkpa5XmGBMjkjEsbGZYud0bxZPj whnHExG6NPVNyWtCjro3XhdA0frBCxVdE62aac/hH0dUtSGi67RZez0dr3ad+kmbhlap y0Sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=3ke2SRIGg+XGVFQMj2Nt31WiTZWFxp5XafAaSq0r4/4=; b=R5Fkk7KDPv4O4pOrfXhdZirdEnlhhTOr//WOte9d4n3rDpKIFQrI7eCddXLrxAccYL ocQTnssMz1UBI5N5R3T6qXYZjvQCRoE8ZLSUc12v1EE2BMi8ARbWhkbcOGqclmL7SkyS aqmSi8LZunjCLzgkgXImE9a6irDLhcV88S6yUz4V7SZi1sNSA6ffitEma8pDOUYr7r5A i21LUM4rqaM8CKoeQl0iCE8PIugDbBn7xoCT1xL106oBVGAaB+pyaJ1CE5sJrd7lTuWd gBUgT10fbcmzTns3ShetNdY6ClRYFA+yNmIly/xSbI+FovkCW/JvK2viD5Vf7e7kJvku P6mQ== X-Gm-Message-State: AOAM531YjK1W63yzAl5qYQXdWCG371aVSJCJFgwbphy6X0zVTA4GEKpl ORHk44DjZC8ycGeK/nZSJb+s9KJMR8otor+jW9gjng== X-Received: by 2002:a17:90a:d686:: with SMTP id x6mr6263231pju.8.1631681061030; Tue, 14 Sep 2021 21:44:21 -0700 (PDT) MIME-Version: 1.0 References: <20210914233132.3680546-1-jane.chu@oracle.com> In-Reply-To: <20210914233132.3680546-1-jane.chu@oracle.com> From: Dan Williams Date: Tue, 14 Sep 2021 21:44:10 -0700 Message-ID: Subject: Re: [PATCH 0/3] dax: clear poison on the fly along pwrite To: Jane Chu Cc: Vishal L Verma , Dave Jiang , "Weiny, Ira" , Al Viro , Matthew Wilcox , Jan Kara , Linux NVDIMM , Linux Kernel Mailing List , linux-fsdevel Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 14, 2021 at 4:32 PM Jane Chu wrote: > > If pwrite(2) encounters poison in a pmem range, it fails with EIO. > This is unecessary if hardware is capable of clearing the poison. > > Though not all dax backend hardware has the capability of clearing > poison on the fly, but dax backed by Intel DCPMEM has such capability, > and it's desirable to, first, speed up repairing by means of it; > second, maintain backend continuity instead of fragmenting it in > search for clean blocks. > > Jane Chu (3): > dax: introduce dax_operation dax_clear_poison The problem with new dax operations is that they need to be plumbed not only through fsdax and pmem, but also through device-mapper. In this case I think we're already covered by dax_zero_page_range(). That will ultimately trigger pmem_clear_poison() and it is routed through device-mapper properly. Can you clarify why the existing dax_zero_page_range() is not sufficient? > dax: introduce dax_clear_poison to dax pwrite operation > libnvdimm/pmem: Provide pmem_dax_clear_poison for dax operation > > drivers/dax/super.c | 13 +++++++++++++ > drivers/nvdimm/pmem.c | 17 +++++++++++++++++ > fs/dax.c | 9 +++++++++ > include/linux/dax.h | 6 ++++++ > 4 files changed, 45 insertions(+) > > -- > 2.18.4 >