Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp5999170ybi; Tue, 4 Jun 2019 16:36:32 -0700 (PDT) X-Google-Smtp-Source: APXvYqyIfxGMdRYULF1XhE2CD9Uvh8Ay5ZLU+SPBuT5GhbC+j4bzPcVd4my4KamcN3qnURB4BOHP X-Received: by 2002:a63:5462:: with SMTP id e34mr381059pgm.400.1559691392475; Tue, 04 Jun 2019 16:36:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559691392; cv=none; d=google.com; s=arc-20160816; b=P9DzXd5C5HGQRt8+kljpI3jyjMdJlbySPG/0wanzMf1cN59KOTRx1+hvLGlr8JIWDR ++i3Cgj9ZR5kDMtM66F4cdRAcqIhGJv/4d6LceFhBxkGUA25Ur10NKNuWno7+Oep9eLM q57fQA7NxgCCWfaZ58pXMWToMENrfnUua82sa3Ps6KEOg5oLgRv7eySF7reXv6CfC36g /R3sd11brp3CbT3NzxgvXA98GT8XbxawkChlI2IUvs5WBRHW58QD1cVYeO2v90QYG5S5 OMA4/p/h0hvJgSrep1pXIeA1u8sbULIBm2W8MgyPrGbhPsKAoXPhO4mEeHQUGMx+kK2S 9G4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=yUmGpFNz6fygF8JqTGIH7xCmXTGijTn5zshzVeIRyeU=; b=CFEJuCP0pgNol0nzgjf+lVQuYn39dihPejhhIeBIn3Z0gxN5EI+sdRWZbTmCgegjWE O2eyjRruUkZr+ZXiCTjZ3Gnuf6owdnl4NX95tGPeCsSK+xtSVRUdqCsCSSeWzZLW4dm1 fS9GTCeU/zly028KKggfGvvxYkcmbr7vTPdO+FxxU4iIE75oSPoBqoLLzrGEJRzH6KxN sq4J9xp2/6veVDTfX79m9UBFOc8okBBZ02opzK+p1G+R7xFEKFEtiE2VMcBv0NQPuVuh nq4ks70DZTn6EzEPtllfWq8wvVxHG3W9pXfEuK0LB3pfKU6JTsf9mD+/O1dkAVql1+m4 GXdQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=n7729tdV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d2si24552174pgv.315.2019.06.04.16.36.16; Tue, 04 Jun 2019 16:36:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=n7729tdV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726835AbfFDXfO (ORCPT + 99 others); Tue, 4 Jun 2019 19:35:14 -0400 Received: from mail-lf1-f68.google.com ([209.85.167.68]:39263 "EHLO mail-lf1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726179AbfFDXfN (ORCPT ); Tue, 4 Jun 2019 19:35:13 -0400 Received: by mail-lf1-f68.google.com with SMTP id p24so11249939lfo.6 for ; Tue, 04 Jun 2019 16:35:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=yUmGpFNz6fygF8JqTGIH7xCmXTGijTn5zshzVeIRyeU=; b=n7729tdVd3jiiQzxyuAeBqRs5Gxta2lFj3c+5zHccv1uoJt2AmyWyIDUmg3JxWlagm M7C85QUZ1yXvYp4uRNAObTU5YeMqh3a1wo5N9AJPUoMbdbPZFo/1bO/N1rShEEWiWI/v Q5BI60V/NuZ52yrsR6VbaGcuc0c695fmqthfBEC0S0U3y4gF1Q08eneEUDigrRf9hMyB iQhbHsK661Yo5QjuEON5MQg+g2Pkp/H8jIb/fz9zGMrFKEuNEFNEvKupY/jJ8Vu91CzS 9bZX4E1E7GESuDjTm/u2NlMe8YNUYbmht0QRBeMkkioK7eHniavWPW592kDJkctLp/+R YphA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=yUmGpFNz6fygF8JqTGIH7xCmXTGijTn5zshzVeIRyeU=; b=idgpaLpjZcW0D+o6XCouATobzAgYS1o1ajknGrJfRi0k4P0UfyqIoa1NcIIKUvsEDD gHTrpyMgZDxFP2XGaBKGz4pmnEXdaiHVo/zY+qaeoL24EHHi5ta6nqa87jn8PIQ8IeO8 I8AKIxL0nSBE65GKVHHMi8Mvxzr65O976vCIdWFRMfmFDS7iln+Nvi2W+3DTITrR6g2k 79KtuyVkJDAbPQRkBKut6HCbpb/W2TndxT1hzqpnA0eRFZXDOwTPcia5MIHTM3iBONd6 PRigLMX64FgLR5F/rlLTGCMOKyBewP3gQ13IcLOvVjpIOj9ndaQXwBseMJYViXsfuCUb j49A== X-Gm-Message-State: APjAAAXeIB6fd552eUIsawNGWPPUsWX3kMbCQno20TepcIuOyqHzLahS fTyDR0v9sfsOMZPe2AGSj+Nifss4+HnvSJUc1T9/MQ== X-Received: by 2002:a19:7110:: with SMTP id m16mr18059760lfc.4.1559691310771; Tue, 04 Jun 2019 16:35:10 -0700 (PDT) MIME-Version: 1.0 References: <20190514221711.248228-1-brendanhiggins@google.com> <20190514221711.248228-3-brendanhiggins@google.com> <20190517003847.0962F2082E@mail.kernel.org> In-Reply-To: <20190517003847.0962F2082E@mail.kernel.org> From: Brendan Higgins Date: Tue, 4 Jun 2019 16:34:58 -0700 Message-ID: Subject: Re: [PATCH v4 02/18] kunit: test: add test resource management API To: Stephen Boyd Cc: Frank Rowand , Greg KH , Josh Poimboeuf , Kees Cook , Kieran Bingham , Luis Chamberlain , Peter Zijlstra , Rob Herring , shuah , "Theodore Ts'o" , Masahiro Yamada , devicetree , dri-devel , kunit-dev@googlegroups.com, "open list:DOCUMENTATION" , linux-fsdevel@vger.kernel.org, linux-kbuild , Linux Kernel Mailing List , "open list:KERNEL SELFTEST FRAMEWORK" , linux-nvdimm , linux-um@lists.infradead.org, Sasha Levin , "Bird, Timothy" , Amir Goldstein , Dan Carpenter , Daniel Vetter , Jeff Dike , Joel Stanley , Julia Lawall , Kevin Hilman , Knut Omang , Logan Gunthorpe , Michael Ellerman , Petr Mladek , Randy Dunlap , Richard Weinberger , David Rientjes , Steven Rostedt , wfg@linux.intel.com Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 16, 2019 at 5:38 PM Stephen Boyd wrote: > > Quoting Brendan Higgins (2019-05-14 15:16:55) > > diff --git a/kunit/test.c b/kunit/test.c > > index 86f65ba2bcf92..a15e6f8c41582 100644 > > --- a/kunit/test.c > > +++ b/kunit/test.c > [..] > > + > > +void *kunit_kmalloc(struct kunit *test, size_t size, gfp_t gfp) > > +{ > > + struct kunit_kmalloc_params params; > > + struct kunit_resource *res; > > + > > + params.size = size; > > + params.gfp = gfp; > > + > > + res = kunit_alloc_resource(test, > > + kunit_kmalloc_init, > > + kunit_kmalloc_free, > > + ¶ms); > > + > > + if (res) > > + return res->allocation; > > + else > > + return NULL; > > Can be written as > > if (res) > return .... > return > > and some static analysis tools prefer this. Sounds reasonable, will fix in next revision. > > +} > > + > > +void kunit_cleanup(struct kunit *test) > > +{ > > + struct kunit_resource *resource, *resource_safe; > > + unsigned long flags; > > + > > + spin_lock_irqsave(&test->lock, flags); > > Ah ok, test->lock is protecting everything now? Does it need to be a > spinlock, or can it be a mutex? No it needs to be a spin lock. There are some conceivable circumstances where the test object can be accessed by code in which it isn't safe to sleep. > > + list_for_each_entry_safe(resource, > > + resource_safe, > > + &test->resources, > > + node) { > > + kunit_free_resource(test, resource); > > + } > > + spin_unlock_irqrestore(&test->lock, flags); > > +} > > +