On 14/11/2013 02:19, Hefty, Sean wrote:
The patch series is around for couple of weeks already and went through the 
review of Sean and Bart, with all their feedback being applied. Also Sagi and 
Co enhanced krping to fully cover (and test...) the proposed API and driver 
implementation
Somewhat separate from this specific patch, this is my concern.

There are continual requests to modify the kernel verbs interfaces.  These 
requests boil down to exposing proprietary capabilities to the latest version 
of some vendor's hardware.  In turn, these hardware specific knobs bleed into 
the kernel clients.

At the very least, it seems that there should be some sort of discussion if 
this is a desirable property of the kernel verbs interface, and if this is the 
architecture that the kernel should continue to pursue.  Or, is there an 
alternative way of providing the same ability of coding ULPs to specific HW 
features, versus plugging every new feature into 'post send'?

Sean,

Being concrete + re-iterating and expanding what I wrote you earlier on the V1 thread @ http://marc.info/?l=linux-rdma&m=138314853203389&w=2when you said

Sean > Maybe we should rethink the approach of exposing low-level hardware constructs to every Sean > distinct feature of every vendor's latest hardware directly to the kernel ULPs.

To begin with T10 DIF **is** industry standard, which is to be used in production storage systems, the feature here is T10 DIF acceleration for upstream kernel storage drivers such as iSER/SRP/FCoE initiator/targets that use RDMA and are included in commercial distributions which are used by customers. Note that this/similar feature is supported by some FC cards too, so we want RDMA to be competitive.

This work is part of larger efforts which are done nowadays in other parts of the kernel such as the block layer, the upstream kernel target and more to support T10, its "just" the RDMA part.

Sagi and team made great effort to expose API which isn't tied to specific HW/Firmware API. And in that respect, the verbs API is coupled with industry standards and by no means with specific HW features. Just as quick example, the specific driver/card (mlx5 / ConnectIB) for which the news verbs are implemented uses three objects for its T10 support, named BSF, KLM and PSV - you can be sure, and please check us that there is no sign for them in the verbs API, they only live within the mlx5 driver.

If you see a vendor specific feature/construct that appears in the proposed verbs API changes, let us know.

> [...] versus plugging every new feature into 'post send'?

Its a new feature indeed but its a feature which comes into play when submitting RDMA work-requests to the HCA and for performance reasons must be subject to pipe-lining in the form of batched posting and hence has very good fit as
a sub operation of post-send.

Sean > There are continual requests to modify the kernel verbs interfaces. These requests boil down to exposing proprietary capabilities Sean > to the latest version of some vendor's hardware. In turn, these hardware specific knobs bleed into the kernel clients.

non-T10 examples (please) ?!

Or.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to