* Re: [PATCH 4/6 v2] IB: address translation to map IP toIB addresses (GIDs) [not found] <ORSMSX401FRaqbC8wSA0000000d@orsmsx401.amr.corp.intel.com> @ 2006-03-11 1:14 ` Roland Dreier 2006-03-11 6:10 ` Sean Hefty 2006-03-21 20:57 ` Roland Dreier 1 sibling, 1 reply; 5+ messages in thread From: Roland Dreier @ 2006-03-11 1:14 UTC (permalink / raw) To: Sean Hefty; +Cc: netdev, linux-kernel, openib-general The ib_addr module depends on CONFIG_INET, because it uses symbols like arp_tbl, which are only exported if INET is enabled. I fixed this up by creating a new (non-user-visible) config symbol to control when ib_addr is built -- I put the following diff on top of your patch in my tree: diff --git a/drivers/infiniband/Kconfig b/drivers/infiniband/Kconfig index bdf0891..48c8bb5 100644 --- a/drivers/infiniband/Kconfig +++ b/drivers/infiniband/Kconfig @@ -29,6 +29,11 @@ config INFINIBAND_USER_ACCESS libibverbs, libibcm and a hardware driver library from <http://www.openib.org>. +config INFINIBAND_ADDR_TRANS + tristate + depends on INFINIBAND && INET + default y + source "drivers/infiniband/hw/mthca/Kconfig" source "drivers/infiniband/ulp/ipoib/Kconfig" diff --git a/drivers/infiniband/core/Makefile b/drivers/infiniband/core/Makefile index 2393e9d..935851d 100644 --- a/drivers/infiniband/core/Makefile +++ b/drivers/infiniband/core/Makefile @@ -1,7 +1,8 @@ obj-$(CONFIG_INFINIBAND) += ib_core.o ib_mad.o ib_sa.o \ - ib_cm.o ib_addr.o + ib_cm.o obj-$(CONFIG_INFINIBAND_USER_MAD) += ib_umad.o obj-$(CONFIG_INFINIBAND_USER_ACCESS) += ib_uverbs.o ib_ucm.o +obj-$(CONFIG_INFINIBAND_ADDR_TRANS) += ib_addr.o ib_core-y := packer.o ud_header.o verbs.o sysfs.o \ device.o fmr_pool.o cache.o ^ permalink raw reply related [flat|nested] 5+ messages in thread
* RE: [PATCH 4/6 v2] IB: address translation to map IP toIB addresses (GIDs) 2006-03-11 1:14 ` [PATCH 4/6 v2] IB: address translation to map IP toIB addresses (GIDs) Roland Dreier @ 2006-03-11 6:10 ` Sean Hefty 0 siblings, 0 replies; 5+ messages in thread From: Sean Hefty @ 2006-03-11 6:10 UTC (permalink / raw) To: 'Roland Dreier'; +Cc: linux-kernel, netdev, openib-general >The ib_addr module depends on CONFIG_INET, because it uses symbols >like arp_tbl, which are only exported if INET is enabled. > >I fixed this up by creating a new (non-user-visible) config symbol to >control when ib_addr is built -- I put the following diff on top of >your patch in my tree: Thanks! -Sean ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 4/6 v2] IB: address translation to map IP toIB addresses (GIDs) [not found] <ORSMSX401FRaqbC8wSA0000000d@orsmsx401.amr.corp.intel.com> 2006-03-11 1:14 ` [PATCH 4/6 v2] IB: address translation to map IP toIB addresses (GIDs) Roland Dreier @ 2006-03-21 20:57 ` Roland Dreier 2006-03-21 21:08 ` Sean Hefty 1 sibling, 1 reply; 5+ messages in thread From: Roland Dreier @ 2006-03-21 20:57 UTC (permalink / raw) To: Sean Hefty; +Cc: linux-kernel, netdev, openib-general > +struct workqueue_struct *rdma_wq; > +EXPORT_SYMBOL(rdma_wq); Sean, I don't think I saw an answer when I asked you this before. Why is ib_addr exporting a workqueue? Is there some sort of ordering constraint that is forcing other modules to go through the same workqueue for things? This seems like a very fragile internal thing to be exposing, and I'm wondering if there's a better way to handle it. - R. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Re: [PATCH 4/6 v2] IB: address translation to map IP toIB addresses (GIDs) 2006-03-21 20:57 ` Roland Dreier @ 2006-03-21 21:08 ` Sean Hefty 2006-03-21 22:39 ` Roland Dreier 0 siblings, 1 reply; 5+ messages in thread From: Sean Hefty @ 2006-03-21 21:08 UTC (permalink / raw) To: Roland Dreier; +Cc: netdev, linux-kernel, openib-general Roland Dreier wrote: > > +struct workqueue_struct *rdma_wq; > > +EXPORT_SYMBOL(rdma_wq); > > Sean, I don't think I saw an answer when I asked you this before. Why > is ib_addr exporting a workqueue? Is there some sort of ordering > constraint that is forcing other modules to go through the same > workqueue for things? > > This seems like a very fragile internal thing to be exposing, and I'm > wondering if there's a better way to handle it. I responded in a different thread, but here's what I wrote: "This is simply an attempt to reduce/combine work queues used by the Infiniband code. This keeps the threading a little simpler in the rdma_cm, since all callbacks are invoked using the same work queue. (I'm also using this with the local SA/multicast code, but that's not ready for merging.)" There's no specific ordering constraint that's required. We're just ending up with several Infiniband modules creating their own work queues (ib_mad, ib_cm, ib_addr, rdma_cm, plus a couple more in modules under development), and this is an attempt to reduce that. If having separate work queues would work better, there shouldn't be anything that prevents this. - Sean ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Re: [PATCH 4/6 v2] IB: address translation to map IP toIB addresses (GIDs) 2006-03-21 21:08 ` Sean Hefty @ 2006-03-21 22:39 ` Roland Dreier 0 siblings, 0 replies; 5+ messages in thread From: Roland Dreier @ 2006-03-21 22:39 UTC (permalink / raw) To: Sean Hefty; +Cc: netdev, linux-kernel, openib-general Sean> "This is simply an attempt to reduce/combine work queues Sean> used by the Infiniband code. This keeps the threading a Sean> little simpler in the rdma_cm, since all callbacks are Sean> invoked using the same work queue. (I'm also using this Sean> with the local SA/multicast code, but that's not ready for Sean> merging.)" How does it keep the threading model simpler? Is this an inter-module dependency. Sean> There's no specific ordering constraint that's required. Sean> We're just ending up with several Infiniband modules Sean> creating their own work queues (ib_mad, ib_cm, ib_addr, Sean> rdma_cm, plus a couple more in modules under development), Sean> and this is an attempt to reduce that. If having separate Sean> work queues would work better, there shouldn't be anything Sean> that prevents this. It seems like it would be cleaner for each module to have its own workqueue if it needs one. There's also schedule_work(), although that goes to a multi-threaded workqueue. Michael Tsirkin has suggested creating a system-wide single-threaded workqueue (ie something like schedule_ordered_work()) for everyone that occasionally needs a single-threaded workqueue. - R. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2006-03-21 22:39 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <ORSMSX401FRaqbC8wSA0000000d@orsmsx401.amr.corp.intel.com>
2006-03-11 1:14 ` [PATCH 4/6 v2] IB: address translation to map IP toIB addresses (GIDs) Roland Dreier
2006-03-11 6:10 ` Sean Hefty
2006-03-21 20:57 ` Roland Dreier
2006-03-21 21:08 ` Sean Hefty
2006-03-21 22:39 ` Roland Dreier
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).