[ofw] RE: [PATCH] core: add new async events
Leonid Keller
leonid at mellanox.co.il
Tue May 12 06:05:52 PDT 2009
Applied in 2165, thank you.
> -----Original Message-----
> From: Sean Hefty [mailto:sean.hefty at intel.com]
> Sent: Tuesday, May 12, 2009 12:44 AM
> To: ofw at lists.openfabrics.org; Leonid Keller
> Subject: [PATCH] core: add new async events
>
> Define additional async event types for GID, LID, PKey, and
> SM changes. These are reported by winverbs, and at least
> appear to be handled by the HCA drivers.
>
> This avoids converting LID change events seen by the mlx4
> driver into local fatal errors.
>
> Signed-off-by: Sean Hefty <sean.hefty at intel.com>
> ---
> diff -up -r -X \mshefty\scm\winof\trunk\docs\dontdiff.txt -I
> '\$Id:' trunk\inc\iba/ib_types.h branches\winverbs\inc\iba/ib_types.h
> --- trunk\inc\iba/ib_types.h 2009-05-05 23:05:51.060250000 -0700
> +++ branches\winverbs\inc\iba/ib_types.h 2009-05-11
> 11:49:23.501995000 -0700
> @@ -8407,6 +8410,10 @@ typedef enum _ib_async_event_t
> IB_AE_RESET_CLIENT,
> IB_AE_RESET_END,
> IB_AE_RESET_FAILED,
> + IB_AE_GID_CHANGE,
> + IB_AE_LID_CHANGE,
> + IB_AE_PKEY_CHANGE,
> + IB_AE_SM_CHANGE,
> IB_AE_UNKNOWN /* ALWAYS LAST ENUM VALUE */
>
> } ib_async_event_t;
> diff -up -r -X \mshefty\scm\winof\trunk\docs\dontdiff.txt -I
> '\$Id:' trunk\hw/mlx4/kernel/bus/inc/ib_verbs.h
> branches\winverbs\hw/mlx4/kernel/bus/inc/ib_verbs.h
> --- trunk\hw/mlx4/kernel/bus/inc/ib_verbs.h 2009-03-11
> 15:19:47.792375000 -0700
> +++ branches\winverbs\hw/mlx4/kernel/bus/inc/ib_verbs.h
> 2009-05-11 11:44:56.251995000 -0700
> @@ -274,10 +274,10 @@ enum ib_event_type {
> IB_EVENT_RESET_CLIENT =
> IB_AE_RESET_CLIENT, // device will be reset upon client request
> IB_EVENT_RESET_END
> = IB_AE_RESET_END, // device has been reset
> IB_EVENT_RESET_FAILED =
> IB_AE_RESET_FAILED, // device has been reset
> - IB_EVENT_LID_CHANGE
> = IB_AE_UNKNOWN + 1,
> - IB_EVENT_PKEY_CHANGE,
> - IB_EVENT_SM_CHANGE,
> - IB_EVENT_CLIENT_REREGISTER
> + IB_EVENT_LID_CHANGE
> = IB_AE_LID_CHANGE,
> + IB_EVENT_PKEY_CHANGE =
> IB_AE_PKEY_CHANGE,
> + IB_EVENT_SM_CHANGE
> = IB_AE_SM_CHANGE,
> + IB_EVENT_CLIENT_REREGISTER =
> IB_AE_CLIENT_REREGISTER
> };
>
> struct ib_event {
> diff -up -r -X \mshefty\scm\winof\trunk\docs\dontdiff.txt -I
> '\$Id:' trunk\hw/mthca/kernel/ib_verbs.h
> branches\winverbs\hw/mthca/kernel/ib_verbs.h
> --- trunk\hw/mthca/kernel/ib_verbs.h 2008-10-29
> 11:24:08.234375000 -0700
> +++ branches\winverbs\hw/mthca/kernel/ib_verbs.h
> 2009-05-11 11:46:08.017620000 -0700
> @@ -251,9 +251,10 @@ enum ib_event_type {
> IB_EVENT_SRQ_LIMIT_REACHED
> = IB_AE_SRQ_LIMIT_REACHED,
> IB_EVENT_SRQ_CATAS_ERROR
> = IB_AE_SRQ_CATAS_ERROR,
> IB_EVENT_SRQ_QP_LAST_WQE_REACHED =
> IB_AE_SRQ_QP_LAST_WQE_REACHED,
> - IB_EVENT_LID_CHANGE
> = IB_AE_UNKNOWN + 1,
> - IB_EVENT_PKEY_CHANGE,
> - IB_EVENT_SM_CHANGE
> + IB_EVENT_LID_CHANGE
> = IB_AE_LID_CHANGE,
> + IB_EVENT_PKEY_CHANGE
> = IB_AE_PKEY_CHANGE,
> + IB_EVENT_SM_CHANGE
> = IB_AE_SM_CHANGE,
> + IB_EVENT_CLIENT_REREGISTER
> = IB_AE_CLIENT_REREGISTER
> };
>
> struct ib_event {
> diff -up -r -X \mshefty\scm\winof\trunk\docs\dontdiff.txt -I
> '\$Id:' trunk\core\winverbs/kernel/wv_device.c
> branches\winverbs\core\winverbs/kernel/wv_device.c
> --- trunk\core\winverbs/kernel/wv_device.c 2008-07-23
> 14:54:41.418124600 -0700
> +++ branches\winverbs\core\winverbs/kernel/wv_device.c
> 2009-05-11 11:51:46.642620000 -0700
> @@ -77,8 +77,14 @@ static UINT32 WvDeviceConvertEvent(ib_as
> case IB_AE_PORT_DOWN:
> return WV_IO_EVENT_STATE;
> case IB_AE_CLIENT_REREGISTER:
> + case IB_AE_SM_CHANGE:
> return WV_IO_EVENT_MANAGEMENT;
> - // TODO: report LID / GID / SM / PKey changes
> + case IB_AE_GID_CHANGE:
> + return WV_IO_EVENT_ADDRESS;
> + case IB_AE_LID_CHANGE:
> + return WV_IO_EVENT_LINK_ADDRESS;
> + case IB_AE_PKEY_CHANGE:
> + return WV_IO_EVENT_PARTITION;
> default:
> return 0;
> }
>
>
>
More information about the ofw
mailing list