IB/uverbs: Convert *cdev to cdev in struct ib_uverbs_device
authorAlexander Chiang <achiang@hp.com>
Tue, 2 Feb 2010 19:07:49 +0000 (19:07 +0000)
committerRoland Dreier <rolandd@cisco.com>
Wed, 24 Feb 2010 18:23:39 +0000 (10:23 -0800)
commit055422ddbb0a7610c5f57a056743d7336a39e90f
tree656f63c23151a9b582bc570daa38398d5269246f
parent676ad585531e965416fd958747894541dabcec96
IB/uverbs: Convert *cdev to cdev in struct ib_uverbs_device

Instead of storing a pointer to a cdev, embed the entire struct cdev.

This change allows us to use the container_of() macro in
ib_uverbs_open() in a future patch.

This change increases the size of struct ib_uverbs_device to 168 bytes
across 3 cachelines from 80 bytes in 2 cachelines.  However, we
rearrange the members so that everything fits into the first cacheline
except for the struct cdev. Finally, we don't touch the cdev in any
fastpaths, so this change shouldn't negatively affect performance.

Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/core/uverbs.h
drivers/infiniband/core/uverbs_main.c