From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E6D06EB64DA for ; Wed, 5 Jul 2023 16:27:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 65C798D0002; Wed, 5 Jul 2023 12:27:54 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 60C558D0001; Wed, 5 Jul 2023 12:27:54 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4D4858D0002; Wed, 5 Jul 2023 12:27:54 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 3D65C8D0001 for ; Wed, 5 Jul 2023 12:27:54 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 0DEA8160BE6 for ; Wed, 5 Jul 2023 16:27:54 +0000 (UTC) X-FDA: 80978089668.08.FE46D03 Received: from mail-qt1-f170.google.com (mail-qt1-f170.google.com [209.85.160.170]) by imf16.hostedemail.com (Postfix) with ESMTP id 36D4B180016 for ; Wed, 5 Jul 2023 16:27:51 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=DyQIomzb; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf16.hostedemail.com: domain of jthoughton@google.com designates 209.85.160.170 as permitted sender) smtp.mailfrom=jthoughton@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688574472; a=rsa-sha256; cv=none; b=GPggTkN29+Z+NTj9xtfrVvHqaBVUC/+QOo64gbH/TdO3CN5qi2AiT95PBWlnG//SiWD0YL 3GTHa9o0KV9ACW+YdFTA1mx+YTfQy1uuIzLyotUCeUP09rtxd21kyirXxBvnlCgvgkTYgL nBZ0Juaz9PBWm9gxFmIDNiStBpM3vDk= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=DyQIomzb; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf16.hostedemail.com: domain of jthoughton@google.com designates 209.85.160.170 as permitted sender) smtp.mailfrom=jthoughton@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688574472; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=6+b6HdBO2HTE2Fgq56si0I6hn366dTE1zq4yHg6W9Y0=; b=Rss67IqnZuiPgFkZdHsxgEgmGM67xJs8WfOLeWI3Iuprz8kzEYWQSrJ38GylLixp+EETBa ngNHTBw7DGDtWscLxkEiQ3I6YZ5Dw4858cA3kn5sly+l0En9fkTGjUGDUUfbmyk3prpksW XKDTnvwtaSjNUW4CcrBKcnUB9ObA/Sc= Received: by mail-qt1-f170.google.com with SMTP id d75a77b69052e-401d1d967beso1002721cf.0 for ; Wed, 05 Jul 2023 09:27:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1688574471; x=1691166471; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=6+b6HdBO2HTE2Fgq56si0I6hn366dTE1zq4yHg6W9Y0=; b=DyQIomzb0HGOrjSSZzDc25EbIFtjXS02c4XUBPZ89883pZrEXwEqIvAqTPU5izH4tI YzCv1bHM84pr9hrlxKNebT/aMAWEgU3frR2KZs+O82khTXgvFU6GKExm2m8fgSwVZTs4 N39yAxRq/LR4kfzHKjQ0el059sAmyDJchQJczSYHkJC8BKElkfESrFOV0WHqSP6P/ugT luZXSTTdIk1EcOK7bzX/Nmoey5akNpKPAGMDet04pI/vuQjxeDl89JFrRizqnnzdAqv+ +YJyEP+IyDmcRoyrqFke90XH4sLRTtB/CQJ+g9SKiCkYmIYqjAatKt5PLteziZEuBq5g RNxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688574471; x=1691166471; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6+b6HdBO2HTE2Fgq56si0I6hn366dTE1zq4yHg6W9Y0=; b=fH1orAXc59qF2fpi0quQIZgfyGh030tPF45tlj0mR0ZXEdl47W0SvOrCIcljTypQ1v fBxuX34N2qCf/faPweQNczXHZ+YjyJ711CfMxc+mHiijoTMx3wGzoTXMcazH/HBvmv9G sZZKlN+cfJwd/wqTCGXjQGbAOBgf4MH5dj2ZGYo1Aw5gIsr9Gzp9+8Ihs2ZR/B0FtvAY DU3/xNATYkkN8BHNUrWZkJDG0mnBkKGUuZiDxc24EIha6o59BA2X0ue8j1S4pReNHh64 5KedUm10kA1xBpWZnxZvymryPxemuHtgOVcoknpOy1uSkkih3Gh1Adh/jTkVRuxU4PKK +L+Q== X-Gm-Message-State: ABy/qLY95fKsElRPx0NxXl/nYan7SWUSLdgwm858L7RDMRc5C54njVec i7495sQ4ovOgUsEPpSQruiNzCO1buzutYcjUNtmsdg== X-Google-Smtp-Source: APBJJlGP8NPgExSaXIUaVZ5PBn6mZl70QFsmuVh+N8HQEo6jxCLPsG280YnB5ou2hwdGWMkQaNU4v0hovbQymt4kJrw= X-Received: by 2002:a05:622a:2d6:b0:3f8:5b2:aef4 with SMTP id a22-20020a05622a02d600b003f805b2aef4mr135081qtx.28.1688574471033; Wed, 05 Jul 2023 09:27:51 -0700 (PDT) MIME-Version: 1.0 References: <20230629205040.665834-1-axelrasmussen@google.com> In-Reply-To: From: James Houghton Date: Wed, 5 Jul 2023 09:27:15 -0700 Message-ID: Subject: Re: [PATCH v2 1/6] mm: userfaultfd: add new UFFDIO_POISON ioctl To: Peter Xu Cc: Axel Rasmussen , Alexander Viro , Andrew Morton , Christian Brauner , David Hildenbrand , Huang Ying , Hugh Dickins , Jiaqi Yan , Jonathan Corbet , "Liam R. Howlett" , Miaohe Lin , Mike Kravetz , "Mike Rapoport (IBM)" , Muchun Song , Nadav Amit , Naoya Horiguchi , Shuah Khan , ZhangPeng , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 36D4B180016 X-Stat-Signature: nyrdotmxoi83qm538mzhz8mbbso4x4ki X-HE-Tag: 1688574471-853413 X-HE-Meta: U2FsdGVkX1/2s3JWlW0qtj4V7XJE21j37HTDRNkY/OitxDl8yf2dht9FGZvwZEHPR1brP3a11AIIX7soTNdgxPD3pe2xBi5T1bz7sDwXGMCwzgn77hjfl6Mpt07NpjW2c2OjFj/EToWCP1uNA0IQyok6IPmdF3zFQmaR8jQHghA1Bz0mNw0PVNCvEuw9ZM5WF9OYDd96DFVdE9FaguA0tNRkzkB4INPM9/brnojaF0QuFTRgv2ckdsfC0qqiOAA5V5KgOmpTCcRJcE10RsNi6TP3vJsVpDPCty7aaPoo6uYr3F+Tq4VabJwkErQ/aYFy/SD6zHHUrN5iRCCRRMPcrrB1G+B7G91MGIg3azQlDcKQ6iB25DniiyOz47vjPOv55Hy4vByDIg+HO/gohtdO8LMyfXn4bIRlwtyPjR67aKtxY8U3HoCmm2i2Q/wQGiagrQDextMjE2BAhp2a2LxquAy5NsYtKHWm9WAJarrk/NTfQR9MdJKUrxcmS1JyDXuMdFCfIBNm1eev66w15gjDuAJqZ2w+ANjG+Eg3uChQp/xUP92uRhUQTpRv1TUTuzKN+28s5TeGscddJRCb8iRiX16RPzIiVRPRDDdE1LyjCbjEy5OeSJ0T80tocEoY0lCEcpw9qAM36hTtkH4Kyks+IIEjAGXJgldRCwYvcwng4D+FsQ3oIUx+DwEw1rWFkmFlYXbRl2ES7DkWgspEbt04PdBS8utqcn8jpH/X0N3uQJ9YDBnjEuRzpzPzm67UAWlZSYMUXPQ7WosN7EwA99OvsDIcLanZOsXVwsnREWsjPUfTIDT6HvdRPjWBDoacOq+U14Ui3q1ml2cQ18dxsL71s3V9UcL3oQ6MJ0WUNVL8bmMUwsXc5ofBWM+jEPeF+b0VJTfdY03Lsxeg6Dv3yU2cELa3vGohk7qEOXE1S1Xo544QEkCbWZ3ZBKHrHootav8dn+xkNO+ArCucgcEhTap q3K3h8HF /T0bA4RSacW/ju43lh4YW+2L9s9vonW6+eySE/gfQEgvdjmxCEelPyYYCRrsGaAebwoc/7/PmGot/vVMZv6P9KXy/3TrBprbZj8wfk+J9h7Af8iIdip17GtIfcf3DzK6if4f3lbrvDngsWIs3MDxNG+Cm4XEcXQM76CyX8kS37FwH7VvEwgyOBv6bITPuOJ0yEuzK6uGNp+wO1DB1l+gird2/DLCBzjKBLu47AYmk+EGpZkeKEdtRe6F/ghx61PSBv+SvKR/TOogVVl9sE+/hvUyAjPRD7bEfafDr4Bak84FqLz4= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Wed, Jul 5, 2023 at 9:15=E2=80=AFAM Peter Xu wrote: > > On Wed, Jul 05, 2023 at 09:09:19AM -0700, James Houghton wrote: > > > > diff --git a/include/linux/swapops.h b/include/linux/swapops.h > > > > index 4c932cb45e0b..8259fee32421 100644 > > > > --- a/include/linux/swapops.h > > > > +++ b/include/linux/swapops.h > > > > @@ -394,7 +394,8 @@ typedef unsigned long pte_marker; > > > > > > > > #define PTE_MARKER_UFFD_WP BIT(0) > > > > #define PTE_MARKER_SWAPIN_ERROR BIT(1) > > > > -#define PTE_MARKER_MASK (BIT(2) - 1) > > > > +#define PTE_MARKER_UFFD_POISON BIT(2) > > > > > > One more tab. > > > > > > Though I remembered the last time we discussed IIRC we plan to rename > > > SWAPIN_ERROR and reuse it, could you explain why a new bit is still n= eeded? > > > > > > I think I commented this but I'll do it again: IIUC any existing host > > > swapin errors for guest pages should be reported as MCE too, afaict, > > > happened in kvm context. > > > > I think swapin errors are treated differently than poison. Swapin > > errors get VM_FAULT_SIGBUS, and poison gets VM_FAULT_HWPOISON, so > > UFFDIO_POISON should also get VM_FAULT_HWPOISON (so that's what Axel > > has implemented). And I think that needs a separate PTE marker. > > My question was, should we also make SWAPIN_ERROR return VM_FAULT_HWPOISO= N > always? > > Just to recap from what I already commented above - if a guest page got > error in swapin due to block sector failures, it should be treated as > VM_FAULT_HWPOISON too, IMHO. IOW, I think current SWAPIN_ERROR is wrong > when in kvm context and we should fix it first. Oh! Yes, I agree, though I'm not familiar enough with the users of SWAPIN_ERROR to know if we can actually make this change.