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 4622BEB64D9 for ; Fri, 7 Jul 2023 20:38:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C270F6B0072; Fri, 7 Jul 2023 16:38:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BD8B78D0002; Fri, 7 Jul 2023 16:38:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A9ED38D0001; Fri, 7 Jul 2023 16:38:57 -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 978116B0072 for ; Fri, 7 Jul 2023 16:38:57 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id E24B5A012D for ; Fri, 7 Jul 2023 20:38:56 +0000 (UTC) X-FDA: 80985979872.17.1C7031A Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) by imf17.hostedemail.com (Postfix) with ESMTP id CC23D4001D for ; Fri, 7 Jul 2023 20:38:54 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=WH7E9lv9; spf=pass (imf17.hostedemail.com: domain of axelrasmussen@google.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=axelrasmussen@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=1688762334; 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=j5GzoeG98fEPpoz1Cl1g4Qg71twRkm1tM+omwnJ1Pnk=; b=G9l0lA2Q/K70Lqy/tETsQBFpSEDF8WxVWoNUpLnkfxvQLZBcTrlBrfToTlBlJ2dnP3l8E6 5qAY35MD4jRtj8Wp5jzDMNCMqOWkZTKqgA6Rhb8C0GnvlEIbZD3TPQaIO8Ng0Vu4JEzOie is2o9Dlxf1jiufWMcPsWeIgZJZXlFc0= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=WH7E9lv9; spf=pass (imf17.hostedemail.com: domain of axelrasmussen@google.com designates 209.85.218.45 as permitted sender) smtp.mailfrom=axelrasmussen@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688762334; a=rsa-sha256; cv=none; b=4sU3FoHhU/BuTDewCJExHQ9X4QKzuKaI0JKHwsd+KV2WNI/8v7/oUPv7suftesKLaYEPSj 4xtZDAFqSAp/Yz90Z8PI4iXPtoIjEyqU79h2Dftxaz5PsdksevcgJC6eYJ7xjufA7FhalG XhH3Ha/OWruHYpi76IkHLMe90BsflzI= Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-9923833737eso268468566b.3 for ; Fri, 07 Jul 2023 13:38:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1688762333; x=1691354333; 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=j5GzoeG98fEPpoz1Cl1g4Qg71twRkm1tM+omwnJ1Pnk=; b=WH7E9lv9EnTxKkw+kdIYBI9TKdORaKmjvGgb3pPV847969g1QlrNpJzaggCcNI2bbg h+aTRRezJFDZNa2ZALyMVsdt2NvoXYZGyWbcku/1E36NYHjSECN46W7AD+0oz1803eA4 lzdBpVev9ZPerFAPGyWWO/aHlqgZl1OgHopnYcusk3HaKmwHFdBjqlJcsIoNJzycsTn1 kfnhJVTTNJRQ2wO1kfChdtz/wWwRdt88CkvoYcHmynwgWZRDLPCqtSlJvsAVO5fi2LMu NHRdL3HXNn9cKscccOT7hsBazJ5f0Fua/tERjXEy/liWWxehP1UtUX7sQbJENxFBTTsl H3dQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688762333; x=1691354333; 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=j5GzoeG98fEPpoz1Cl1g4Qg71twRkm1tM+omwnJ1Pnk=; b=eCnvibFksMJ35kHJqSRrZ0KdY0WqSjM/dQBxpD2qq7xj8ydMEx9MQaP5oJPfEPKhp0 IuxpOQKKRYV0XO+yWKpWaF1irfDxJO+KwNc49VzD8FF8JLHgjRvuk7alz4A1iVEep1VJ 6QvTwS+YkaINu+a58ga4BQjYelxnF+3GTQ6k1eHMxbb/RGl1+8f5XCw5lsMBgXVfvCZe saEeWSC+00yUGpeC9jo6lirnsJ8SzOD274NiOziFqFWUi/RDH7dv98/EJh0OL+Ctqrj7 EMjgRCYs2mzokZiPuIcf896sUibFGHVxqsKKCGdH/U5gG7JNfQwDpVVnaev69vYvdMz6 dkNQ== X-Gm-Message-State: ABy/qLaYTrdhPAXaE9+HwhlHOLX+rVTVjqYLOqE55deUsWysb8yX6roX fU9aoO8M4qeJ2PNIMgkko+o32wj0G8aSUNoo3OMYAA== X-Google-Smtp-Source: APBJJlGvHGSDao1yQTFp/8AttfmOyAketz902pkJlwD7mID8tlI+W7elLQoXUGZjItFKxk9cWhaH/7FWxQqXJBHz7a0= X-Received: by 2002:a17:906:1001:b0:962:46d7:c8fc with SMTP id 1-20020a170906100100b0096246d7c8fcmr5864601ejm.21.1688762333216; Fri, 07 Jul 2023 13:38:53 -0700 (PDT) MIME-Version: 1.0 References: <20230706225037.1164380-1-axelrasmussen@google.com> <20230706225037.1164380-8-axelrasmussen@google.com> In-Reply-To: From: Axel Rasmussen Date: Fri, 7 Jul 2023 13:38:16 -0700 Message-ID: Subject: Re: [PATCH v3 7/8] selftests/mm: refactor uffd_poll_thread to allow custom fault handlers To: Peter Xu Cc: Alexander Viro , Andrew Morton , Brian Geffon , Christian Brauner , David Hildenbrand , Gaosheng Cui , Huang Ying , Hugh Dickins , James Houghton , "Jan Alexander Steffens (heftig)" , Jiaqi Yan , Jonathan Corbet , Kefeng Wang , "Liam R. Howlett" , Miaohe Lin , Mike Kravetz , "Mike Rapoport (IBM)" , Muchun Song , Nadav Amit , Naoya Horiguchi , Ryan Roberts , Shuah Khan , Suleiman Souhlal , Suren Baghdasaryan , "T.J. Alumbaugh" , Yu Zhao , ZhangPeng , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: CC23D4001D X-Rspam-User: X-Stat-Signature: 7p48fw5yqyjngx15i6pzdchie57ufmz5 X-Rspamd-Server: rspam01 X-HE-Tag: 1688762334-538556 X-HE-Meta: U2FsdGVkX1+REOgx2ghlqi+MPS1hcHadee4iWz9QzDL2Oc9ps80b1A9hY0ntbEdb0L/VdZUX56QBOdsi8VL+s5ZPYB7ESkfSSm+EfnkJBCIMwxm1r10i+68V+cu0+mE05cVOt+KR7cgvzu4Vnk439mc+zurfRCZMtSLboic6qpjyWPHs7zavwYyshM4EXBwOk+bFL2YjOeGZrBX4m6CLsTMX5DOrsV2jyNxDMbGyrmlJFhxP/BfrRACqhqeLUa+Q3JliYWJHfoOL1IjgbSOOVV+7JHL20V/EVLxnOIAakVw/M/xBfY5ZnP9puW+lJ3Odi4p3OEnY3fpd+8cKq5ndmEatZzJeuw2aHRKvEGzJxpGnI7sCkG1SnPBP9WYr+QI2+MOzbJeJO5U9AlugcZmBIRpN1kb2mcLl26hH0b7OnB0RmBTR4kc39VnDB2PBUAqCzVWZWO11GqPQOnhUQzeYjG1mnadqDMsrps7W02yorqVutXyuRpbrV9I30E7ChcClRK/1VFl7BM4yxSH/EgnxKNpPikyULMD2aZklJdCGMoPqwjknKDa474LmuF4S2o37bTN2oJEO3oeJJB6/s8Oqud9t57Gv6lkTaIT6vODxVV5nYzDWC8ILxCHlgNWJcLVJFhUEMqOuZ9I3h5MayZejR9AOQxFwWUHexHewF/LbOOYqCMHhAEg6NL+JVM65Hflei+392oeLguy27U8Zp0tiYSC8HyiyCGjO8iwkpDEcm83yxkJEfS5DS9XM6ZWbPk8hd4IZblDp90J2muEF9PgPbIsUN0uNAr/k6C7R5i93sAb3iCBcqd2hPYboLnU6jvRvL/wcsAJ22/XcWG5EjSLok/7QQzTfNWb/1UdA882wn3mgOvj/FOvxzdjeRONkTCgIgW+Dh2p/tJnak2bNYMV4NzqEZF48Na9SHwoVez+IjmOfq7iRa+GfIKaMRAV7cJmA2He9NiM007TkgIX3qgm BzlRH5yp WTiLekWllWr9xeHaFM5ijeNKYkoGtLgeMb3pDft58hqtC/TA8ovIVE00wdv7BaXYrCseGWZ9fKUIvgY75SUTqy/TycfhGBj3RvQ37G1Rxfsrm5/lNzFA3Ur5zP+KD4kbvwirbn4HfOwb+khYlxMD30d7F+r8EoJa00JMRjBGXN8Ag+hxiVSCF9qsgEemNQ5Whv7b7j8PDkiSWs8kyVvK2HHqCOF3WaelrguQPPmweeWx0RbLOwxRM2JUgtQ4ocRMbWtNTKEm5kulbfeArmwXIlrcOqS6MsB1ovi4OOL69LvW5ux+AmZzQxdNZJAxwAAzpv+3m 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: On Fri, Jul 7, 2023 at 10:03=E2=80=AFAM Axel Rasmussen wrote: > > On Fri, Jul 7, 2023 at 6:42=E2=80=AFAM Peter Xu wrote= : > > > > On Thu, Jul 06, 2023 at 03:50:35PM -0700, Axel Rasmussen wrote: > > > @@ -247,9 +245,13 @@ static int userfaultfd_stress(void) > > > { > > > void *area; > > > unsigned long nr; > > > - struct uffd_args args[nr_cpus]; > > > + struct uffd_args *args; > > > uint64_t mem_size =3D nr_pages * page_size; > > > > > > + args =3D calloc(nr_cpus, sizeof(struct uffd_args)); > > > + if (!args) > > > + err("allocating args array failed"); > > > > This is trivial, but I think I requested a "free" (or keep it allocate = on > > stack) in previous version but it didn't get a response on why we canno= t > > and it kept going.. could you help explain? > > Oh, sorry! I had meant to change this after our discussion, and simply > overlooked it while reworking the patches. > > I'll include this change in a v4 which also addresses e.g. the > comments on commit 1. Ah, so I tried switching back to the {0} initializer, and was reminded why I didn't do that in v1. :) Ignoring the missing braces warning I talked about before, using {0} here is actually an error ("variable-sized object may not be initialized") because this is a variable sized array (nr_cpus isn't constant). So, that option is out. I'm not a huge fan of adding the free() cleanup and dealing with all of the err() calls this function has. Originally I switched to calloc() because I'm not a big fan of VLAs anyway. But, as a compromise in v4 I'll leave it a VLA, and switch to memset() for initializing it. > > > > > -- > > Peter Xu > >