[PATCH] IB/sa_query: avoid unnecessary list scan
Using ib_get_client_data in SA event handler performs a list scan. It's better to use container_of to get the sa device directly. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
Родитель
06c56e44f3
Коммит
1d6801f9dd
|
@ -431,8 +431,8 @@ static void ib_sa_event(struct ib_event_handler *handler, struct ib_event *event
|
|||
event->event == IB_EVENT_LID_CHANGE ||
|
||||
event->event == IB_EVENT_PKEY_CHANGE ||
|
||||
event->event == IB_EVENT_SM_CHANGE) {
|
||||
struct ib_sa_device *sa_dev =
|
||||
ib_get_client_data(event->device, &sa_client);
|
||||
struct ib_sa_device *sa_dev;
|
||||
sa_dev = container_of(handler, typeof(*sa_dev), event_handler);
|
||||
|
||||
schedule_work(&sa_dev->port[event->element.port_num -
|
||||
sa_dev->start_port].update_task);
|
||||
|
|
Загрузка…
Ссылка в новой задаче