From ef5ed61ad1c5e5b980f495cadc159eb801fcc8aa Mon Sep 17 00:00:00 2001 From: ftillier Date: Fri, 29 Jul 2005 00:17:08 +0000 Subject: [PATCH] Optimized locking in SA request send path git-svn-id: svn://openib.tc.cornell.edu/gen1@44 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- trunk/core/al/kernel/al_proxy_subnet.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/trunk/core/al/kernel/al_proxy_subnet.c b/trunk/core/al/kernel/al_proxy_subnet.c index 73eddb1a..df7d86d8 100644 --- a/trunk/core/al/kernel/al_proxy_subnet.c +++ b/trunk/core/al/kernel/al_proxy_subnet.c @@ -258,9 +258,11 @@ proxy_send_sa_req( goto proxy_send_sa_req_err1; } + /* Synchronize with callbacks. */ + cl_spinlock_acquire( &p_context->h_al->obj.lock ); + /* Track the request. */ - hdl = - al_hdl_lock_insert( p_context->h_al, p_sa_req, AL_OBJ_TYPE_H_SA_REQ ); + hdl = al_hdl_insert( p_context->h_al, p_sa_req, AL_OBJ_TYPE_H_SA_REQ ); if( hdl == AL_INVALID_HANDLE ) { ib_status = IB_INSUFFICIENT_MEMORY; @@ -281,9 +283,6 @@ proxy_send_sa_req( p_ioctl->in.sa_req.p_attr = p_ioctl->in.attr; - /* Synchronize with callbacks. */ - cl_spinlock_acquire( &p_context->h_al->obj.lock ); - /* * We never pass the user-mode flag when sending SA requests - the * I/O manager will perform all synchronization to make this IRP sync -- 2.41.0