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 X-Spam-Level: X-Spam-Status: No, score=-10.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9C640C433B4 for ; Tue, 6 Apr 2021 02:39:24 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id EB74C61262 for ; Tue, 6 Apr 2021 02:39:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EB74C61262 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linux-foundation.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 586246B007B; Mon, 5 Apr 2021 22:39:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 535B96B007D; Mon, 5 Apr 2021 22:39:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 426796B007E; Mon, 5 Apr 2021 22:39:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0070.hostedemail.com [216.40.44.70]) by kanga.kvack.org (Postfix) with ESMTP id 23C2D6B007B for ; Mon, 5 Apr 2021 22:39:23 -0400 (EDT) Received: from smtpin23.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id C846A18018A00 for ; Tue, 6 Apr 2021 02:39:22 +0000 (UTC) X-FDA: 78000385764.23.9AF3B2E Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by imf01.hostedemail.com (Postfix) with ESMTP id C595B5001526 for ; Tue, 6 Apr 2021 02:39:21 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id 0DCAF6128B; Tue, 6 Apr 2021 02:39:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1617676761; bh=L4PfP8buDB33UfXmw4tX5ALYPYBeDUt2Tu5w7JmPnvs=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=D0tF+xWUeMfv4pAW2V0LFNUNqsek+Smyl/L1Y6D0lLskxx164M2H3YWzJuNdfDBai zlUz8MQw+4JFuv+RFadabuadWWeGBqh97bp2nkWF3SgrxtuP0TzTs5OpzRhHnyy/3d nKySkL99Y5uDpBVrczpQ1K719THS7UtZnjsgmAGA= Date: Mon, 5 Apr 2021 19:39:20 -0700 From: Andrew Morton To: Uladzislau Rezki Cc: linux-mm@kvack.org, LKML , Hillf Danton , Michal Hocko , Matthew Wilcox , Oleksiy Avramchenko , Steven Rostedt Subject: Re: [PATCH-next 2/5] lib/test_vmalloc.c: add a new 'nr_threads' parameter Message-Id: <20210405193920.46d3792200ad05f4a7c66829@linux-foundation.org> In-Reply-To: <20210403123143.GA38147@pc638.lan> References: <20210402202237.20334-1-urezki@gmail.com> <20210402202237.20334-2-urezki@gmail.com> <20210402145934.719192be298eadbeecb321d2@linux-foundation.org> <20210403123143.GA38147@pc638.lan> X-Mailer: Sylpheed 3.5.1 (GTK+ 2.24.31; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: C595B5001526 X-Stat-Signature: 8dmxcaphxqukx4jg1r3jq7q84btrff6u Received-SPF: none (linux-foundation.org>: No applicable sender policy available) receiver=imf01; identity=mailfrom; envelope-from=""; helo=mail.kernel.org; client-ip=198.145.29.99 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1617676761-325115 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 Sat, 3 Apr 2021 14:31:43 +0200 Uladzislau Rezki wrote: > > > > We may need to replaced that kcalloc() with kmvalloc() though... > > > Yep. If we limit to USHRT_MAX, the maximum amount of memory for > internal data would be ~12MB. Something like below: > > diff --git a/lib/test_vmalloc.c b/lib/test_vmalloc.c > index d337985e4c5e..a5103e3461bf 100644 > --- a/lib/test_vmalloc.c > +++ b/lib/test_vmalloc.c > @@ -24,7 +24,7 @@ > MODULE_PARM_DESC(name, msg) \ > > __param(int, nr_threads, 0, > - "Number of workers to perform tests(min: 1 max: 1024)"); > + "Number of workers to perform tests(min: 1 max: 65536)"); > > __param(bool, sequential_test_order, false, > "Use sequential stress tests order"); > @@ -469,13 +469,13 @@ init_test_configurtion(void) > { > /* > * A maximum number of workers is defined as hard-coded > - * value and set to 1024. We add such gap just in case > + * value and set to 65536. We add such gap just in case > * and for potential heavy stressing. > */ > - nr_threads = clamp(nr_threads, 1, 1024); > + nr_threads = clamp(nr_threads, 1, 65536); > > /* Allocate the space for test instances. */ > - tdriver = kcalloc(nr_threads, sizeof(*tdriver), GFP_KERNEL); > + tdriver = kvcalloc(nr_threads, sizeof(*tdriver), GFP_KERNEL); > if (tdriver == NULL) > return -1; > > @@ -555,7 +555,7 @@ static void do_concurrent_test(void) > i, t->stop - t->start); > } > > - kfree(tdriver); > + kvfree(tdriver); > } > > static int vmalloc_test_init(void) > > Does it sound reasonable for you? I think so. It's a test thing so let's give testers more flexibility, remembering that they don't need as much protection from their own mistakes.