From patchwork Wed Apr 24 20:35:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tony Nguyen X-Patchwork-Id: 13642498 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E4BE4C10F15 for ; Wed, 24 Apr 2024 20:36:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DC4596B00F9; Wed, 24 Apr 2024 16:36:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D31926B00FB; Wed, 24 Apr 2024 16:36:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B39948D0031; Wed, 24 Apr 2024 16:36:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 8FF588D0030 for ; Wed, 24 Apr 2024 16:36:31 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 0BE62810E9 for ; Wed, 24 Apr 2024 20:36:27 +0000 (UTC) X-FDA: 82045583214.01.9E201D2 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) by imf28.hostedemail.com (Postfix) with ESMTP id D04AFC0013 for ; Wed, 24 Apr 2024 20:36:24 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=oGQhxOLb; spf=pass (imf28.hostedemail.com: domain of anthony.l.nguyen@intel.com designates 192.198.163.17 as permitted sender) smtp.mailfrom=anthony.l.nguyen@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713990985; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=BPBbuKkzDpG9H6z1vOGEhGWYxM7f95Wx58OlPCoK2bs=; b=Bw1/MPJyyyQQJNqhA7nlblBB5KruYmXWKYoToYZ8mzDTB1RTu8SwUSBSlpWHP0pH2XZJZ8 WdSdjvSiuTLSrgIyTQPyLw/MovxnZIg4F9fnTEsuVexGK++ZNnBojs+vHf/2mJpY5hHH0p jA1b89r8+kvv1Up6gflWVm4z9iSl2NI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713990985; a=rsa-sha256; cv=none; b=HTePIFFN707L+DJjLcgsUsJEimR74ZlaZZc4KsAGgkg3TTlh1wJ9wZgjaCPWra0Jih5Nue 3C6eZNmJx+oa3LSgXqhZaU4ZMZ3S90Un5C5Q4tCX+vZS2lLKR0tmUHhS/Hxw7I/AptaPPV bVUxL9rhgv3uBWa+W1lt4eHgzpyMuAo= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=oGQhxOLb; spf=pass (imf28.hostedemail.com: domain of anthony.l.nguyen@intel.com designates 192.198.163.17 as permitted sender) smtp.mailfrom=anthony.l.nguyen@intel.com; dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1713990985; x=1745526985; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=+iBdN9qwYsupLiRtcC8aLfPs0tyeYkHT2kfHxgn2bRg=; b=oGQhxOLbiTBuT9OUSbjMjfySmdwqdkdyqwJ8CR4pUGmYYjp7od7oWrEe UWSG497KfUqDUJK7LKl5Frrp93xOrOFHLvhGqobP/IFv0qVfL4pNZWvey Iyif6DMg626f9128hACYAZwuhIu8hUPlf4F7G6jpnlk38rAMIx60u+y+s KiSBY1ljYdTgInM5VIpZETrpmQ8Qkd4IY6Yms6BBSWHU22iHKXzxf0euf ErkOkaxIQABBwWSMsCyuQPaKkF7Fdw8zHTKuT2jpZ0hWzAWdp0oLkC1eK QWMFSGZOzfrdx5sB5SSOr3xkoANF2zILzNYff1Rkb+9/lRIiEMJZ0YJC1 A==; X-CSE-ConnectionGUID: QHfg9RxgSTutAi+wN/wfDw== X-CSE-MsgGUID: E2dxj1DDTna2TwOfgZVRRA== X-IronPort-AV: E=McAfee;i="6600,9927,11054"; a="9511943" X-IronPort-AV: E=Sophos;i="6.07,227,1708416000"; d="scan'208";a="9511943" Received: from fmviesa003.fm.intel.com ([10.60.135.143]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Apr 2024 13:36:20 -0700 X-CSE-ConnectionGUID: mWMM8WDnQp+Y6dBCNkE1Xg== X-CSE-MsgGUID: PNbhioqHSf22kA2GPD2tPQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,227,1708416000"; d="scan'208";a="29314989" Received: from anguy11-upstream.jf.intel.com ([10.166.9.133]) by fmviesa003.fm.intel.com with ESMTP; 24 Apr 2024 13:36:19 -0700 From: Tony Nguyen To: davem@davemloft.net, kuba@kernel.org, pabeni@redhat.com, edumazet@google.com, netdev@vger.kernel.org Cc: Alexander Lobakin , anthony.l.nguyen@intel.com, hawk@kernel.org, linux-mm@kvack.org, przemyslaw.kitszel@intel.com, alexanderduyck@fb.com, ilias.apalodimas@linaro.org, linux-kernel@vger.kernel.org, linyunsheng@huawei.com, nex.sw.ncis.osdt.itp.upstreaming@intel.com, cl@linux.com, akpm@linux-foundation.org, vbabka@suse.cz Subject: [PATCH net-next v11 05/10] page_pool: constify some read-only function arguments Date: Wed, 24 Apr 2024 13:35:52 -0700 Message-ID: <20240424203559.3420468-6-anthony.l.nguyen@intel.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20240424203559.3420468-1-anthony.l.nguyen@intel.com> References: <20240424203559.3420468-1-anthony.l.nguyen@intel.com> MIME-Version: 1.0 X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: D04AFC0013 X-Rspam-User: X-Stat-Signature: pfyssrc6fzng8d68en1jxt9igbp4zm3s X-HE-Tag: 1713990984-867017 X-HE-Meta: U2FsdGVkX1/BiGdD96crEsnF20DaHFh/PQLZxbkaS/C2RAKSf4TB2Z9tw2NaqRm26Su268/djNWivzzTrZIbuyh0p01Pr53L4hpJErmiTF/FkbEMfJg0/cFBpEp1DL3crqHdUvysny4dWGn27WVEWVEgmUlLH7JKTb8/ObOZB4s3LHNajlwvDTgCY121NkjexVbjRQ1Fc4POCmG04AOv0hPuBISDVDQf9SEHdttjiosY7HUfzOCLAw53reLSBJoIg2rpqzjTXOVKQVu1eMAYqG4hGxBjUsDwqEBqgZBNBNtlPsjQkQLW6jZ1LNto4p0PYm3Y700SdL1f7t4SYNDqJ/K6KhBeTDeXH+jjljIPH+e9DK24eW+rcllbTViLOnXx7idauusNu0/2J1fVpTdJpm6jTUHqftdsgUdbZl0yIIYqPt+WOrUGGGJhdlKQeguSyBVXPUR7pjhuVvzRYadFLTOR6Y/egIQVZkh4n8ByayCZzJ2aagZ9GajGO99Wvk5d2cVA4S7YaSluNVhfskOkHMx/PfNGC4CAx5IQWPzSy0e+6uTKawV5ja1ceAs26C3Z+gf7b1wqh7z4X/+Q6Z3d0gr6hBFdlQFnQvNQc2sDH8DhZgojRo37RqLVB4/qHOcD06BUR/FUbJfNbBIb3SvWVlEAo3ZsuhxtfJ9jy9m3knzICUhklKW9BBJhvVfsLqV7w5GQ+H8zITaBUQdbwSJ8uqtZpWrz8fPOngopHSX0zRIlOZ46IsqSVQjOFcGExCC27dUUF3sMyx6cdDtAtmADSjIhzKug3tOLv+CYyKIdQ2X+xFlRu1cZy/1qLfX3LB1Y3WIy6U8cnQHCc6TPIm8Gdv0khvoWIQUdACZ+be09xipy5g2da9oInN5x5NlrVJABOyY+leEBaiAzJ16E/Nc7MXus5cO57q6fBNrZvJ22GbFVvdXG/jpIvJkgz3ogA4txMVeQNB1RK7vuFpCMLck dLOZBVZW k8oAmvxsEbVESujPT4itSRu9ElN5SFTMnrOq64pt9PJr7WW+6fMtMnm688WkMNT0DfumAprxKxY2fPAdg0bf59mnem+Ni2BM4wpr/K0jGZ6nVEBCAq+kr6iJkG3BVDy0m1r0KZFld32uT7T37SOyE5XWKXtiiel24sivm5Yz2tj8D4R1mt0rWSEN/XEpLydcdMasHfBdr2D6YnXut+hO2d9PwlPzyztq6QoXmk3gZeeDg5N3QRxDQbz8oApP46KEBZo6XIxG9fKlk7ss= 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: List-Subscribe: List-Unsubscribe: From: Alexander Lobakin There are several functions taking pointers to data they don't modify. This includes statistics fetching, page and page_pool parameters, etc. Constify the pointers, so that call sites will be able to pass const pointers as well. No functional changes, no visible changes in functions sizes. Reviewed-by: Ilias Apalodimas Signed-off-by: Alexander Lobakin Signed-off-by: Tony Nguyen --- include/net/page_pool/helpers.h | 10 +++++----- include/net/page_pool/types.h | 4 ++-- net/core/page_pool.c | 10 +++++----- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/include/net/page_pool/helpers.h b/include/net/page_pool/helpers.h index 1d397c1a0043..c7bb06750e85 100644 --- a/include/net/page_pool/helpers.h +++ b/include/net/page_pool/helpers.h @@ -58,7 +58,7 @@ /* Deprecated driver-facing API, use netlink instead */ int page_pool_ethtool_stats_get_count(void); u8 *page_pool_ethtool_stats_get_strings(u8 *data); -u64 *page_pool_ethtool_stats_get(u64 *data, void *stats); +u64 *page_pool_ethtool_stats_get(u64 *data, const void *stats); bool page_pool_get_stats(const struct page_pool *pool, struct page_pool_stats *stats); @@ -73,7 +73,7 @@ static inline u8 *page_pool_ethtool_stats_get_strings(u8 *data) return data; } -static inline u64 *page_pool_ethtool_stats_get(u64 *data, void *stats) +static inline u64 *page_pool_ethtool_stats_get(u64 *data, const void *stats) { return data; } @@ -204,8 +204,8 @@ static inline void *page_pool_dev_alloc_va(struct page_pool *pool, * Get the stored dma direction. A driver might decide to store this locally * and avoid the extra cache line from page_pool to determine the direction. */ -static -inline enum dma_data_direction page_pool_get_dma_dir(struct page_pool *pool) +static inline enum dma_data_direction +page_pool_get_dma_dir(const struct page_pool *pool) { return pool->p.dma_dir; } @@ -370,7 +370,7 @@ static inline void page_pool_free_va(struct page_pool *pool, void *va, * Fetch the DMA address of the page. The page pool to which the page belongs * must had been created with PP_FLAG_DMA_MAP. */ -static inline dma_addr_t page_pool_get_dma_addr(struct page *page) +static inline dma_addr_t page_pool_get_dma_addr(const struct page *page) { dma_addr_t ret = page->dma_addr; diff --git a/include/net/page_pool/types.h b/include/net/page_pool/types.h index 5e43a08d3231..a6ebed002216 100644 --- a/include/net/page_pool/types.h +++ b/include/net/page_pool/types.h @@ -213,7 +213,7 @@ struct xdp_mem_info; #ifdef CONFIG_PAGE_POOL void page_pool_destroy(struct page_pool *pool); void page_pool_use_xdp_mem(struct page_pool *pool, void (*disconnect)(void *), - struct xdp_mem_info *mem); + const struct xdp_mem_info *mem); void page_pool_put_page_bulk(struct page_pool *pool, void **data, int count); #else @@ -223,7 +223,7 @@ static inline void page_pool_destroy(struct page_pool *pool) static inline void page_pool_use_xdp_mem(struct page_pool *pool, void (*disconnect)(void *), - struct xdp_mem_info *mem) + const struct xdp_mem_info *mem) { } diff --git a/net/core/page_pool.c b/net/core/page_pool.c index 4c175091fc0a..273c24429bce 100644 --- a/net/core/page_pool.c +++ b/net/core/page_pool.c @@ -123,9 +123,9 @@ int page_pool_ethtool_stats_get_count(void) } EXPORT_SYMBOL(page_pool_ethtool_stats_get_count); -u64 *page_pool_ethtool_stats_get(u64 *data, void *stats) +u64 *page_pool_ethtool_stats_get(u64 *data, const void *stats) { - struct page_pool_stats *pool_stats = stats; + const struct page_pool_stats *pool_stats = stats; *data++ = pool_stats->alloc_stats.fast; *data++ = pool_stats->alloc_stats.slow; @@ -383,8 +383,8 @@ static struct page *__page_pool_get_cached(struct page_pool *pool) return page; } -static void page_pool_dma_sync_for_device(struct page_pool *pool, - struct page *page, +static void page_pool_dma_sync_for_device(const struct page_pool *pool, + const struct page *page, unsigned int dma_sync_size) { dma_addr_t dma_addr = page_pool_get_dma_addr(page); @@ -987,7 +987,7 @@ static void page_pool_release_retry(struct work_struct *wq) } void page_pool_use_xdp_mem(struct page_pool *pool, void (*disconnect)(void *), - struct xdp_mem_info *mem) + const struct xdp_mem_info *mem) { refcount_inc(&pool->user_cnt); pool->disconnect = disconnect;