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 043DBC52D7C for ; Mon, 12 Aug 2024 06:20:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8F8B06B0089; Mon, 12 Aug 2024 02:20:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8A8296B008C; Mon, 12 Aug 2024 02:20:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 770206B009A; Mon, 12 Aug 2024 02:20:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 582366B0089 for ; Mon, 12 Aug 2024 02:20:15 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 13177A176C for ; Mon, 12 Aug 2024 06:20:15 +0000 (UTC) X-FDA: 82442593590.09.053F293 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf28.hostedemail.com (Postfix) with ESMTP id 37F9FC0006 for ; Mon, 12 Aug 2024 06:20:13 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=none; spf=pass (imf28.hostedemail.com: domain of dev.jain@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=dev.jain@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723443521; 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; bh=+ZZAMe+xvpU4xmpjtv0WEbyd7ya6mwLC5QAzmfeiRTE=; b=hDSjMvcU9jNwmdjj8JxDWA51mSMgYnCzCimDS1ujNsOS4a2rm/LyNxNzd9JxTgn7ekYUvj yPAS1zUadMOMUODpHoVrHs+UDdZFdY3tsCTCvcbqLyy8lnKE0gJk/mOeczw4R1IdZrIZh+ B1qfF09hmqfKMFHyKw6Z5hUgYK7/pWo= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=none; spf=pass (imf28.hostedemail.com: domain of dev.jain@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=dev.jain@arm.com; dmarc=pass (policy=none) header.from=arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723443521; a=rsa-sha256; cv=none; b=1Crc/BmJUeYcPW8wzUzbn8WXomAKIsAh2pvyMlblAgmdVsg8MD1HuDbi+a0eV/otydt1pz ltiTpvGHsZxn0pPTcX4GAlUVaILKJ7Z5JDr7Bq1QFxvO1OI9n9Z4sp2kYrFbx5hSIfw8aa sKnRSLni8G7Gb6F7dJ0eaQYCuddJuwg= Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 45830FEC; Sun, 11 Aug 2024 23:20:38 -0700 (PDT) Received: from [10.162.43.141] (e116581.arm.com [10.162.43.141]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 171353F73B; Sun, 11 Aug 2024 23:20:02 -0700 (PDT) Message-ID: <8ca30d9a-ffcf-4ccb-a791-2596b830cc08@arm.com> Date: Mon, 12 Aug 2024 11:49:59 +0530 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/2] selftests/mm: Do not fail test for a single migration failure To: Shuah Khan , akpm@linux-foundation.org, shuah@kernel.org, david@redhat.com, willy@infradead.org Cc: ryan.roberts@arm.com, anshuman.khandual@arm.com, catalin.marinas@arm.com, cl@gentwo.org, vbabka@suse.cz, mhocko@suse.com, apopple@nvidia.com, osalvador@suse.de, baolin.wang@linux.alibaba.com, dave.hansen@linux.intel.com, will@kernel.org, baohua@kernel.org, ioworker0@gmail.com, gshan@redhat.com, mark.rutland@arm.com, kirill.shutemov@linux.intel.com, hughd@google.com, aneesh.kumar@kernel.org, yang@os.amperecomputing.com, peterx@redhat.com, broonie@kernel.org, mgorman@techsingularity.net, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org References: <20240809103129.365029-1-dev.jain@arm.com> <20240809103129.365029-3-dev.jain@arm.com> Content-Language: en-US From: Dev Jain In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 37F9FC0006 X-Stat-Signature: 1xdptrrr87rm87dzpi8ymudu5jck755y X-Rspam-User: X-HE-Tag: 1723443613-613416 X-HE-Meta: U2FsdGVkX19FRX1JBQ/bxrL/wHzYYuxHHElOOW2jaFKxmLLGKOAb0SfQw3A0QVSCa2w9f/gUUb6+an297XOKnIpxuuKRiDULLhYp2vAGOasRTayu6GUMEV/SKlk5zbWQrbBPadcdSx6jjkjaTkzJRM8k0lRCxW9e7ilUJSR0dWJUVvB45pDz5706C6A9hcTTgmJ6w2G4kDwMnb4KPuGr/2cyaXdyJN3qZH1VD/tys6Ac4o3IoseTnLynCsNuvTMS4pzQF2dRS6rIcs93VvStNwR/mVup8jAlTcM+53gRyvNCAsunzS3U0+JDVPTuaToKyNwqxnures4c9C9w1t1gm80y24zHosdzKOxmSszVK9CYD/rPDlsqIn1S/mSMXg4+iBJ7zazPQDJjpmfoQMoAF8gZcKC88Q20ZZy35i6Tp5SOZQBpZ8n4mq+knsPRscqPCPv312+ZB8Z9Bg4HhqTBx3IgHrGbWU7CNLB/HftPw7xsvcJQmR6kG8uecqSfKAuuyRKSzYKLrtrkfTk+1iVdpE/0KbQM0XxR2gVRvu0FMO1tsGbOg2AEPyQZiv6T2RurDWCmRDqffISEhzRSpY86hl1duo0cukczUybgaKbF+O6ifbHGTcilwtL1xFl1hACir74hvsj0VV95wgWZvf/iMgFtK7mLTFdq9UHe5h+UEkj2YvWJzAyZMPSE+XKK5RcfdngvVA38ls88A59aO9OnR0w3JgsAYgD1NXqWaI5pUa9jvLq2uUn9JC8o894jGKp5sFDwgYJ3Cf6O5SlI2SDslav5f/NBgP52KdYC7S+S+RcX+qgKA84vCo5/WI13wufmIsfHtAoSsB459R5/WaIeA85wHqN28pYJzfyLfKOZIIqG6To5CSqavLoYREvB/pBIq02SnZhUo9smioml3MHW/GOyDNz41O9vfCXjIcC+z4tHUQaww8AqeeIyZYO20seZqn6KmMGj6Bnivf8btG6 sn3D3K9W iGSR2As13tm8EuHfG6dY8renpC4sdnLOJyLEjVGDhpGjWAOxBZAVrlfFoPVBoyeCpQBQzUfPzb3c8DNqF3Tu3us38PgJazci0yBSVse/Kvscy3cWXC193h9/rB0kJFfZBrbuuAHBnXpJRSDs4Ti6LLwfDLcxxIv/YLWZXOXt2rDx/FQCnVxAWuiDjiQO3E8k0WlyrLXK830QPJbaxr4o1oW4I3vHE0UWgiTnLiPCq757ncQVwSdDaB11l85zKeQBdSjPlJBxJGC9CG02y0FpdPiYdYPuXgshLZYs0 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 8/9/24 22:43, Shuah Khan wrote: > On 8/9/24 04:31, Dev Jain wrote: >> Do not fail the test for just a single instance of migration failure, >> since migration is a best-effort service. > > The cover letter says: > > "Given that migration is a best-effort service, it is wrong to fail the > test for just a single failure; hence, fail the test after 100 > consecutive > failures (where 100 is still a subjective choice)." > > You do want to mention the above here. Sure, shall update in v2. > > The reason being, I would like to know what this does to the run-time of > this test if migration fails and retried 100 times. Sure; just for the note, it won't affect the execution time of the test since that is controlled by a timeout mechanism. > >> >> Signed-off-by: Dev Jain >> Suggested-by: David Hildenbrand >> Reviewed-by: Ryan Roberts >> Tested-by: Ryan Roberts >> --- >>   tools/testing/selftests/mm/migration.c | 17 +++++++++++------ >>   1 file changed, 11 insertions(+), 6 deletions(-) >> >> diff --git a/tools/testing/selftests/mm/migration.c >> b/tools/testing/selftests/mm/migration.c >> index 6908569ef406..64bcbb7151cf 100644 >> --- a/tools/testing/selftests/mm/migration.c >> +++ b/tools/testing/selftests/mm/migration.c >> @@ -15,10 +15,10 @@ >>   #include >>   #include >>   -#define TWOMEG (2<<20) >> -#define RUNTIME (20) >> - >> -#define ALIGN(x, a) (((x) + (a - 1)) & (~((a) - 1))) >> +#define TWOMEG        (2<<20) >> +#define RUNTIME        (20) >> +#define MAX_RETRIES    100 >> +#define ALIGN(x, a)    (((x) + (a - 1)) & (~((a) - 1))) >>     FIXTURE(migration) >>   { >> @@ -65,6 +65,7 @@ int migrate(uint64_t *ptr, int n1, int n2) >>       int ret, tmp; >>       int status = 0; >>       struct timespec ts1, ts2; >> +    int failures = 0; >>         if (clock_gettime(CLOCK_MONOTONIC, &ts1)) >>           return -1; >> @@ -79,13 +80,17 @@ int migrate(uint64_t *ptr, int n1, int n2) >>           ret = move_pages(0, 1, (void **) &ptr, &n2, &status, >>                   MPOL_MF_MOVE_ALL); >>           if (ret) { >> -            if (ret > 0) >> +            if (ret > 0) { >> +                /* Migration is best effort; try again */ >> +                if (++failures < MAX_RETRIES) >> +                    continue; >>                   printf("Didn't migrate %d pages\n", ret); >> +            } >>               else >>                   perror("Couldn't migrate pages"); >>               return -2; >>           } >> - >> +        failures = 0; >>           tmp = n2; >>           n2 = n1; >>           n1 = tmp; > > thanks, > -- Shuah