Skip to content

Commit

Permalink
IB: Use DEFINE_SPINLOCK() for static spinlocks
Browse files Browse the repository at this point in the history
Rather than just defining static spinlock_t variables and then
initializing them later in init functions, simply define them with
DEFINE_SPINLOCK() and remove the calls to spin_lock_init().  This cleans
up the source a tad and also shrinks the compiled code; eg on x86-64:

add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-40 (-40)
function                                     old     new   delta
ib_uverbs_init                               336     326     -10
ib_mad_init_module                           147     137     -10
ib_sa_init                                   123     103     -20

Signed-off-by: Roland Dreier <rolandd@cisco.com>
  • Loading branch information
Roland Dreier committed Sep 6, 2009
1 parent e07cccf commit 6276e08
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 13 deletions.
6 changes: 1 addition & 5 deletions drivers/infiniband/core/mad.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,7 @@ static struct list_head ib_mad_port_list;
static u32 ib_mad_client_id = 0;

/* Port list lock */
static spinlock_t ib_mad_port_list_lock;

static DEFINE_SPINLOCK(ib_mad_port_list_lock);

/* Forward declarations */
static int method_in_use(struct ib_mad_mgmt_method_table **method,
Expand Down Expand Up @@ -2984,8 +2983,6 @@ static int __init ib_mad_init_module(void)
{
int ret;

spin_lock_init(&ib_mad_port_list_lock);

ib_mad_cache = kmem_cache_create("ib_mad",
sizeof(struct ib_mad_private),
0,
Expand Down Expand Up @@ -3021,4 +3018,3 @@ static void __exit ib_mad_cleanup_module(void)

module_init(ib_mad_init_module);
module_exit(ib_mad_cleanup_module);

7 changes: 2 additions & 5 deletions drivers/infiniband/core/sa_query.c
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,10 @@ static struct ib_client sa_client = {
.remove = ib_sa_remove_one
};

static spinlock_t idr_lock;
static DEFINE_SPINLOCK(idr_lock);
static DEFINE_IDR(query_idr);

static spinlock_t tid_lock;
static DEFINE_SPINLOCK(tid_lock);
static u32 tid;

#define PATH_REC_FIELD(field) \
Expand Down Expand Up @@ -1077,9 +1077,6 @@ static int __init ib_sa_init(void)
{
int ret;

spin_lock_init(&idr_lock);
spin_lock_init(&tid_lock);

get_random_bytes(&tid, sizeof tid);

ret = ib_register_client(&sa_client);
Expand Down
4 changes: 1 addition & 3 deletions drivers/infiniband/core/uverbs_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ DEFINE_IDR(ib_uverbs_cq_idr);
DEFINE_IDR(ib_uverbs_qp_idr);
DEFINE_IDR(ib_uverbs_srq_idr);

static spinlock_t map_lock;
static DEFINE_SPINLOCK(map_lock);
static struct ib_uverbs_device *dev_table[IB_UVERBS_MAX_DEVICES];
static DECLARE_BITMAP(dev_map, IB_UVERBS_MAX_DEVICES);

Expand Down Expand Up @@ -836,8 +836,6 @@ static int __init ib_uverbs_init(void)
{
int ret;

spin_lock_init(&map_lock);

ret = register_chrdev_region(IB_UVERBS_BASE_DEV, IB_UVERBS_MAX_DEVICES,
"infiniband_verbs");
if (ret) {
Expand Down

0 comments on commit 6276e08

Please sign in to comment.