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 9540FC77B62 for ; Thu, 30 Mar 2023 07:45:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1C66C6B0074; Thu, 30 Mar 2023 03:45:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1B5056B0072; Thu, 30 Mar 2023 03:45:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F22B46B0075; Thu, 30 Mar 2023 03:45:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id E29E56B0072 for ; Thu, 30 Mar 2023 03:45:47 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id BE16D1C6196 for ; Thu, 30 Mar 2023 07:45:47 +0000 (UTC) X-FDA: 80624780334.01.1AE0592 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by imf18.hostedemail.com (Postfix) with ESMTP id BBC6F1C0010 for ; Thu, 30 Mar 2023 07:45:43 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf18.hostedemail.com: domain of xialonglong1@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=xialonglong1@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680162346; 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: references; bh=dPR0hfq50PijXhsLX33GK6ckIrfxZlDJUmLfcEdL5Xg=; b=zV9a7dd8vLU8HizPBRdefA1/Rfn3NMH/rMO/5tSJJOco3mrWV9yQGoqJDiHM8DJ109ahYo zAIki3VMkpjwhM4HxtQJcPAb88Jk75ljZBJnlJGKlZskCFKVanRiy5N+J+umS3GFiK6O2G npYtvNThlcMOzT0Iaz6VDUWLwLgrvrM= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf18.hostedemail.com: domain of xialonglong1@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=xialonglong1@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680162346; a=rsa-sha256; cv=none; b=iiZa+8GC67qzPiMoEQgCQySzMKgMv0vUbrK58iHr+gX/7BqgIGOE6XphyPihciDacezdkY oq8dzlmlK9JW1VvUzY4bUnHZQqdYosG07XB8D/zTDRB2PbauCdzYkT4p5PpbXD/Q0lAF86 FwdnJO5/XRxXh3LiKrOg4vc/7MAC/fM= Received: from kwepemm600003.china.huawei.com (unknown [172.30.72.55]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4PnFmt2LgdzrZDC; Thu, 30 Mar 2023 15:44:30 +0800 (CST) Received: from localhost.localdomain (10.175.112.125) by kwepemm600003.china.huawei.com (7.193.23.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Thu, 30 Mar 2023 15:45:39 +0800 From: Longlong Xia To: , CC: , , , , , Longlong Xia Subject: [PATCH 0/2] mm: ksm: support hwpoison for ksm page Date: Thu, 30 Mar 2023 15:44:59 +0800 Message-ID: <20230330074501.205092-1-xialonglong1@huawei.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.175.112.125] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To kwepemm600003.china.huawei.com (7.193.23.202) X-CFilter-Loop: Reflected X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: BBC6F1C0010 X-Stat-Signature: 8kgdczru5dp4swpdngkjxs863giqs4kn X-Rspam-User: X-HE-Tag: 1680162343-860411 X-HE-Meta: U2FsdGVkX193lECvKMDbn8hbUJrHvnyScNxklNCBXPBFeyKPGngLS/Ghn49aVSnF13nMu23kx1VUGpr+OOKdNgsQ1ZfPFwFJZWxQVdDomBdsqpo9xJiRuAYgcnYLSaqQexdoPkL8cscLALiJzuOm+gvADvdPYWLX9ysUq0Aknj6tkiGGcC9iXKjmHwvhXI7XapkYHHpy+gOmbMHJFNR9OpLB798IYT4veTO1//q74ZasPUDZhlmZ8zbHWm0GSYTT073If56gITLsycoRkkU9ACb0PBdA35lpGsNho5+U3jakOsM5DjRiVyeqAx08srwlNbNCscMpv+7l6I+goAgLiy6nPbv+lZ6qF4Pv7GVxoGI4zglpd+krpM0/cIPpqryelZcrcf3b4E8Z38MbdjciYqn50fvO3qhdDhzCcysELG/m2/m9tnuR99ylCpDrJzzP3BYlYFKKK02YQRNS+MYX1F98AcxPXiS7o1GfZI00+Rwj08IMue130pUjRhT0vxf2iqOCMixhoYuMS0PaOHt+S4fLtvO9tJbZLUVUaVtLtNvnoogl/RTsIFq4EpVFa2odXMxSoVWVK+jjV3KY2sAmQMkr5hVPRbmJAvAFwFVDMXRP4c/nshf/XYOfjFpErpTqYM91z+D90nJGIdsil8hl250RJes3sI5EkqgQIoklCtUh9SMVG/80Ivyf7hJarHVIbjpRBLugdJrHW/IIeeRmIz99W7DkpGhtlpeCrPEE8dRu92ZM4Qio8pnhC3P9pYsSxNMr6I3yLNZwsaPjETZ/HIyJ4RASLqujBdP94jC3anN+vz0bO+f1l9BJF4U9iIY+MiELg2kqX9QWCB1IMmH1AYUd0m6skpq9PM0t3+M1miv22zK2iU/7LPqMWp2e2CUP4q3QwZg8Q+VUpZphkS4JcH7eDFI3dP2wSWPAUTHZGsie3uwYwbOoJPayfXYjKxqTQqnuNGHXedAqV29o/Gj Ou1U8HlF I4a0oln8FhgPKktEC6oOkQAxoikMzw69mJudqauFcgFfnd5iQwppkSGpt2hS/6wLqp6KAjeZp3eZ8eFvoCyMhjYQpplez1sNP2MV/NICBw44FWm1hUOS67P3LM1rmBVSyzPond5tq9ix59eCSq8tJBzQdTeHzPIHa1BwEGpdvkvn0cVAMkjmbvJhxUH1ci+C7gUkn 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: Currently, ksm does not support hwpoison. As ksm is being used more widely for deduplication at the system level, container level, and process level, supporting hwpoison for ksm has become increasingly important. However, ksm pages were not processed by hwpoison in 2009 [1]. The main method of implementation: 1. Refactor add_to_kill() and add new add_to_kill_*() to better accommodate the handling of different types of pages. 2. Add collect_procs_ksm() to collect processes when the error hit an ksm page. 3. Add task_in_to_kill_list() to avoid duplicate addition of tsk to the to_kill list. 4. Try_to_unmap ksm page (already supported). 5. Handle related processes such as sending SIGBUS. Tested with poisoning to ksm page from 1) different process 2) one process and with/without memory_failure_early_kill set, the processes are killed as expected with the patchset. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/ commit/?h=01e00f880ca700376e1845cf7a2524ebe68e47d6 Longlong Xia (2): mm: memory-failure: Refactor add_to_kill() mm: ksm: Support hwpoison for ksm page include/linux/ksm.h | 11 ++++++++ include/linux/mm.h | 7 +++++ mm/ksm.c | 45 ++++++++++++++++++++++++++++++++ mm/memory-failure.c | 63 +++++++++++++++++++++++++++++++++------------ 4 files changed, 109 insertions(+), 17 deletions(-) -- 2.25.1