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 B4B33C004D4 for ; Thu, 19 Jan 2023 21:25:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 500176B009B; Thu, 19 Jan 2023 16:25:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 489506B009C; Thu, 19 Jan 2023 16:25:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 32A9F6B009D; Thu, 19 Jan 2023 16:25:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 1F5526B009B for ; Thu, 19 Jan 2023 16:25:13 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id E15D8C0399 for ; Thu, 19 Jan 2023 21:25:12 +0000 (UTC) X-FDA: 80372829264.26.59C27AE Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by imf24.hostedemail.com (Postfix) with ESMTP id 12EA2180016 for ; Thu, 19 Jan 2023 21:25:10 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=hTmFtJbo; spf=pass (imf24.hostedemail.com: domain of jiaqiyan@google.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=jiaqiyan@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674163511; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=jsHkviy8IWNJfd2eajkmT2uElkl0n6sMGQhlBWKw09c=; b=hhNfgAeBYD/OrZfICqc8fiMLqgRcQXYNbTpIJOu4N9h+tiBQRKZc7qXiEaDKCxIqSrtE1R 2iEa1t1CljSsbURlZOA9gQV47pm5DQH1rrvDgiOZzCgYR858BZ0dyn2Nk3PqK+7lhbme+1 eIBjwA+LLv8eThl04N4pRP/ozU8MJYY= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=hTmFtJbo; spf=pass (imf24.hostedemail.com: domain of jiaqiyan@google.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=jiaqiyan@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674163511; a=rsa-sha256; cv=none; b=IOfzHCzBAeewgfhZ+93Ka3b0hlIMdZE4O/cT04xu/OTVfYZKtdSQlV+3WWhZ87XmNi1TsE dGc3Xf76NNb+B/auM0viXb1Rgt5OJ+iHzMQLe4iDkwRrDPq1k44tIkBT5UFP5tK/H4JgbF UH/hCdGp27jaP1edg5BO3bcg9EU6ZYo= Received: by mail-pl1-f170.google.com with SMTP id z20so1551630plc.2 for ; Thu, 19 Jan 2023 13:25:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=jsHkviy8IWNJfd2eajkmT2uElkl0n6sMGQhlBWKw09c=; b=hTmFtJbopKXwL8/bESNQcB63FPMQSlLqLycTPMzK6H77mrlUGRk+OzaO48fuQ+6TyG +Ksrv78OkfXguQ4MJYjpmwaPmFPfjA9/URPNiK0CGD9jbTkq22R9lqLZGjRboRWcwi6F tZzhkoMfWD7MrZwjEU0FW2mA7r+stetQOJ3VVL9FYgIIRdDlbzK/nij2BMFqcFoDERNZ /xHQ2NncHPlG06Iw1hjMMewQvUuEOPHODhbtPLlDmipKel8qKHsq13KA1GPu2pODF/qc Wwa0XEbNY9b07k8KweMkgTxl3yC4ewtcBAJcX53L+Gpghr9wjIVFxbFeh+T9maV7f0lC KAOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=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=jsHkviy8IWNJfd2eajkmT2uElkl0n6sMGQhlBWKw09c=; b=HfBuJvOeR2JVnhHZrKQ1L3Qd+Wb5sTFVZHswY+6Q74QtpoOmy9VDN5DmxRsBS4O+t6 428KZ2f2Yb5QOt42L7AH0pPdTvYeuzb/7KJy2SNqFICK8ekdSIINFuHJfn5bBRQWSX0Y M7yHNse8x6p7KB1ayTS11Y0TpZNckECaCgaVvZkUEBFk1b3Y/JzO1Co1zBQfTEfjokm/ jrINHJ9MxhW4pfRLRznWYjk0D8DduE8kBsrY77+EsT8Ww8+BL2ltPtLtACN6vt37qSur K/o5b9AIgu1IFjvkPzerbDpT6HYO7HlSOwnpetT4gGCijtUpWu4FkfTJh0TONFKcIbYk mI4A== X-Gm-Message-State: AFqh2koOSk2z1Q9D3cVyeK45BJ+2Eadwp7cuRr6T/4dX+WyjZ1Xor3P1 sKTWUj+jGqdLIyFYvHWvx4gD52bFnddk+TU1DuNc6Q== X-Google-Smtp-Source: AMrXdXsPe7sgitSA6gkOzM0oh52FwNKLfxv7GbLyIlcItnxT7I7qbZCPU+O7BpvyG1vebfsdRBCgPvNSn9laYbxb81k= X-Received: by 2002:a17:90b:a0f:b0:213:d08f:a483 with SMTP id gg15-20020a17090b0a0f00b00213d08fa483mr1252301pjb.21.1674163509727; Thu, 19 Jan 2023 13:25:09 -0800 (PST) MIME-Version: 1.0 References: <20221205234059.42971-1-jiaqiyan@google.com> <20221205234059.42971-3-jiaqiyan@google.com> <20230119151001.jepfildnq5vjba5q@box.shutemov.name> In-Reply-To: <20230119151001.jepfildnq5vjba5q@box.shutemov.name> From: Jiaqi Yan Date: Thu, 19 Jan 2023 13:24:58 -0800 Message-ID: Subject: Re: [PATCH v9 2/2] mm/khugepaged: recover from poisoned file-backed memory To: kirill.shutemov@linux.intel.com Cc: kirill@shutemov.name, shy828301@gmail.com, tongtiangen@huawei.com, tony.luck@intel.com, akpm@linux-foundation.org, wangkefeng.wang@huawei.com, naoya.horiguchi@nec.com, linmiaohe@huawei.com, linux-mm@kvack.org, osalvador@suse.de Content-Type: text/plain; charset="UTF-8" X-Stat-Signature: i369zfgwk5sctg6idpybxwnz5591ddz9 X-Rspam-User: X-Rspamd-Queue-Id: 12EA2180016 X-Rspamd-Server: rspam06 X-HE-Tag: 1674163510-486168 X-HE-Meta: U2FsdGVkX1/SptHC2drj1J53rXlLeVO7GvPJcrMQcjSjzhUq1A55DA5Z0TVax3tymelIqIaPuizBuhI/XkF7R50/QWDZz7SeGgmr7edH+5QF2PmDxI0ANBcYoHIzooMRk/aebccPqTCW6sXGBRbe2Lhc/LXVrbTRhytDS4HUVjTxOHbgHKiE+fjFuaXBENPA2osmrwubP8P1LGblhhF/3p3W9AUF1MhFu/a2oaQV140e29kcjgaghbuSSltDBd5/f/zMLF2hW8OWOIreqA6fxJ1JSdjqmIhK4L3T2Sd02HphwuIyjj6JNF+aDEcgtrIukuEirEb/D5uvrAPssEli4kr2aairp2ySRFsQwblqCdqep/ZfElaane/2ndJEnfMcSQWxmJnimjRF8emXA4gf6bGnouK4CJ535feZ1fF73hSo/lIKk9uXkZpvDI6Z26Q5nSJAvswvglVzru1GZW7KwqjOlR1whZKBoOYa9RgTnusCvn5K2G7rtvJfzku5jT96YmGgHzroPr764A5zJHN26rJMgui8cDsEZT7BST6+trmWiK7/6Wv6hrdjTdZW28HnI5TQvhIxl4X4PEgf3w10fKX2dtdz0gF1V1VEw4KaiIPMiwiaiyUaI8hTeqAPBfqwgs0zFEuDRxxiKzIMBmSqHIXQn0m4xPamOTRHMLiELJBkgKRgh09igFMvhKhaRVXw3vkR95e9XOvIvimyuAS9xL5ophD+7/Siug8Uesw2ZdkwlXlxTnOWSSJl1X9T2FmXDb1AASS91ipcDrL8/Rw9IVLV01INwiIt1o25WS87Eed/8TJlCSeeove9ey4LR2mCUh4xyz4sVVjLAe17ncqGyesiFP49NX5oKwmfTlq0TwIsc9Y7mZLbJRnnPsH+15J8ddhc/RyMbbV0hbebIDXE+eDhUnIzrg7VVtOQinufls3Bq5gLQkvL5wILKfpds4NDVRcfHJY9S/7Mcu7YFOC nZvTSFgy vql1iLzJXoXQ0ZRG6mFsZGJf1xJAHfSwpxDoi6HgijjVDNDwR8ENO9dSwWadsvH9VOtJYST97NLX4zYitxFCfavzN2NP47CSAQGtit6YO8HnJvgnwYltcGyULzynxlGvogSqf1Ic1h15wViK0QdoHZP1/dMauHdsjQ0TrFUnWIakMXVBO9do+PXeY3XU12C8MJb2PL9kdfjcTXHI4sGMp6WXcSiO0rQdQ9RJTEsTzGP9az7fGSIn2fkip8HvBOdRsLOh3EW3L+3ncnSMn7NwscLJ/IXVes7zfUtXV X-Bogosity: Ham, tests=bogofilter, spamicity=0.000226, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Thu, Jan 19, 2023 at 7:10 AM wrote: > > On Mon, Dec 05, 2022 at 03:40:59PM -0800, Jiaqi Yan wrote: > > Make collapse_file roll back when copying pages failed. More concretely: > > - extract copying operations into a separate loop > > - postpone the updates for nr_none until both scanning and copying > > succeeded > > - postpone joining small xarray entries until both scanning and copying > > succeeded > > - postpone the update operations to NR_XXX_THPS until both scanning and > > copying succeeded > > - for non-SHMEM file, roll back filemap_nr_thps_inc if scan succeeded but > > copying failed > > > > Tested manually: > > 0. Enable khugepaged on system under test. Mount tmpfs at /mnt/ramdisk. > > 1. Start a two-thread application. Each thread allocates a chunk of > > non-huge memory buffer from /mnt/ramdisk. > > 2. Pick 4 random buffer address (2 in each thread) and inject > > uncorrectable memory errors at physical addresses. > > 3. Signal both threads to make their memory buffer collapsible, i.e. > > calling madvise(MADV_HUGEPAGE). > > 4. Wait and then check kernel log: khugepaged is able to recover from > > poisoned pages by skipping them. > > 5. Signal both threads to inspect their buffer contents and make sure no > > data corruption. > > > > Signed-off-by: Jiaqi Yan > > Okay, looks sane. Thanks for your review, :). > > Acked-by: Kirill A. Shutemov > > -- > Kiryl Shutsemau / Kirill A. Shutemov