From: Jason Gunthorpe <jgg@ziepe.ca>
To: Ariel Elior <aelior@marvell.com>
Cc: Leon Romanovsky <leon@kernel.org>,
Shai Malin <smalin@marvell.com>,
"davem@davemloft.net" <davem@davemloft.net>,
"kuba@kernel.org" <kuba@kernel.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"malin1024@gmail.com" <malin1024@gmail.com>,
RDMA mailing list <linux-rdma@vger.kernel.org>
Subject: Re: [EXT] Re: [PATCH] qed: Enable RDMA relaxed ordering
Date: Tue, 24 Aug 2021 16:42:23 -0300 [thread overview]
Message-ID: <20210824194223.GG543798@ziepe.ca> (raw)
In-Reply-To: <BY3PR18MB4641E80F8ABF42A5621B7573C4C59@BY3PR18MB4641.namprd18.prod.outlook.com>
On Tue, Aug 24, 2021 at 07:16:41PM +0000, Ariel Elior wrote:
> In our view the qed/qede/qedr/qedi/qedf are separate drivers, hence we used
> function pointer structures for the communication between them. We use
> hierarchies of structures of function pointers to group toghether those which
> have common purposes (dcbx, ll2, Ethernet, rdma). Changing that to flat exported
> functions for the RDMA protocol is no problem if it is preferred by you.
I wouldn't twist the driver into knots, but you definately should not
be using function pointers when there is only one implementation,
eliminating that would be a fine start and looks straightforward.
Many of the functions in the rdma ops do not look complicated to move,
yes, it moves around the layering a bit, but that is OK and probably
more maintainable in the end. eg modify_qp seems fairly disconnected
at the first couple layers of function calls.
> In summary - we got the message and will work on it, but this is no small task
> and may take some time, and will likely not result in total removal of any
> mention whatsoever of rdma from the core module (but will reduce it
> considerably).
I wouldn't go for complete removal, you just need to have a core
driver with an exported API that makes some sense for the device.
eg looking at a random op
qed_iwarp_set_engine_affin()
Is an "rdma" function but all it does is call
qed_llh_set_ppfid_affinity()
So export qed_llh and move the qed_iwarp to the rdma driver
etc
Jason
next prev parent reply other threads:[~2021-08-24 19:42 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-22 18:54 [PATCH] qed: Enable RDMA relaxed ordering Shai Malin
2021-08-23 11:52 ` Leon Romanovsky
2021-08-23 13:33 ` Jason Gunthorpe
2021-08-23 14:54 ` [EXT] " Ariel Elior
2021-08-23 15:17 ` Jason Gunthorpe
2021-08-24 12:24 ` Leon Romanovsky
2021-08-24 19:16 ` Ariel Elior
2021-08-24 19:42 ` Jason Gunthorpe [this message]
2021-08-25 9:35 ` Ariel Elior
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=20210824194223.GG543798@ziepe.ca \
--to=jgg@ziepe.ca \
--cc=aelior@marvell.com \
--cc=davem@davemloft.net \
--cc=kuba@kernel.org \
--cc=leon@kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=malin1024@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=smalin@marvell.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.