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=-7.0 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 7970DC433DB for ; Fri, 19 Mar 2021 13:39:51 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 1F1D06023B for ; Fri, 19 Mar 2021 13:39:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1F1D06023B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 524526B0072; Fri, 19 Mar 2021 09:39:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4D4696B007B; Fri, 19 Mar 2021 09:39:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 34F678D0003; Fri, 19 Mar 2021 09:39:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0179.hostedemail.com [216.40.44.179]) by kanga.kvack.org (Postfix) with ESMTP id 15C666B0072 for ; Fri, 19 Mar 2021 09:39:50 -0400 (EDT) Received: from smtpin04.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id BE2CE8249980 for ; Fri, 19 Mar 2021 13:39:49 +0000 (UTC) X-FDA: 77936731698.04.960A60D Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) by imf12.hostedemail.com (Postfix) with ESMTP id 702F03D2 for ; Fri, 19 Mar 2021 13:39:44 +0000 (UTC) Received: by mail-lf1-f42.google.com with SMTP id f3so1706291lfu.5 for ; Fri, 19 Mar 2021 06:39:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=fyvAl1ud31RwhXT5skBunJKZtf9rGtmbohQtkuhaBSk=; b=FNzLDRJF5VVqujMp6CjY9HXNBHu0oM96hG2vqMHk4LjXWYoy9gq2VMV60K0S/u24dQ oOMN0u/GgBP3DjIT/Gxe6A1f3VcfmYkTcEE31YjwCzy/7uZV197fqAlwMY8sB473bkki 0iMkfzI6kArfHIJk3JckcSG5cG3sYRPSAJw2M+r6FU5McBNCdvWmeDsdfrPZYIyRjawD fIKjiSRUGxUlrxkVoGfoq2afnC5bnIkSRlNf0oD2qWoAT9n89gPa4vR4TdZNVsYWIejJ XZVDDCu0HBTMSB6tPEFCojFMppPix/9RR1seUQQTfL9LoBuH3QH5royapmSAAWhcppxa EwOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=fyvAl1ud31RwhXT5skBunJKZtf9rGtmbohQtkuhaBSk=; b=VPXU+GftEKYUElWdcLPWweXjZ0DTYyi3y5qZkLi+OyARXzdWZ1h+sr/XZoxmmQ5/tH w46wfT5hjuWkNtER+KtZMsAPfpPX2yS8LyGoaT1kTuWYaffbdoq+mNcTa58i16Uths+z BU8cUyc49zMYnOMkGAVpoPpqHhrtGRnFnNem7BGNGR6pEK/bHSFADB4rOGFxtZfayS47 /r6xKEggcFgVp2lNKH42fP6oVBYD3x1wJpatcZTJCRHVdlyqCE0CyNV8wwbJxP24cN8Q yPBPD4c153XK0hOuC+WNkoqzN5oq1hjVKF3QygBJzAymPeuUMxe+kw1qQV7m2dAuPYEf XksA== X-Gm-Message-State: AOAM532RBSlRU6jyV/xgTXornq/kaxJWv0IkI6OvLolKwznsL0CRP+iq z90tvhOzdO7I9P544E08LrA= X-Google-Smtp-Source: ABdhPJw5r8e8Ba4MBNEaR25BIUuum9HlCO5bvR7piOmAQCu+7ZIgvB+NuZZ8beSknWBvUVmPxfqthw== X-Received: by 2002:a19:7504:: with SMTP id y4mr858841lfe.616.1616161182717; Fri, 19 Mar 2021 06:39:42 -0700 (PDT) Received: from [192.168.2.145] (109-252-193-52.dynamic.spd-mgts.ru. [109.252.193.52]) by smtp.googlemail.com with ESMTPSA id d4sm638197lfq.270.2021.03.19.06.39.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Mar 2021 06:39:42 -0700 (PDT) Subject: Re: [PATCH v4] mm: cma: support sysfs From: Dmitry Osipenko To: Minchan Kim , Andrew Morton Cc: linux-mm , LKML , joaodias@google.com, willy@infradead.org, david@redhat.com, surenb@google.com, Greg Kroah-Hartman , John Hubbard , Nicolas Chauvet , "linux-tegra@vger.kernel.org" References: <20210309062333.3216138-1-minchan@kernel.org> Message-ID: Date: Fri, 19 Mar 2021 16:39:41 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 702F03D2 X-Stat-Signature: m7mopha9powwedfbrzwudwh7n116hwb5 Received-SPF: none (gmail.com>: No applicable sender policy available) receiver=imf12; identity=mailfrom; envelope-from=""; helo=mail-lf1-f42.google.com; client-ip=209.85.167.42 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1616161184-452321 Content-Transfer-Encoding: quoted-printable 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: 19.03.2021 15:44, Dmitry Osipenko =D0=BF=D0=B8=D1=88=D0=B5=D1=82: ... >> #include >> +#include >> + >> +struct cma_stat { >> + spinlock_t lock; >> + /* the number of CMA page successful allocations */ >> + unsigned long nr_pages_succeeded; >> + /* the number of CMA page allocation failures */ >> + unsigned long nr_pages_failed; >> + struct kobject kobj; >> +}; >> =20 >> struct cma { >> unsigned long base_pfn; >> @@ -16,6 +26,9 @@ struct cma { >> struct debugfs_u32_array dfs_bitmap; >> #endif >> char name[CMA_MAX_NAME]; >> +#ifdef CONFIG_CMA_SYSFS >> + struct cma_stat *stat; >> +#endif What is the point of allocating stat dynamically? ... >> +void cma_sysfs_alloc_pages_count(struct cma *cma, size_t count) >> +{ >> + spin_lock(&cma->stat->lock); >> + cma->stat->nr_pages_succeeded +=3D count; >> + spin_unlock(&cma->stat->lock); >> +} >> + >> +void cma_sysfs_fail_pages_count(struct cma *cma, size_t count) >> +{ >> + spin_lock(&cma->stat->lock); >> + cma->stat->nr_pages_failed +=3D count; >> + spin_unlock(&cma->stat->lock); >> +} You could use atomic increment and then locking isn't needed.