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 82280C76196 for ; Mon, 3 Apr 2023 16:44:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C6BDC6B0071; Mon, 3 Apr 2023 12:44:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C1C116B0074; Mon, 3 Apr 2023 12:44:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AE3FE6B0075; Mon, 3 Apr 2023 12:44:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 9B4D86B0071 for ; Mon, 3 Apr 2023 12:44:03 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 4EFB4120677 for ; Mon, 3 Apr 2023 16:44:03 +0000 (UTC) X-FDA: 80640651966.16.AD3205B Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf28.hostedemail.com (Postfix) with ESMTP id 1F66AC0012 for ; Mon, 3 Apr 2023 16:44:00 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="P/cJxQeR"; spf=pass (imf28.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1680540241; 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=XVGiDe1GkdsOT9JWQfHlYWDDmX0XUnWruX5ozd/Uk+0=; b=fo/08d4XhUv0zBrZ5Lwx1xdnwdBB5Jhb4SmStLszT1Mi41MuCayzWXA7frgGFAg9Z8ReO1 H96R510PnXfJs3Joa+xCDJQLhODzJc/ZCNknAP6uAD1f8LGiFk7AjdfdkpMBqfV8qvIuwl 0nhilUlCD5LFkVRnmR6bw13gvJ5Hl04= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="P/cJxQeR"; spf=pass (imf28.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1680540241; a=rsa-sha256; cv=none; b=M772I7p5xyU0CpK3nc/utySSr/NvURbkRkc5kEZbYforWh8JUmi5aiEVFvqZ7kscFBRy00 G9Fm0IPC5yhINhKVNQZGUj97jA9yF/+dEtMhJwOZH0aHRpBGKdlNS0iuxwz0jQmF/9D7Fm e7vEFb6dYbvZWMoVLn+L2BFs5wVSr5w= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1680540240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=XVGiDe1GkdsOT9JWQfHlYWDDmX0XUnWruX5ozd/Uk+0=; b=P/cJxQeRornEnmGAzcEXlo41boJPJIHCgEtugT95mL6vUGJqbUiQPZMLn7qPSVyPDdfdfd QpBBX1i4VFXeqHs8j6mhG+WzeQUqA1fyUyOi+TzVYC0HAvrLP/WAzjEQHq4RwzveGyYRjT mlNHXUiX4NzXymPGneEY6TJ7gfU7ohE= Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-615-wvia5yUZMPe7redE7a--hQ-1; Mon, 03 Apr 2023 12:43:51 -0400 X-MC-Unique: wvia5yUZMPe7redE7a--hQ-1 Received: by mail-qv1-f72.google.com with SMTP id l15-20020a0cd6cf000000b005df451a51ddso9174027qvi.9 for ; Mon, 03 Apr 2023 09:43:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680540231; x=1683132231; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=XVGiDe1GkdsOT9JWQfHlYWDDmX0XUnWruX5ozd/Uk+0=; b=OhikR0xAGRrocdePSHkPE0qZlzpM51DCjYJfjEa5yqHBur7zZzvlasl9f3vZHNQ85T VTM9vGLBOXXdRsXvEHd7YKC3lSmYGJl34jllj0WfhGPGMA+a+tlOPv1+8QUcXsF47wcz arNlT2BCgJgE7DGelGxOhC0xMaVEXyLe14vInsfTLPNi74I310eJD6FpaGlc4rfO3pZu 5K5Yrd3pZFsBsBxX8SMcFPZjcCWdmedAU/W254Go+gFbcHtHGq8/WRfp+ugSI7DaTnfu HSSMSKtXqDh+0kPR3uJj7rEMgSo88OtFGfNoGMSLJN3YGVxsw00DsBadEvtkdWDrH+ki scMw== X-Gm-Message-State: AO0yUKWp1bwQ0zuGz0kPuyzdB6Rty9Fa8IldSk3+nbixuL3rZOqpZule aNinohJ2JshfaEjjQ5gAMwN53VS/AdEvpW3tRnrYDAcGNnfWvVWDTHXL1rdN3djyWwjzWQSaYSs Nj9l94t7QJOM= X-Received: by 2002:a05:622a:1441:b0:3e3:c889:ecf9 with SMTP id v1-20020a05622a144100b003e3c889ecf9mr61308902qtx.1.1680540231258; Mon, 03 Apr 2023 09:43:51 -0700 (PDT) X-Google-Smtp-Source: AK7set8Mao/c8oTEy6R1RYMtBygjhwJTcm8vryVgWjjDeFRhfShcj9BuRddHEpnSf3AqTCB4rbemCw== X-Received: by 2002:a05:622a:1441:b0:3e3:c889:ecf9 with SMTP id v1-20020a05622a144100b003e3c889ecf9mr61308870qtx.1.1680540230949; Mon, 03 Apr 2023 09:43:50 -0700 (PDT) Received: from x1n (bras-base-aurron9127w-grc-40-70-52-229-124.dsl.bell.ca. [70.52.229.124]) by smtp.gmail.com with ESMTPSA id t18-20020ac87612000000b003e4d96eae60sm2650833qtq.4.2023.04.03.09.43.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Apr 2023 09:43:50 -0700 (PDT) Date: Mon, 3 Apr 2023 12:43:49 -0400 From: Peter Xu To: David Hildenbrand Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrea Arcangeli , Andrew Morton , Nadav Amit , Mike Kravetz , Axel Rasmussen , Leonardo Bras Soares Passos , Mike Rapoport Subject: Re: [PATCH 16/29] selftests/mm: UFFDIO_API test Message-ID: References: <20230330155707.3106228-1-peterx@redhat.com> <20230330160752.3107283-1-peterx@redhat.com> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Stat-Signature: 1x4jbbyrgg3sqybnkjrknxjwyht7scnb X-Rspam-User: X-Rspamd-Queue-Id: 1F66AC0012 X-Rspamd-Server: rspam06 X-HE-Tag: 1680540240-521760 X-HE-Meta: U2FsdGVkX1+mUrME3NK4TZBrWq7sfgp7JljqGJpwwjgV5hfSbVjViI4aur+F3Eaq9iOatIQ3tR6yM2n2Bo9y1uhMqEj9O9YtfpWkWarWQJUNE/6fzk4JD2JqQDO0YI+YYR1F43ei7qHldDCK3GFqycnbpH5ywkXNx+SC3+9047wzamHDilP5teB0fExVb522EXIlOZJ3nibMe4RKb2yklNFXCDTSG8H+ZaparD+7UMc1v9l2lXnE/wa5DVFLbrrn3mnIb0e4viIHx0iEJsNkh3dHH58vJsSl5weOCsaD2PHnOGro4nEqTCZ+NYA6G6fNvjWDigHwVJEDpz/FKkXSntYOCuT9KamOIc206qd8KgZH1nRlwe3CP5mPs/CdcX7a85oZXB1tcJYYKmYqpy/54ymbHeZvflwHKLq37chKpWMh1LBQv+3JV5ccV6jYvvhw/HAqsgKRhC66Li9nnE+Tm2sEHHH2A1Vr5pM092NKbcSL3d39HVTFDj0y5ifSC4Jl2olpM+ulUrPBbQ86syRRICUotrJ9GGMkZZoey7uAUUwkz7D6xfruu4ExN/eniJqAmPh6Saz/f1nJWb6jwxQ1r3XM7kaPbmaX0Kwwqhr8ZX7JHsY5ceZxk3Wkb7w2wQ8YedEKEHgu/c9Ag4g3EC20Rm0pZe+kRSai/mQ6zTPl3/JAqVSlHsF8c/z7cm4mwSF2Y3WrqQj22gAShFy2bvNwbP0GIF8S8z8v54N6Ou1KQxOmzlH4JOqlN7pdxN8LghtThbKxN/kAUqKmL1QCO6/ImqeSrAmYgEWPMW5P91Bez/wK0EsW0LWYvAMzwEMOy9y2cCEhcpQl+48Bq7MFREfCeyjLaWifVqYTrr4+nNhWwu9nK+cJX9JDQgTossP9HJmM0aqY6x5QselGlZOKAiDn5Xk7hdQ34Wj6CNMc7HceX/QRQFyUfFTka8PG6ugluoCV98ylxuWoHmo9lHKnyT7 5pkhxfaI MeEgeAJqW/nbhpENxdIr6fZqrue6nnC8VBsqXxPqU4Q1X6Tlj/EijKAI/N7Q/goAHZpTQ+9BumHbkk+Lh+vZwhJUUNm1b8kY6ZmujCJu3nD1XXz86uESzle0n+DFE7nN/eU6m3NFHAIOd+1FA/Dz42ODPIaSAM+zlwwfd0vi3AOwMnFMbDy2BQ87FpD8l2U9zTcwCZxD0MGvrSOxSY5d7MGO6b+P5v73bTq6oOJCVGUgd0+XGJslRmmGMgo6WLC/RDn41wa8aB65prayK87Oac+3qf3GetcCGUfWC8/CY3pYNXQYw7LfGQzAhk4kIMD+eXtq7acGsPojtonPqh40qNMegoyNEAbRzCCIbm1s2WeVXG0FUyMdt1g05AtSiZY7GVcCm1/5RU6vrqo5GmmlS75mgCf1jnwm2egvbSiKgwori6bJjM1fizjN3eb39AjazI3UuOZon55Zz61lHqqt9fjdn6JQ1NySKzzmaOeL3af9++w+2R6uGlx6jRg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000006, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Mon, Apr 03, 2023 at 09:59:50AM +0200, David Hildenbrand wrote: > There is ksft_print_msg, ksft_test_result, ksft_test_result_fail, ... do we > maybe want to convert properly to ksft while already at it? Yes, I started with trying to use that but found that there're not a lot of things that I can leverage. Starting with ksft_set_plan() - I think this is something we call first. I want the current unit test to skip everything if UFFD API test failed here, then I need to feed in a dynamic number of "plan" into ksft_set_plan(). But I never know after I ran the 1st test.. I can call ksft_set_plan() later than this, but it misses a few tests which also looks weird. It also seems to not really help anything at all and not obvious to use. E.g. ksft_finished() will reference ksft_plan then it'll trigger ksft_exit_fail() but here I want to make it SKIP if the 1st test failed simply because the kernel probably doesn't have CONFIG_USERFAULTFD. Another example: I never figured what does x{fail|pass|skip} meant in the header.. e.g. ksft_inc_xfail_cnt() is used nowhere so I cannot reference either. Then I don't know when I should increase them. In short, to make the unit test behave as expected, I figured I'll just write these few helpers and that's good enough for this unit test. That takes perhaps 5 min anyway and isn't hugely bad for an unit test. Then I keep the exit code matching kselftests (KSFT_SKIP, etc.). What I can do here, though, is at least reuse the counters, e.g: ksft_inc_pass_cnt() / ksft_inc_fail_cnt() There's no ksft_inc_skip_cnt() so, maybe, I can just reuse ksft_inc_xskip_cnt() assuming that counts "skip"s? Let me know if you have better ideas, I'll be happy to switch in that case. Thanks, -- Peter Xu