Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4090478pxf; Tue, 6 Apr 2021 07:44:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy1ElLzdYE9qWgcco0oYnMy2K2A3hKAUFyHFPS0G5vvS/VVHD3nsoCHSUkWGev7sYd5XbgT X-Received: by 2002:a05:6402:3487:: with SMTP id v7mr38171513edc.302.1617720275604; Tue, 06 Apr 2021 07:44:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617720275; cv=none; d=google.com; s=arc-20160816; b=bRK5F4vHYus3qzoqzHNp998olQihWvCOcFBc9kk7aaPzKu5M0PEZbpHawXVc0Vw8Gx R3Q7nO6zEyMc65e4jvjn5VebUX+iVHgELf67z+VsvK6qTu4qG4nrId/3gj0TYU0uP148 Nj0uJxN2T8rRAglp8EHZ97qJ0x3I7VMRYtLBoQ63miCiN05dntaHrM43DgJ1xZ3v2dXX VQXvVZEJtPeITWg+cFGi8YUOuErXIqIEf7kgxa1xtIIfFwHzEfOxyXoKDH3M82RmZ7IH ixh5ZEsM7qcgGKDu32OzrdTyUPesKSUVvLrTQ2CD7n8x1qGcn/8pIiLVZdhn/lhPKwRd CP5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=lTjUq6JZ01+8l9XR7vleZ9+jYxCqBl+rAgtPTNmzTpQ=; b=PkiKbA3g4YjuC90i9ZvMXEKVjK0jRpJZp+xxvyB0Pg91P+w80TZrClwy6UnLw2B6v/ cI31QsAnoNqoC4n77QYCMlaAG3VaVm+COON94BrXuxgRLsRdqKOgcxDQonTb91I2yawT 2LvZ7QhbKwm7sxL/N6CnqSPSncqxYA0yEJr3l0/3ZNCqTJubuwi23yq7tYgXLf77TJUi LGUBy5uBb46itlSyYqlRRfR0XDn9PHldQZDNNJyvWj0nAppnZ1d+jGH3R9Wbj0VfqIG1 FURl5LhhGV5ytob1LsN3MqeNHYIooLPATPzgBWt1Z07K+t5kHLF5v6EQEBoK28E1h44W J4dg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=korg header.b=D0tF+xWU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m19si18247303edd.384.2021.04.06.07.44.12; Tue, 06 Apr 2021 07:44:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=korg header.b=D0tF+xWU; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243449AbhDFCj3 (ORCPT + 99 others); Mon, 5 Apr 2021 22:39:29 -0400 Received: from mail.kernel.org ([198.145.29.99]:53592 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243433AbhDFCj2 (ORCPT ); Mon, 5 Apr 2021 22:39:28 -0400 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 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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.