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 697F2C30658 for ; Fri, 28 Jun 2024 17:25:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B91D96B0085; Fri, 28 Jun 2024 13:25:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B423E6B0088; Fri, 28 Jun 2024 13:25:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A2FE56B0089; Fri, 28 Jun 2024 13:25:17 -0400 (EDT) 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 804B46B0085 for ; Fri, 28 Jun 2024 13:25:17 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 135A7A1DBC for ; Fri, 28 Jun 2024 17:25:17 +0000 (UTC) X-FDA: 82280973474.23.155D2AB Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) by imf05.hostedemail.com (Postfix) with ESMTP id 326C4100027 for ; Fri, 28 Jun 2024 17:25:14 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=E5Yz3xAL; spf=pass (imf05.hostedemail.com: domain of jiaqiyan@google.com designates 209.85.128.53 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=1719595496; 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=caKA1ZLZy4Gxv4ZL6Bf0GGH+gpZqMfFYuX6KpD7fNlo=; b=zXN/L8x7jtPaleiOWFE5doTkQi3CN4f4M/0F9xQkutQLqLRE8NGq+eDo3IYmirZl1kwPqa rrf9AZWLXC98qTJ0zH2mlQ9mjwf4XsXe9u+xk8Le87iqH6MbYp+dgXTqT4XTCnG2peUqOT RB9A7qxvHyWw9DVBxVsIByVDvt0bVq8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719595496; a=rsa-sha256; cv=none; b=IDQanFiFGe1tsFXG47qhmYpaxgUKcryiMHgEvHJq5RszbwwRWtaec0j7mgbmLBwC50awI9 j0sOcgZNpjM3i+Ye57dQzN5UerFKcWnyQ4PIEV5Rk+XnGn64Ssh287GzDOgkcx5LrLlG0v GyQ2OrdIsNV8W/pLlHZlMk66XM862Ec= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=E5Yz3xAL; spf=pass (imf05.hostedemail.com: domain of jiaqiyan@google.com designates 209.85.128.53 as permitted sender) smtp.mailfrom=jiaqiyan@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-42565670e20so12338245e9.0 for ; Fri, 28 Jun 2024 10:25:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1719595513; x=1720200313; darn=kvack.org; 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=caKA1ZLZy4Gxv4ZL6Bf0GGH+gpZqMfFYuX6KpD7fNlo=; b=E5Yz3xALngAra27mTW6LXuLC7X3zmtOxsJmB1MD1A5GKnPzCGqhbyyoCMWFMZivVeF kUcF/t5fK62ki7+AbpD15WwxGLLh4uW5ahVe2I12pbDpbvwTzjVPwj7YLaPjcp9ZMgnN RhYXJXeFJzu8M2xGzOiHGcRcwdq/6FDJUBbatRH+QJn9lBudLHDmdyOQy8u0wCWxGCNu iUw5l25mxC9Iyl3DwR4yGhNPDVOK3YEc795tDgKgXw9ZcsgS66MyqFdd65c7VGxhVVXr 3Dss/y2cgkOh0MlYwuGulSQa/aknxuzEm9zcw5g4zZO1iF89Fzq2l7DOXN9rO8IrugqN ISmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719595513; x=1720200313; 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=caKA1ZLZy4Gxv4ZL6Bf0GGH+gpZqMfFYuX6KpD7fNlo=; b=SWYqUlxUTXCwhsKv6CpLzAKa6e5Q2Q1WnJcQO+qbmHUGKDA31vLEH4ZnD5pRWVDg4X SrFXFGzZl7AvhlGg53sPH+O13IgXbatT+AzJnYzz/EftSxZaBHhRmMVvs5pNSrdL3GAp sSOwzGpVPh8Itvn4IeNHyNqWPue4ebVA60GRaOQ1/RNG1XYQ9oWWDvs3GQ/bTzRWL9D2 BQBNf9wI4paErzhWdEz5VMRsCbKLlKyQKET1dLP3dzvrmKuJSr23o9TfPKj2WO2gIMoc h/VBqWibtPnUII8MlEzOLOGJRmxEnfVpEjRhxPJytKMUtvHFHRBR8R5ozy3UNIgk4Ll3 xg8w== X-Forwarded-Encrypted: i=1; AJvYcCWAV0JkQiRBbRmmM9m4YNsyMtqitfdUlRHQWk/SJqju6NU9HUrMfaoWAZQ/al5YBgAz0+/J0lJqfzi51k2zRPdYZ2c= X-Gm-Message-State: AOJu0YwroB6RIA+sZbpFZrW55Gd8awWjtg/R37aHJNvcNJhIcTFsyerh 6uCHwiFyFzfq6yb0JqZ5cApmLMWofb9sGuvoPu54gwsrJon6pnjAfvcBrmbeSSMW8apf1YP2jjo OcCCqupfufIF43J1PTlA3IiU8FekSoTJLE5zR X-Google-Smtp-Source: AGHT+IHaga+0HZwFoMa7vh1+QWpuNmbt+Pa/Udmt9iDW5i8J5dXuxOLSqkHGx+gHqUzkUgc64qZI0rblrxW0ml7XPRE= X-Received: by 2002:a5d:648c:0:b0:367:42bc:b2dc with SMTP id ffacd0b85a97d-36760a6ab1fmr2440949f8f.7.1719595513311; Fri, 28 Jun 2024 10:25:13 -0700 (PDT) MIME-Version: 1.0 References: <20240626050818.2277273-1-jiaqiyan@google.com> <20240626050818.2277273-4-jiaqiyan@google.com> <0a28831c-b28e-6db5-0ef3-70940e75d4d2@huawei.com> In-Reply-To: <0a28831c-b28e-6db5-0ef3-70940e75d4d2@huawei.com> From: Jiaqi Yan Date: Fri, 28 Jun 2024 10:25:02 -0700 Message-ID: Subject: Re: [PATCH v6 3/4] selftest/mm: test enable_soft_offline behaviors To: Miaohe Lin Cc: jane.chu@oracle.com, rdunlap@infradead.org, ioworker0@gmail.com, muchun.song@linux.dev, akpm@linux-foundation.org, shuah@kernel.org, corbet@lwn.net, osalvador@suse.de, rientjes@google.com, duenwen@google.com, fvdl@google.com, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-doc@vger.kernel.org, Naoya Horiguchi Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: 7cpmt1hic1w38zboairgt4gwb88yepn9 X-Rspamd-Queue-Id: 326C4100027 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1719595514-920602 X-HE-Meta: U2FsdGVkX1/p189un9rmPXy2rbxkKdHuzUnxDkthx+i9m8RTewBKqX5PB5uAk0oAR9sO4wOGevAZeu3kHML+3ISP+mXean3gFOMONPpkbDqvQMk4E4nN+8xy+U+xS/ye2eXvbBNhVpU+jKzGmhddL3JUxcZwPtE5PN3UDvFqgYbVYnvmcxECMNlcDkdDJSrj5Pa+MpObjZC9/0O37ohY3FWxbQ9Y8EnO/rP6GjkoPTm8hDw67kLG2GxlXeBx2EyudE0hol15v1OQS5YPphRnYixYCgG+aMrZldVtGLyAx4+cJ7pXqatM5QgzUk0S4YRQaBM5AsbpICOnd0xLItxJR3Q08oNEsnlrqy1kEW4zZi6NaCWFznHbB1UDtwJHNja/fKuo9pYpKXVTlr7hQC+DQBqt5RDY8E/Ptq6qzo3RYTUr+eeYr9sbgWia9chsX8jV/qG5hn9OnhDHTVt29RoUoX8Ykh1+O1u+gSsWF7EBNY0cRak2CsayF1MWtc37EP0ipPONz/ocQx6qZdbiSEp4iILV+ydngFpII9+yGphhg1AeUXYUUbZsV4mZqJGv4Yn7GFHnzzV4UvrZa2Q3mzaANZXucz6WFPEv8Dq8f9OnBtYe8szFFkfvd3ba4kjj73+Tgeo3f7dThKRumb7Q1YCoVWyzz5vLzzsWJqX3UoT385gXf9XK9OWgLW/iSaAcefIulL3fCI8/sZIHXT5l/KQms96GmstzMr6CpN3K3EVvJ88AKrExStS1tTtTNwpI+NpQWWWEUEDCAmIFQO3w9LKZiWQdbJWQy7FD5kDgILsUIV1NsFJ/LfGaBP34oxFTBJBX5DEGOEAWxwtqfgAeqMcUqXtL3cLAaJhCgXL2bQqXMkaVlD2GF0SMK5LWwaIcRiXvmacUU2LLfeKsedjyadO4SGuKZdO7httk7XsbvzpfTHL6hV/eG4mgeq9d6WIoT9cXHNWDVfvGpRhvC0jO0pT z0SB6N7q dUICjJjAErEMK7thgQWCxgfsUTsCZGfwJH9V5vQUAky9Iyz/09Duc0nx8utzkKZc30xReAGjIaBD0kY+3Pl7Gh3/0PV6OnXPSfwf47NKxMac7An4cp1O25Mu8sLfqhh/6Yo74j6WdjxvVsSVzqJzd1yeT8CfiMnQ5OefOehcn3X8uNz9hWcY1CtwMLvkZ/o6zhSicqpGzv9hmboNCDYkl7o3L2eIe/CF3NPFsR8W/gri+cZv/tbMKlp9CI8TqbqXm3PBzWXG7FgLk3ylENeVAGD7e4uMVJjOraYDEYyxKLduEyv0QZNe29L5Iffnvf2Qi6E6lINmYJ3Agp0YhvkwrINjNdw== 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: List-Subscribe: List-Unsubscribe: On Thu, Jun 27, 2024 at 8:29=E2=80=AFPM Miaohe Lin w= rote: > > On 2024/6/26 13:08, Jiaqi Yan wrote: > > Add regression and new tests when hugepage has correctable memory > > errors, and how userspace wants to deal with it: > > * if enable_soft_offline=3D1, mapped hugepage is soft offlined > > * if enable_soft_offline=3D0, mapped hugepage is intact > > > > Free hugepages case is not explicitly covered by the tests. > > > > Hugepage having corrected memory errors is emulated with > > MADV_SOFT_OFFLINE. > > Thanks for update. > > > > > Signed-off-by: Jiaqi Yan > > --- > > tools/testing/selftests/mm/.gitignore | 1 + > > tools/testing/selftests/mm/Makefile | 1 + > > .../selftests/mm/hugetlb-soft-offline.c | 228 ++++++++++++++++++ > > tools/testing/selftests/mm/run_vmtests.sh | 4 + > > 4 files changed, 234 insertions(+) > > create mode 100644 tools/testing/selftests/mm/hugetlb-soft-offline.c > ... > > +static void test_soft_offline_common(int enable_soft_offline) > > +{ > > + int fd; > > + int expect_errno =3D enable_soft_offline ? 0 : EOPNOTSUPP; > > + struct statfs file_stat; > > + unsigned long hugepagesize_kb =3D 0; > > + unsigned long nr_hugepages_before =3D 0; > > + unsigned long nr_hugepages_after =3D 0; > > + int ret; > > + > > + ksft_print_msg("Test soft-offline when enabled_soft_offline=3D%d\= n", > > + enable_soft_offline); > > + > > + fd =3D create_hugetlbfs_file(&file_stat); > > + if (fd < 0) > > + ksft_exit_fail_msg("Failed to create hugetlbfs file\n"); > > + > > + hugepagesize_kb =3D file_stat.f_bsize / 1024; > > + ksft_print_msg("Hugepagesize is %ldkB\n", hugepagesize_kb); > > + > > + if (set_enable_soft_offline(enable_soft_offline)) { > > Nit: should this be written as if (set_enable_soft_offline(enable_soft_of= fline) !=3D 0) to keep consistent with below code? for sure > > > + close(fd); > > + ksft_exit_fail_msg("Failed to set enable_soft_offline\n")= ; > > + } > > + > > + if (read_nr_hugepages(hugepagesize_kb, &nr_hugepages_before) !=3D= 0) { > > + close(fd); > > + ksft_exit_fail_msg("Failed to read nr_hugepages\n"); > > + } > > + > > + ksft_print_msg("Before MADV_SOFT_OFFLINE nr_hugepages=3D%ld\n", > > + nr_hugepages_before); > > + > > + ret =3D do_soft_offline(fd, 2 * file_stat.f_bsize, expect_errno); > > + > > + if (read_nr_hugepages(hugepagesize_kb, &nr_hugepages_after) !=3D = 0) { > > + close(fd); > > + ksft_exit_fail_msg("Failed to read nr_hugepages\n"); > > + } > > + > ... > > diff --git a/tools/testing/selftests/mm/run_vmtests.sh b/tools/testing/= selftests/mm/run_vmtests.sh > > index 3157204b9047..781117fac1ba 100755 > > --- a/tools/testing/selftests/mm/run_vmtests.sh > > +++ b/tools/testing/selftests/mm/run_vmtests.sh > > @@ -331,6 +331,10 @@ CATEGORY=3D"hugetlb" run_test ./thuge-gen > > CATEGORY=3D"hugetlb" run_test ./charge_reserved_hugetlb.sh -cgroup-v2 > > CATEGORY=3D"hugetlb" run_test ./hugetlb_reparenting_test.sh -cgroup-v2 > > if $RUN_DESTRUCTIVE; then > > +nr_hugepages_tmp=3D$(cat /proc/sys/vm/nr_hugepages) > > +echo 8 > /proc/sys/vm/nr_hugepages > > +CATEGORY=3D"hugetlb" run_test ./hugetlb-soft-offline > > +echo "$nr_hugepages_tmp" > /proc/sys/vm/nr_hugepages > > Should we save and restore the value of /proc/sys/vm/enable_soft_offline = too? absolutely, thanks for catching. > > With above fixed, this patch looks good to me. > Acked-by: Miaohe Lin Thanks Miaohe, I will send out v7 with fixes. > Thanks. > . >