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 34165C4345F for ; Thu, 18 Apr 2024 17:27:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8FAF76B0087; Thu, 18 Apr 2024 13:27:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 883A66B0088; Thu, 18 Apr 2024 13:27:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 74B776B0089; Thu, 18 Apr 2024 13:27:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 56FD26B0087 for ; Thu, 18 Apr 2024 13:27:20 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id CEA0B1C13B5 for ; Thu, 18 Apr 2024 17:27:19 +0000 (UTC) X-FDA: 82023333798.27.6D28800 Received: from madrid.collaboradmins.com (madrid.collaboradmins.com [46.235.227.194]) by imf06.hostedemail.com (Postfix) with ESMTP id 0DD8318001C for ; Thu, 18 Apr 2024 17:27:16 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=collabora.com header.s=mail header.b=kRuaGJy0; dmarc=pass (policy=quarantine) header.from=collabora.com; spf=pass (imf06.hostedemail.com: domain of usama.anjum@collabora.com designates 46.235.227.194 as permitted sender) smtp.mailfrom=usama.anjum@collabora.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713461237; 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=Laz3YY/pRwjhEPlReXednwMuHj5v0/Fo3EnddQrGZXg=; b=BttNDpi5ONqsiPFbMO0PG4kiidjC7C0UkjqtjN5Gcu0Fjaq2lT4C5w4dojZzrDSZtbW5Ah j/k9RR/3UujaXgdOq2X2RGmy0nTu+sinpUT6IuIkt5m/H4zSP9q2DdUYho8f+nbRUr3NqS 2qRnmVG1QEpxl9nsKL440gXQWJfEl4Y= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=collabora.com header.s=mail header.b=kRuaGJy0; dmarc=pass (policy=quarantine) header.from=collabora.com; spf=pass (imf06.hostedemail.com: domain of usama.anjum@collabora.com designates 46.235.227.194 as permitted sender) smtp.mailfrom=usama.anjum@collabora.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713461237; a=rsa-sha256; cv=none; b=sauFJua38VtVTvZTTi0sswWLi5oRoYGzv/FSfZzxedC83foWitKpdrIjux8uBfRcoPJ1yZ 5IdH+EN9QZZtg+HRS/ZYIXC8FBmgy0fonePSfWBqVoeIw8Vk/ehtfKO7uN5mAQSk09C/g+ ymKMeU0y9Emo4fuAHxowxbx9N73tkaA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1713461235; bh=HVXdP9+hdhPa8t0waMIBMqruj5ig5/COewl3jY0u/u0=; h=Date:Cc:Subject:To:References:From:In-Reply-To:From; b=kRuaGJy0ZsiFIrzLhYIk20HwhjjEwqSqBNszu7ky4ue1t9t8soJjdiqtV2Mxwdfo3 BwoWC4eps1qGzic59IBvclqfPbNmU1B32aZJAWibvncEQ378/7T+FIzEwqprvveVVz SAWW4N4ingLQTSa1/k40bzGBAZfXNmhl5FVeHNVszZhzxs3OpyFWANj5U/ycz53V+V S/R1MzbRU/QN/Bfr14rwVwhF2FPliE6MvN9NWThnXy3d6IU1RvVYqUV+hXhPZcCUB6 YmPtUxZ/xNs24Bhg4m/VRaFx/oI3NURqTOHUNrJDL9J2IbWCc1sQfbqd9Z/NMPAwqe QvRtImGGjADzQ== Received: from [10.193.1.1] (broslavsky.collaboradmins.com [68.183.210.73]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: usama.anjum) by madrid.collaboradmins.com (Postfix) with ESMTPSA id 981C037813E3; Thu, 18 Apr 2024 17:27:10 +0000 (UTC) Message-ID: Date: Thu, 18 Apr 2024 22:25:05 +0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Cc: Muhammad Usama Anjum , Andrew Morton , Shuah Khan , kernel@collabora.com, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] selftests: mm: restore settings from only parent process To: Joey Gouly References: <20240314094045.157149-1-usama.anjum@collabora.com> <20240418125250.GA2941398@e124191.cambridge.arm.com> Content-Language: en-US From: Muhammad Usama Anjum In-Reply-To: <20240418125250.GA2941398@e124191.cambridge.arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 0DD8318001C X-Stat-Signature: edzs9tw6tj8hwkiecpzr5fq1degbtiak X-HE-Tag: 1713461236-10869 X-HE-Meta: U2FsdGVkX19Zz/YzqC7sa3qqfc8Hg0UA2hI9R0odEPBuTA3gah1PnfY6uMGimwLtdd3kRdeHggL7a8vthPVwbq8wA7lbbfh4wfwdIIHEo4TIZXJXdv7eCclKduAga8anqWEd/6eQyMtQpvrwpr+HG3aOZ0/dg590/mgIIdsels+Rb8niQTumXQ5Noijyv46O/UzPn4LYGjqjmZfx7QIZ/ymwvqZT9R5/Chu8Yzxgu+H3/OMJ5dZ7JhqwoxOUktmkhiSuTDgyfAQ9WWTBpn4jp/QLIQhca8RpX3Aas3ywkRCEbkcvs0vLoYfiaRpbhkOeYJ+2V8EFeIrmceNJijHyIui+Yv4mgImfMb1ihlXIJQEY2KTsVZ250ZnBHgXABqLAzhxot3CD5702Dp6QU5qyZA2/4H8CU2if+58UU4w62LrHN7Sk+Si/bcMw1chB08jG2mRTav7MnuDV789dHJLgvFI7c7UCfvsg/5YD+IrdWvIt5SzLXJW507eBF9B1tRcWLUjE21YCOApVzBVH4s2aUXjXSMbJyrfuwVPCcCIJ8jyxnUSFKhYm+wH0lXHMxfmYt1OfFT1VsZBJjXsDVTIsYCm13Rt+Eqbl3ZB/6Jcbaca01w/+NaWj4ERDkNgAjuOCjsFyrrxBLaRmVCeQgei2LEsDyEUwyMA/AvaRn9HOK9ATLk334LkJFSeAfK9YI+QjtVoh8MEBBwx6f1bzIbsLv+jSBv1wLCAIoCFHR6XwI35tiO6KoNhGMrBT9oEYCux80MZTx9E6Kc2wM/ahI/4FtrWofyxEGHiA7mawXjegUHkH8FdF55rglNOb5OjpnNNi27i6nHbuBnUZl9LhWhkxmHSXDHhbfh+07u3JqtapL4XzSZCOv6KmYEjL9BsLYG6NgRAh51g0chjWijUOxAnZOahtuaBjb2BXTOyaN1BLqt0eIJExaSNpnp6AyVwFfMb81fTvWTesiKASjhX262W NeahPXaG qXZSoJcBeT+FBE0KqROD4uC2FlqKj0PfBYkqTvG1C1viNn7k4c73NQVyY7zMHjTqtG3WPMQF7A72rmq79ygMVCscx89fGYz8Vza+kGzMJRSqd9/WgDLZZCDwDPsSx60uEUn2AsXgA+NRkRAUqev0goK3Mq/XOTkEBxqAfcrXDUFfSEUg4nqHSYpVBpxoHqKQGKPlZ93dD40vYMovndYdB1VDbg8CtjUAtREVlxGkWh2YPwdnp5Siu/1R7zqEXLVX0daatS+8A3OkaejUu/2k6NKK1olkPvGgu3acQ65sccpv5LpzmbJmsOWNREoiZpMX4xq49h/U5g0LJTchBGWe8f6wFbk00dukYMK5ECzPGZ/huZag= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000002, 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 4/18/24 5:52 PM, Joey Gouly wrote:> Hi again, > > On Thu, Mar 14, 2024 at 02:40:45PM +0500, Muhammad Usama Anjum wrote: >> The atexit() is called from parent process as well as forked processes. >> Hence the child restores the settings at exit while the parent is still >> executing. Fix this by checking pid of atexit() calling process and only >> restore THP number from parent process. >> >> Fixes: c23ea61726d5 ("selftests/mm: protection_keys: save/restore nr_hugepages settings") >> Tested-by: Joey Gouly >> Signed-off-by: Muhammad Usama Anjum >> --- >> tools/testing/selftests/mm/protection_keys.c | 6 +++++- >> 1 file changed, 5 insertions(+), 1 deletion(-) >> >> diff --git a/tools/testing/selftests/mm/protection_keys.c b/tools/testing/selftests/mm/protection_keys.c >> index f822ae31af22e..374a308174d2b 100644 >> --- a/tools/testing/selftests/mm/protection_keys.c >> +++ b/tools/testing/selftests/mm/protection_keys.c >> @@ -1745,9 +1745,12 @@ void pkey_setup_shadow(void) >> shadow_pkey_reg = __read_pkey_reg(); >> } >> >> +pid_t parent_pid; >> + >> void restore_settings_atexit(void) >> { >> - cat_into_file(buf, "/proc/sys/vm/nr_hugepages"); >> + if (parent_pid == getpid()) >> + cat_into_file(buf, "/proc/sys/vm/nr_hugepages"); >> } >> >> void save_settings(void) >> @@ -1773,6 +1776,7 @@ void save_settings(void) >> exit(__LINE__); >> } >> >> + parent_pid = getpid(); >> atexit(restore_settings_atexit); >> close(fd); >> } > > After more testing, this is not actually enough. It passes sometimes, which is > why I gave my Tested-by, but it can still fail the same way as I originally > said. > > assert() at protection_keys.c::812 test_nr: 19 iteration: 1 > running abort_hooks()... > errno at assert: 12 > > I think the parent process needs to wait for all it's child processes (recursively). > This is due to the test_pkey_alloc_exhaust() calling become_child(), where it > exits, and that exit may be from the original PID. Thanks for reporting. I'll have a look at it. > > Thanks, > Joey -- BR, Muhammad Usama Anjum