All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] Increase maximum Infiniband HCAs per-system
@ 2010-01-29 21:44 ` Alex Chiang
  0 siblings, 0 replies; 20+ messages in thread
From: Alex Chiang @ 2010-01-29 21:44 UTC (permalink / raw)
  To: rdreier-FYB4Gu1CFyUAvxtiuMwx3w
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, justin.chen-VXdhtT5mjnY,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

Justin Chen discovered that Linux "only" supports 32 IB cards in
a single system when testing a larger system with 40 cards and
discovered that OFED only reported 32 HCAs.

This patchset doubles the number of HCAs allowed per system in a
backwards-compatible manner.

Why only double? Well, it keeps the implementation very simple while
also keeping the memory increase at a minimum. If the future
requires even more HCAs per system, we can do a more complicated
implementation then.

I tested this by inserting 4 IB cards into a system, and then
changing IB_UVERBS_MAX_DEVICES = 2.

	dl585g2:~ # modprobe ib_uverbs
	dl585g2:~ # ls -l /dev/uverbs*
	crw-rw---- 1 root root 231, 192 Jan 28 06:59 /dev/uverbs0
	crw-rw---- 1 root root 231, 193 Jan 28 06:59 /dev/uverbs1
	crw-rw---- 1 root root 249,   0 Jan 28 06:59 /dev/uverbs2
	crw-rw---- 1 root root 249,   1 Jan 28 06:59 /dev/uverbs3

You can see that the uverbs devices are numbered in order, as one
would expect, and that devices 2 and 3 have different major numbers
while devices 0 and 1 retain the legacy, allocated major number.

I don't have access to a huge system to really test what
happens at device 33, but it should just work, right? :)

I am also unaware of any OFED changes required (if that's even
necessary), but then again, I'm just a simple kernel guy.

The final two patches are just something I discovered while using
pahole to verify my changes in converting the *cdev pointer to an
embedded struct. They don't save all that much, but they also don't
change very much code either, so why not?

Thanks,
/ac

---

Alex Chiang (7):
      IB/uverbs: convert *cdev to cdev in struct ib_uverbs_device
      IB/uverbs: remove dev_table
      IB/uverbs: use stack variable 'devnum' in ib_uverbs_add_one
      IB/uverbs: use stack variable 'base' in ib_uverbs_add_one
      IB/uverbs: increase maximum devices supported
      IB/uverbs: pack struct ib_uverbs_event_file tighter
      IB/core: pack struct ib_device a little tighter


 drivers/infiniband/core/uverbs.h      |   11 ++-
 drivers/infiniband/core/uverbs_main.c |  106 +++++++++++++++++++++------------
 include/rdma/ib_verbs.h               |    4 +
 3 files changed, 76 insertions(+), 45 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2010-02-01 12:55 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-29 21:44 [PATCH 0/7] Increase maximum Infiniband HCAs per-system Alex Chiang
2010-01-29 21:44 ` Alex Chiang
2010-01-29 21:45 ` [PATCH 1/7] IB/uverbs: convert *cdev to cdev in struct ib_uverbs_device Alex Chiang
     [not found] ` <20100129214039.17745.38679.stgit-tBlMHHroXgg@public.gmane.org>
2010-01-29 21:45   ` [PATCH 2/7] IB/uverbs: remove dev_table Alex Chiang
2010-01-29 21:45     ` Alex Chiang
2010-01-29 21:45   ` [PATCH 5/7] IB/uverbs: increase maximum devices supported Alex Chiang
2010-01-29 21:45     ` Alex Chiang
2010-01-29 21:45   ` [PATCH 6/7] IB/uverbs: pack struct ib_uverbs_event_file tighter Alex Chiang
2010-01-29 21:45     ` Alex Chiang
2010-01-29 22:54   ` [PATCH 0/7] Increase maximum Infiniband HCAs per-system Roland Dreier
2010-01-29 22:54     ` Roland Dreier
     [not found]     ` <adar5p8ldxv.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>
2010-01-29 23:41       ` Alex Chiang
2010-01-29 23:41         ` Alex Chiang
     [not found]         ` <20100129234145.GC5177-e+Ta4ugHZmL3oGB3hsPCZA@public.gmane.org>
2010-01-30  7:13           ` Roland Dreier
2010-01-30  7:13             ` Roland Dreier
2010-02-01 12:55           ` Hal Rosenstock
2010-02-01 12:55             ` Hal Rosenstock
2010-01-29 21:45 ` [PATCH 3/7] IB/uverbs: use stack variable 'devnum' in ib_uverbs_add_one Alex Chiang
2010-01-29 21:45 ` [PATCH 4/7] IB/uverbs: use stack variable 'base' " Alex Chiang
2010-01-29 21:45 ` [PATCH 7/7] IB/core: pack struct ib_device a little tighter Alex Chiang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.