From: Zhu Yanjun <yanjun.zhu@linux.dev>
To: Yonatan Nachum <ynachum@amazon.com>,
"yanjun.zhu@linux.dev" <yanjun.zhu@linux.dev>
Cc: jgg@nvidia.com, leon@kernel.org, linux-rdma@vger.kernel.org,
mrgolin@amazon.com, sleybo@amazon.com, matua@amazon.com,
gal.pressman@linux.dev, Firas Jahjah <firasj@amazon.com>
Subject: Re: [PATCH for-next v2 1/2] RDMA/efa: Add initialization of AH cache rhashtable
Date: Thu, 14 May 2026 22:09:11 -0700 [thread overview]
Message-ID: <ac4a8f98-7986-42d3-b6ca-28f514791b79@linux.dev> (raw)
In-Reply-To: <20260514100214.GA22423@dev-dsk-ynachum-1b-aa121316.eu-west-1.amazon.com>
在 2026/5/14 3:02, Yonatan Nachum 写道:
> On Wed, May 13, 2026 at 10:12:01PM -0700, Zhu Yanjun wrote:
>> 在 2026/5/11 23:11, Yonatan Nachum 写道:
>>> New EFA devices don't support the creation of multiple address handles
>>> to the same remote on the same PD.
>>> To overcome this limitation, introduce an AH cache rhashtable which will
>>> store the refcounts of the same AH creation on the same PD and will
>>> allow the driver to manage AH reuse. The hashtable key is the
>>> combination of PD and GID. Add initialization and teardown logic for the
>>> rhashtable.
>>>
>>> Reviewed-by: Firas Jahjah <firasj@amazon.com>
>>> Reviewed-by: Michael Margolin <mrgolin@amazon.com>
>>> Signed-off-by: Yonatan Nachum <ynachum@amazon.com>
>>> ---
>>> drivers/infiniband/hw/efa/Makefile | 4 +--
>>> drivers/infiniband/hw/efa/efa_ah_cache.c | 30 ++++++++++++++++++++
>>> drivers/infiniband/hw/efa/efa_ah_cache.h | 36 ++++++++++++++++++++++++
>>> drivers/infiniband/hw/efa/efa_com.c | 12 +++++++-
>>> drivers/infiniband/hw/efa/efa_com.h | 5 +++-
>>> 5 files changed, 83 insertions(+), 4 deletions(-)
>>> create mode 100644 drivers/infiniband/hw/efa/efa_ah_cache.c
>>> create mode 100644 drivers/infiniband/hw/efa/efa_ah_cache.h
>>>
>>> diff --git a/drivers/infiniband/hw/efa/efa_ah_cache.h b/drivers/infiniband/hw/efa/efa_ah_cache.h
>>> new file mode 100644
>>> index 000000000000..25288fdf778a
>>> --- /dev/null
>>> +++ b/drivers/infiniband/hw/efa/efa_ah_cache.h
>>> @@ -0,0 +1,36 @@
>>> +/* SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause */
>>> +/*
>>> + * Copyright 2026 Amazon.com, Inc. or its affiliates. All rights reserved.
>>> + */
>>> +
>>> +#ifndef _EFA_AH_CACHE_H_
>>> +#define _EFA_AH_CACHE_H_
>>> +
>>> +#include <linux/refcount.h>
>>> +#include <linux/rhashtable.h>
>>> +
>>> +#define EFA_AH_GID_SIZE 16
>>> +
>>> +struct efa_ah_cache_key {
>>> + u8 gid[EFA_AH_GID_SIZE];
>>> + u16 pd;
>>> +};
>> I am not sure if we add __packed to avoid memory hole.
>>
>> Zhu Yanjun
> Currently there is no holes in the struct (verified using pahole) and we
> Zero-initialize AH cache key so I don't think packed is really needed.
I’m wondering whether you’ve tested this on all architectures.
Explicitly using `__packed` or ensuring proper memory alignment
would likely be a better solution to avoid memory holes in the key
structure.
Zhu Yanjun
>
> Thanks
--
Best Regards,
Yanjun.Zhu
next prev parent reply other threads:[~2026-05-15 5:09 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-12 6:11 [PATCH for-next v2 0/2] RDMA/efa: Add AH cache for AH reuse Yonatan Nachum
2026-05-12 6:11 ` [PATCH for-next v2 1/2] RDMA/efa: Add initialization of AH cache rhashtable Yonatan Nachum
2026-05-14 5:12 ` Zhu Yanjun
2026-05-14 10:02 ` Yonatan Nachum
2026-05-15 5:09 ` Zhu Yanjun [this message]
2026-05-12 6:11 ` [PATCH for-next v2 2/2] RDMA/efa: Add AH cache handling on create and destroy AH Yonatan Nachum
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ac4a8f98-7986-42d3-b6ca-28f514791b79@linux.dev \
--to=yanjun.zhu@linux.dev \
--cc=firasj@amazon.com \
--cc=gal.pressman@linux.dev \
--cc=jgg@nvidia.com \
--cc=leon@kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=matua@amazon.com \
--cc=mrgolin@amazon.com \
--cc=sleybo@amazon.com \
--cc=ynachum@amazon.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.