Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp2139657pxb; Fri, 25 Mar 2022 11:47:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzfEs6C97ksiiME95UVI5/FWrnyNjqY54GTuVbMhHCJL70SmvLst8ZCRDgN/wogNuMO4+Xf X-Received: by 2002:a17:902:e20a:b0:154:bfb8:7141 with SMTP id u10-20020a170902e20a00b00154bfb87141mr12233313plb.164.1648234071891; Fri, 25 Mar 2022 11:47:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648234071; cv=none; d=google.com; s=arc-20160816; b=X+V/0dPoCcreE+QvgxL3ZWHvcYJeH7BjInockSBWIe/bpzAWZu8FumJKqkupuJpEUx oYGCJya+jPkSXwG7K7ZHhOP7702I8IdVV2zTYnqI70Ekt7XIZVYVYDXQ2EZ6akUizYx9 N5cO2a+EMS1WNyPDBvIlVZGbVBA7JG/7my0xbq9epfNE9dfgMMscR+bnb5iDd5nEB+km FvLrHcx7z4JcxRxgD/qBnXqmqfrv+L1Yweli/VWejQTKUR+5tEugRJ8qDoLh8VzMyNeI Cl2bduo4wnBf9mt+Y/2ZVXuz85VpL1j7uQLc8NTBJGqSjuLxJyySEniMe8C8VpP7OuXj 9sIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=j9PW9Nmnmr8RhfFTGsfhk5R8Ok1BoFEzWy/OLdaXZC8=; b=tTrg9QUNKhnf29i9VlLgAJoydCAfY230Gtyy4ungIvP9J1V7XX246SZEiz6uHLJGlC wQVOXmVKgJIjf+apSlsBXaYhh0VvR9AoQi6FvyZF/jxU5lYAw+/tKfIYdlyu/6P0T48R qZ4oaPRJIc43m0nE4mETwDc93zlaXOKOXm1uEwzY13ijd4ZR7oOHVnCOmQ0mQIxDxE4R Rolhtj+iYQfjvNBig2AyP4vaZMApNPGcgVMWo/B4P+sNpN+DdH/pEA18mtd5ORkha5Ua 6fttqM5j/9LsUPJ3FGLhKeYtD8ELi/Gzx62jTyawwFl5K/El4dQP5rr4KWD1NWdiSdvz GwWw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=rkRQcr0d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 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 lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id n16-20020a170902e55000b00153b2d16516si3492466plf.286.2022.03.25.11.47.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Mar 2022 11:47:51 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=rkRQcr0d; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 4BEFF1B2C63; Fri, 25 Mar 2022 11:03:04 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346565AbiCWXyW (ORCPT + 99 others); Wed, 23 Mar 2022 19:54:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57234 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233040AbiCWXyS (ORCPT ); Wed, 23 Mar 2022 19:54:18 -0400 Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 117D3403EB for ; Wed, 23 Mar 2022 16:52:48 -0700 (PDT) Received: by mail-ej1-x630.google.com with SMTP id a8so5945097ejc.8 for ; Wed, 23 Mar 2022 16:52:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=j9PW9Nmnmr8RhfFTGsfhk5R8Ok1BoFEzWy/OLdaXZC8=; b=rkRQcr0d4T7zR/olQuh3T4SdIaLIAkHjZGpFRFEb708iY/NkXbWAL8EcHV49uIe4ld seQzgeMdW6imJGSyWfIa3pZv7elk2l3u6sipIZVVcSVd1mCfmVUHz4c5TE1yhqQZSeuX BafityQ00e8cWUUJYFcWsFVmI3i/rlfE1lfxEknZ+KtzVZpze3YprOlNI0kULaxgfp9m UQ0+Ad53FCIwNNmymP0IByTH1X+L1XW1OBnmbi7uCXlfgy4oOPXqEPX8jRbWCfB6q4vi vGUV8EWGPkS/OgbHP5Cife+cgyR4Ms1DKEWDSORi1/ueTOQnhyaaNGgy7DNtWq4z2cx0 eJ9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=j9PW9Nmnmr8RhfFTGsfhk5R8Ok1BoFEzWy/OLdaXZC8=; b=00s0ZFhqpNDoW09AJrTj8kCiOwPcDtlLRkvV8wMF5AIm3P1fbnP3BwM+uiUNNZieAl qnaXqVWcZJcFBD0rUWmtzhmH9999iepsRYKm+7KSqTDlMS8FNrNVhYPzh2Z5rNW1d0i/ j4y3byC61qLIYZ1R4E/S6qxOBgkLNwnUfzQMMIk64Ycz+/NAEDSoIqp/yNVZFEiPD8LW KsMpFDluIm07wA9FHS0svmU27aTs6OGh4FPeKscVx1ujv8DAbmMfsCYpAp5hoichGyV4 0mJumVneIX7PPUbrw3M18pLHTdOTwjCfPqKb47FHV2v8JFv6AdodJzU86EYAmSooNsi6 PmcQ== X-Gm-Message-State: AOAM531/qxpy30tM6Gv1Rhg1I0AJ4QmxtMi7H0/dlOLvhHkMKhOqSBty 5RJb/LB9kGW2RzhhnGHOH3JEWyOoXTrcZ4gtlT2leg== X-Received: by 2002:a17:907:c018:b0:6df:e31b:d912 with SMTP id ss24-20020a170907c01800b006dfe31bd912mr2861056ejc.196.1648079566471; Wed, 23 Mar 2022 16:52:46 -0700 (PDT) MIME-Version: 1.0 References: <20220316024432.1454366-1-dlatypov@google.com> In-Reply-To: <20220316024432.1454366-1-dlatypov@google.com> From: Brendan Higgins Date: Wed, 23 Mar 2022 19:52:35 -0400 Message-ID: Subject: Re: [PATCH] kunit: split resource API from test.h into new resource.h To: Daniel Latypov Cc: davidgow@google.com, linux-kernel@vger.kernel.org, kunit-dev@googlegroups.com, linux-kselftest@vger.kernel.org, skhan@linuxfoundation.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-9.5 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE, USER_IN_DEF_DKIM_WL autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 15, 2022 at 10:44 PM Daniel Latypov wrote: > > Background: > Currently, a reader looking at kunit/test.h will find the file is quite > long, and the first meaty comment is a doc comment about struct > kunit_resource. > > Most users will not ever use the KUnit resource API directly. > They'll use kunit_kmalloc() and friends, or decide it's simpler to do > cleanups via labels (it often can be) instead of figuring out how to use > the API. > > It's also logically separate from everything else in test.h. > Removing it from the file doesn't cause any compilation errors (since > struct kunit has `struct list_head resources` to store them). > > This commit: > Let's move it into a kunit/resource.h file and give it a separate page > in the docs, kunit/api/resource.rst. > > We include resource.h at the bottom of test.h since > * don't want to force existing users to add a new include if they use the API > * it accesses `lock` inside `struct kunit` in a inline func > * so we can't just forward declare, and the alternatives require > uninlining the func, adding hepers to lock/unlock, or other more > invasive changes. > > Now the first big comment in test.h is about kunit_case, which is a lot > more relevant to what a new user wants to know. > > A side effect of this is git blame won't properly track history by > default, users need to run > $ git blame -L ,1 -C17 include/kunit/resource.h > > Signed-off-by: Daniel Latypov Aside from the discussion below, Reviewed-by: Brendan Higgins