[openib-general] gen2 dev branch
Hal Rosenstock
halr at voltaire.com
Thu Jul 29 10:41:56 PDT 2004
Roland Dreier wrote:
> I'm very concerned about the lack of flexibility in the proposed API.
> For example, only allowing one manager to register per GSI class
> wouldn't work well for a subnet manager that wants to handle multicast
> queries in one thread and path record requests in another thread.
The GSI API can readily accomodate attribute as an additional parameter
if that is a requirement (and has been previously stated).
> Here's another way of putting it. I think we should aim for:
>
> pid_t fork(void);
>
> And right now I'm afraid we have:
>
> BOOL CreateProcess(
> LPCTSTR lpApplicationName,
> LPTSTR lpCommandLine,
> LPSECURITY_ATTRIBUTES lpProcessAttributes,
> LPSECURITY_ATTRIBUTES lpThreadAttributes,
> BOOL bInheritHandles,
> DWORD dwCreationFlags,
> LPVOID lpEnvironment,
> LPCTSTR lpCurrentDirectory,
> LPSTARTUPINFO lpStartupInfo,
> LPPROCESS_INFORMATION lpProcessInformation
> );
I don't think that the above is a fair comparison.
It's seems to me it's more like the contrast of registering a
MAD filter against the register GSI class call.
int ib_mad_handler_register(struct ib_mad_filter *filter,
ib_mad_dispatch_func function,
void *arg,
tTS_IB_MAD_FILTER_HANDLE *handle);
where
struct ib_mad_filter {
struct ib_device *device;
tTS_IB_PORT port;
__u32 qpn;
uint8_t mgmt_class;
uint8_t r_method;
uint16_t attribute_id;
tTS_IB_MAD_DIRECTION direction;
tTS_IB_MAD_FILTER_MASK mask;
char name[TS_IB_MAD_FILTER_NAME_MAX];
};
int gsi_reg_class(u8 mgmt_class,
u8 mgmt_class_version,
char *hca_name,
u8 port,
enum ib_gsi_reg_flags reg_flags,
ib_gsi_send_comp_handler send_comp_handler,
ib_gsi_recv_handler recv_handler,
void *context,
void **handle);
Some of the parameters to the register GSI class call could be collapsed
under a single parameter as has been done in the MAD filter
if it is the width of the API that is the issue but I don't think that's
the core of the issue.
-- Hal
More information about the general
mailing list