mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:24:45 +01:00
net: inline net_is_devmem_iov()
1) Inline this small helper to reduce code size and decrease cpu costs. 2) Constify its argument. 3) Move it to include/net/netmem.h, as a prereq for the following patch. $ scripts/bloat-o-meter -t vmlinux.2 vmlinux.3 add/remove: 0/2 grow/shrink: 0/4 up/down: 0/-158 (-158) Function old new delta validate_xmit_skb 866 857 -9 __pfx_net_is_devmem_iov 16 - -16 net_is_devmem_iov 22 - -22 get_netmem 152 130 -22 put_netmem 140 114 -26 tcp_recvmsg_locked 3860 3797 -63 Total: Before=22566015, After=22565857, chg -0.00% Signed-off-by: Eric Dumazet <edumazet@google.com> Link: https://patch.msgid.link/20260122045720.1221017-4-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
cbe41362be
commit
87918dd4ea
3 changed files with 13 additions and 11 deletions
|
|
@ -389,6 +389,18 @@ static inline unsigned long netmem_get_dma_addr(netmem_ref netmem)
|
|||
return netmem_to_nmdesc(netmem)->dma_addr;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_NET_DEVMEM)
|
||||
static inline bool net_is_devmem_iov(const struct net_iov *niov)
|
||||
{
|
||||
return niov->type == NET_IOV_DMABUF;
|
||||
}
|
||||
#else
|
||||
static inline bool net_is_devmem_iov(const struct net_iov *niov)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
void get_netmem(netmem_ref netmem);
|
||||
void put_netmem(netmem_ref netmem);
|
||||
|
||||
|
|
|
|||
|
|
@ -30,11 +30,6 @@ static DEFINE_XARRAY_FLAGS(net_devmem_dmabuf_bindings, XA_FLAGS_ALLOC1);
|
|||
|
||||
static const struct memory_provider_ops dmabuf_devmem_ops;
|
||||
|
||||
bool net_is_devmem_iov(struct net_iov *niov)
|
||||
{
|
||||
return niov->type == NET_IOV_DMABUF;
|
||||
}
|
||||
|
||||
static void net_devmem_dmabuf_free_chunk_owner(struct gen_pool *genpool,
|
||||
struct gen_pool_chunk *chunk,
|
||||
void *not_used)
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ struct net_iov *
|
|||
net_devmem_alloc_dmabuf(struct net_devmem_dmabuf_binding *binding);
|
||||
void net_devmem_free_dmabuf(struct net_iov *ppiov);
|
||||
|
||||
bool net_is_devmem_iov(struct net_iov *niov);
|
||||
|
||||
struct net_devmem_dmabuf_binding *
|
||||
net_devmem_get_binding(struct sock *sk, unsigned int dmabuf_id);
|
||||
struct net_iov *
|
||||
|
|
@ -214,11 +214,6 @@ static inline u32 net_devmem_iov_binding_id(const struct net_iov *niov)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static inline bool net_is_devmem_iov(struct net_iov *niov)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline struct net_devmem_dmabuf_binding *
|
||||
net_devmem_get_binding(struct sock *sk, unsigned int dmabuf_id)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue