[openib-general] Approved mortage rate

2005-03-03 Thread Barbra Davenport
Hello, We tried contacting you awhile ago about your low interest morta(ge rate. You have qualified for the lowest rate in years... You could get over $380,000 for as little as $500 a month! Ba(d credit? Doesn't matter, low rates are fixed no matter what! To get a free, no obli,gation c

kDAPL code size Re: [openib-general] putting in dead wood for DAPL and similarabomination

2005-03-03 Thread Talpey, Thomas
At 09:56 AM 3/3/2005, Talpey, Thomas wrote: >that. At present, the code is heavily commented and fully generalized to >aid porting to multiple operating systems. It will look quite different once >it is freed of these attributes. Also, I'll point out there is extensive debug >and trace throughout t

[openib-general] Re: [RFC] userspace CM/verbs QP

2005-03-03 Thread Roland Dreier
Libor> When you say locking mess, do you mean accessing and Libor> potentially deleting the object which is referenced by the Libor> IDR table outside of the lock used to access the IDR? I just meant the fact that right now I have to hold the idr mutex over both looking up an old obj

[openib-general] Re: [RFC] userspace CM/verbs QP

2005-03-03 Thread Libor Michalek
On Thu, Mar 03, 2005 at 06:02:20PM -0800, Roland Dreier wrote: > Libor> I was thinking of maybe ref counting the access, either in > Libor> ib_qp or ib_uobject. Adding a pair of functions, lookup and > Libor> return, to manage the ref count... > > I think it makes sense to put a ref c

[openib-general] Re: [RFC] userspace CM/verbs QP

2005-03-03 Thread Roland Dreier
Libor> I was thinking of maybe ref counting the access, either in Libor> ib_qp or ib_uobject. Adding a pair of functions, lookup and Libor> return, to manage the ref count... I think it makes sense to put a ref count in struct ib_uobject. That would make it easier to enforce things l

Re: [openib-general] Re: [PATCH][26/26] IB: MAD cancel callbacks fromthread

2005-03-03 Thread Andrew Morton
Andrew Morton <[EMAIL PROTECTED]> wrote: > > Andrew Morton <[EMAIL PROTECTED]> wrote: > > > > Roland Dreier <[EMAIL PROTECTED]> wrote: > > > > > > >> don't add casts to a void pointer, that's silly. > > > > > > How should we handle this nit? Should I post a new version of this > > > patch or

Re: [openib-general] Re: [PATCH][26/26] IB: MAD cancel callbacks fromthread

2005-03-03 Thread Andrew Morton
Andrew Morton <[EMAIL PROTECTED]> wrote: > > Roland Dreier <[EMAIL PROTECTED]> wrote: > > > > >> don't add casts to a void pointer, that's silly. > > > > How should we handle this nit? Should I post a new version of this > > patch or an incremental diff that fixes it up? > > > > I'll fix it

[openib-general] Re: [PATCH][3/26] IB/mthca: improve CQ locking part 1

2005-03-03 Thread Roland Dreier
Greg> Sure, I have no problem accepting that into the pci core. What would pci_irq_sync() do exactly? - R. ___ openib-general mailing list openib-general@openib.org http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit htt

Re: [openib-general] Re: [PATCH][26/26] IB: MAD cancel callbacks fromthread

2005-03-03 Thread Andrew Morton
Roland Dreier <[EMAIL PROTECTED]> wrote: > > >> don't add casts to a void pointer, that's silly. > > How should we handle this nit? Should I post a new version of this > patch or an incremental diff that fixes it up? > I'll fix it up. ___ openib-g

RE: [openib-general] Re: [RFC] userspace CM/verbs QP

2005-03-03 Thread Sean Hefty
>I thought about that, here's the current list, but we would need to >lookup the pd anyway: > >qp->pd, >qp->qp_num >qp->qp_type >qp->srq >qp->device The kernel CM uses the PD of an internal mad_agent, and not the PD of the user's QP. So, I don't think it's

[openib-general] Re: [PATCH][3/26] IB/mthca: improve CQ locking part 1

2005-03-03 Thread Greg KH
On Thu, Mar 03, 2005 at 07:35:00PM -0500, Jeff Garzik wrote: > Roland Dreier wrote: > >@@ -783,6 +777,11 @@ > > cq->cqn & (dev->limits.num_cqs - 1)); > > spin_unlock_irq(&dev->cq_table.lock); > > > >+if (dev->mthca_flags & MTHCA_FLAG_MSI_X) > >+ synchronize_irq(de

[openib-general] Re: [RFC] userspace CM/verbs QP

2005-03-03 Thread Libor Michalek
On Thu, Mar 03, 2005 at 04:37:45PM -0800, Roland Dreier wrote: > Libor> Roland, As it currently stands, the userspace CM needs to > Libor> pass a QP from userspace to kernel space in order to pass > Libor> it on to the kernel CM. I'm thinking that the best way to > Libor> handle th

[openib-general] Re: [PATCH][16/26] IB/mthca: mem-free doorbell record writing

2005-03-03 Thread Roland Dreier
Jeff> Well, we don't just add code to "hope and pray" for an event Jeff> that nobody is sure can even occur... The hardware requires that if the record is written in two 32-bit chunks, then they must be written in order. Of course the hardware probably won't be reading just as we're writi

Re: [openib-general] Re: [PATCH][26/26] IB: MAD cancel callbacks fromthread

2005-03-03 Thread Roland Dreier
>> don't add casts to a void pointer, that's silly. How should we handle this nit? Should I post a new version of this patch or an incremental diff that fixes it up? - R. ___ openib-general mailing list openib-general@openib.org http://openib.org/

[openib-general] Re: [PATCH][16/26] IB/mthca: mem-free doorbell record writing

2005-03-03 Thread Jeff Garzik
Roland Dreier wrote: Jeff> Are you concerned about ordering, or write-combining? ordering... write combining would be fine. Jeff> I am unaware of a situation where writes are re-ordered into Jeff> a reversed, descending order for no apparent reason. Hmm... I've seen ppc64 do some pretty

[openib-general] Re: [PATCH][3/26] IB/mthca: improve CQ locking part 1

2005-03-03 Thread Roland Dreier
> @@ -783,6 +777,11 @@ > cq->cqn & (dev->limits.num_cqs - 1)); > spin_unlock_irq(&dev->cq_table.lock); > +if (dev->mthca_flags & MTHCA_FLAG_MSI_X) > + synchronize_irq(dev->eq_table.eq[MTHCA_EQ_COMP].msi_x_vector); > + else > + synchroni

RE: [openib-general] [RFC] userspace CM/verbs QP

2005-03-03 Thread Hefty, Sean
> As it currently stands, the userspace CM needs to pass a QP from >userspace to kernel space in order to pass it on to the kernel CM. >I'm thinking that the best way to handle this is for the uCM library >to pass uCM kernel the uverbs QP handle, and then have the kernel >uCM lookup the QP from ib

[openib-general] Re: [RFC] userspace CM/verbs QP

2005-03-03 Thread Roland Dreier
Libor> Roland, As it currently stands, the userspace CM needs to Libor> pass a QP from userspace to kernel space in order to pass Libor> it on to the kernel CM. I'm thinking that the best way to Libor> handle this is for the uCM library to pass uCM kernel the Libor> uverbs QP h

[openib-general] Re: [PATCH][3/26] IB/mthca: improve CQ locking part 1

2005-03-03 Thread Jeff Garzik
Roland Dreier wrote: @@ -783,6 +777,11 @@ cq->cqn & (dev->limits.num_cqs - 1)); spin_unlock_irq(&dev->cq_table.lock); + if (dev->mthca_flags & MTHCA_FLAG_MSI_X) + synchronize_irq(dev->eq_table.eq[MTHCA_EQ_COMP].msi_x_vector); + else + synchronize_irq(dev->pdev->irq); + Tangent: I thin

RE: [openib-general] Re: [PATCH][26/26] IB: MAD cancel callbacks fromthread

2005-03-03 Thread Sean Hefty
>Roland Dreier wrote: >> +void cancel_sends(void *data) >> +{ >> +struct ib_mad_agent_private *mad_agent_priv; >> +struct ib_mad_send_wr_private *mad_send_wr; >> +struct ib_mad_send_wc mad_send_wc; >> +unsigned long flags; >> + >> +mad_agent_priv = (struct ib_mad_agent_private *

[openib-general] Re: [PATCH][16/26] IB/mthca: mem-free doorbell record writing

2005-03-03 Thread Roland Dreier
Jeff> Are you concerned about ordering, or write-combining? ordering... write combining would be fine. Jeff> I am unaware of a situation where writes are re-ordered into Jeff> a reversed, descending order for no apparent reason. Hmm... I've seen ppc64 do some pretty freaky reordering

[openib-general] Re: [PATCH][26/26] IB: MAD cancel callbacks from thread

2005-03-03 Thread Roland Dreier
Jeff> don't add casts to a void pointer, that's silly. Fair enough... Jeff> dumb question... why is the lock dropped? is it just for Jeff> the send_handler(), or also for wr_id assigned, kfree, and Jeff> wake_up() ? Not sure... Sean? - R. __

[openib-general] [RFC] userspace CM/verbs QP

2005-03-03 Thread Libor Michalek
Roland, As it currently stands, the userspace CM needs to pass a QP from userspace to kernel space in order to pass it on to the kernel CM. I'm thinking that the best way to handle this is for the uCM library to pass uCM kernel the uverbs QP handle, and then have the kernel uCM lookup the QP fro

[openib-general] Re: [PATCH][26/26] IB: MAD cancel callbacks from thread

2005-03-03 Thread Jeff Garzik
Roland Dreier wrote: +void cancel_sends(void *data) +{ + struct ib_mad_agent_private *mad_agent_priv; + struct ib_mad_send_wr_private *mad_send_wr; + struct ib_mad_send_wc mad_send_wc; + unsigned long flags; + + mad_agent_priv = (struct ib_mad_agent_private *)data; don

[openib-general] Re: [PATCH][16/26] IB/mthca: mem-free doorbell record writing

2005-03-03 Thread Jeff Garzik
Roland Dreier wrote: Add a mthca_write_db_rec() to wrap writing doorbell records. On 64-bit archs, this is just a 64-bit write, while on 32-bit archs it splits the write into two 32-bit writes with a memory barrier to make sure the two halves of the record are written in the correct order. +stati

[openib-general] [PATCH][26/26] IB: MAD cancel callbacks from thread

2005-03-03 Thread Roland Dreier
From: Sean Hefty <[EMAIL PROTECTED]> Modify ib_cancel_mad() to invoke a user's send completion callback from a different thread context than that used by the caller. This allows a caller to hold a lock while calling cancel that is also acquired from their send handler. Signed-off-by: Sean Hefty

[openib-general] [PATCH][23/26] IB/mthca: mem-free multicast table

2005-03-03 Thread Roland Dreier
Tie up one last loose end by mapping enough context memory to cover the whole multicast table during initialization, and then enable mem-free mode. mthca now supports enough of mem-free mode so that IPoIB works with a mem-free HCA. Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> --- linux-expo

[openib-general] [PATCH][25/26] IB/mthca: implement query of device caps

2005-03-03 Thread Roland Dreier
From: Michael S. Tsirkin <[EMAIL PROTECTED]> Set device_cap_flags field in mthca's query_device method. Signed-off-by: Michael S. Tsirkin <[EMAIL PROTECTED]> Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> --- linux-export.orig/drivers/infiniband/hw/mthca/mthca_cmd.h 2005-01-25 20:48:02.000

[openib-general] [PATCH][22/26] IB/mthca: mem-free work request posting

2005-03-03 Thread Roland Dreier
Implement posting send and receive work requests for mem-free mode. Also tidy up a few things in send/receive posting for Tavor mode (fix smp_wmb()s that should really be just wmb()s, annotate tests in the fast path with likely()/unlikely()). Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> ---

[openib-general] [PATCH][24/26] IB/mthca: QP locking optimization

2005-03-03 Thread Roland Dreier
From: Michael S. Tsirkin <[EMAIL PROTECTED]> 1. Split the QP spinlock into separate send and receive locks. The only place where we have to lock both is upon modify_qp, and that is not on data path. 2. Avoid taking any QP locks when polling CQ. This last part is achieved by getting rid

[openib-general] [PATCH][20/26] IB/mthca: mem-free QP initialization

2005-03-03 Thread Roland Dreier
Update QP initialization and cleanup to handle mem-free mode. In mem-free mode, work queue sizes have to be rounded up to a power of 2, we need to allocate doorbells, there must be memory mapped for the entries in the QP and extended QP context table that we use, and the entries of the receive que

[openib-general] [PATCH][21/26] IB/mthca: mem-free address vectors

2005-03-03 Thread Roland Dreier
Update address vector handling to support mem-free mode. In mem-free mode, the address vector (in hardware format) is copied by the driver into each send work queue entry, so our address handle creation can become pretty trivial: we just kmalloc() a buffer to hold the formatted address vector. Si

[openib-general] [PATCH][19/26] IB/mthca: mem-free CQ operations

2005-03-03 Thread Roland Dreier
Add support for CQ data path operations (request notification, update consumer index) in mem-free mode. Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> --- linux-export.orig/drivers/infiniband/hw/mthca/mthca_cq.c2005-03-03 14:13:00.312829664 -0800 +++ linux-export/drivers/infiniband/hw/mth

[openib-general] [PATCH][18/26] IB/mthca: mem-free CQ initialization

2005-03-03 Thread Roland Dreier
Update CQ initialization and cleanup to handle mem-free mode: we need to make sure the HCA has memory mapped for the entry in the CQ context table we will use and also allocate doorbell records. Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> --- linux-export.orig/drivers/infiniband/hw/mthca/mt

[openib-general] [PATCH][16/26] IB/mthca: mem-free doorbell record writing

2005-03-03 Thread Roland Dreier
Add a mthca_write_db_rec() to wrap writing doorbell records. On 64-bit archs, this is just a 64-bit write, while on 32-bit archs it splits the write into two 32-bit writes with a memory barrier to make sure the two halves of the record are written in the correct order. Signed-off-by: Roland Dreie

[openib-general] [PATCH][17/26] IB/mthca: refactor CQ buffer allocate/free

2005-03-03 Thread Roland Dreier
Factor the allocation and freeing of completion queue buffers into mthca_alloc_cq_buf() and mthca_free_cq_buf(). This makes the code more readable and will eventually make handling userspace CQs simpler (the kernel doesn't have to allocate a buffer at all). Signed-off-by: Roland Dreier <[EMAIL PR

[openib-general] [PATCH][15/26] IB/mthca: mem-free doorbell record allocation

2005-03-03 Thread Roland Dreier
Mem-free mode requires the driver to allocate additional doorbell pages for each user access region. Add support for this in mthca_memfree.c, and have the driver allocate a table in db_tab for kernel use. Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> --- linux-export.orig/drivers/infiniband/

[openib-general] [PATCH][14/26] IB/mthca: tweak MAP_ICM_page firmware command

2005-03-03 Thread Roland Dreier
Have MAP_ICM_page() firmware command map assume pages are always the HCA-native 4K size rather than using the kernel's page size. This will make handling doorbell pages for mem-free mode simpler. Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> --- linux-export.orig/drivers/infiniband/hw/mthca/

[openib-general] [PATCH][13/26] IB/mthca: tweak firmware command debug messages

2005-03-03 Thread Roland Dreier
Slightly improve debugging output for UNMAP_ICM and MODIFY_QP firmware commands. Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> --- linux-export.orig/drivers/infiniband/hw/mthca/mthca_cmd.c 2005-01-25 20:48:02.0 -0800 +++ linux-export/drivers/infiniband/hw/mthca/mthca_cmd.c2

[openib-general] [PATCH][12/26] IB/mthca: mem-free interrupt handling

2005-03-03 Thread Roland Dreier
Update interrupt handling code to handle mem-free mode. While we're at it, improve the Tavor interrupt handling to avoid an extra MMIO read of the event cause register. Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> --- linux-export.orig/drivers/infiniband/hw/mthca/mthca_dev.h 2005-03-03 1

[openib-general] [PATCH][11/26] IB/mthca: mem-free EQ initialization

2005-03-03 Thread Roland Dreier
Add code to initialize EQ context properly in both Tavor and mem-free mode. Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> --- linux-export.orig/drivers/infiniband/hw/mthca/mthca_eq.c2005-03-03 14:12:56.154732247 -0800 +++ linux-export/drivers/infiniband/hw/mthca/mthca_eq.c 2005-03-03 14

[openib-general] [PATCH][10/26] IB/mthca: mem-free memory region support

2005-03-03 Thread Roland Dreier
Add support for mem-free mode to memory region code. This mostly amounts to properly munging between keys and indices. Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> --- linux-export.orig/drivers/infiniband/hw/mthca/mthca_mr.c2005-01-15 15:16:11.0 -0800 +++ linux-export/drivers/i

[openib-general] [PATCH][8/26] IB/mthca: add UAR allocation

2005-03-03 Thread Roland Dreier
Add support for allocating user access regions (UARs). Use this to allocate a region for kernel at driver init instead using hard-coded MTHCA_KAR_PAGE index. Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> --- linux-export.orig/drivers/infiniband/hw/mthca/Makefile 2005-01-15 15:16:40.000

[openib-general] [PATCH][9/26] IB/mthca: dynamic context memory mapping for mem-free mode

2005-03-03 Thread Roland Dreier
Add support for mapping more memory into HCA's context to cover context tables when new objects are allocated. Pass the object size into mthca_alloc_icm_table(), reference count the ICM chunks, and add new mthca_table_get() and mthca_table_put() functions to handle mapping memory when allocating o

[openib-general] [PATCH][7/26] IB/mthca: map registers for mem-free mode

2005-03-03 Thread Roland Dreier
Move the request/ioremap of regions related to event handling into mthca_eq.c. Map the correct regions depending on whether we're in Tavor or native mem-free mode. Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> --- linux-export.orig/drivers/infiniband/hw/mthca/mthca_config_reg.h 2005-01-2

[openib-general] [PATCH][6/26] IB: remove unsignaled receives

2005-03-03 Thread Roland Dreier
From: Michael S. Tsirkin <[EMAIL PROTECTED]> Remove support for unsignaled receive requests. This is a non-standard extension to the IB spec that is not used by any known applications or protocols, and is not supported by newer hardware. Signed-off-by: Michael S. Tsirkin <[EMAIL PROTECTED]> Sign

[openib-general] [PATCH][5/26] IB/mthca: CQ cleanups

2005-03-03 Thread Roland Dreier
Simplify some of the code for CQ handling slightly. Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> --- linux-export.orig/drivers/infiniband/hw/mthca/mthca_cq.c2005-03-03 14:12:52.923433653 -0800 +++ linux-export/drivers/infiniband/hw/mthca/mthca_cq.c 2005-03-03 14:12:53.538300187 -0800 @

[openib-general] [PATCH][4/26] IB/mthca: improve CQ locking part 2

2005-03-03 Thread Roland Dreier
From: Michael S. Tsirkin <[EMAIL PROTECTED]> Locking during the poll cq operation can be reduced by locking the cq while qp is being removed from the qp array. This also avoids an extra atomic operation for reference counting. Signed-off-by: Michael S. Tsirkin <[EMAIL PROTECTED]> Signed-off-by:

[openib-general] [PATCH][3/26] IB/mthca: improve CQ locking part 1

2005-03-03 Thread Roland Dreier
From: Michael S. Tsirkin <[EMAIL PROTECTED]> Avoid taking the CQ table lock in the fast path path by using synchronize_irq() after removing a CQ from the table to make sure that no completion events are still in progress. This gets a nice speedup (about 4%) in IP over IB on my hardware. Signed-o

[openib-general] [PATCH][2/26] IB/mthca: CQ minor tweaks

2005-03-03 Thread Roland Dreier
From: "Michael S. Tsirkin" <[EMAIL PROTECTED]> Clean up CQ code so that we only calculate the address of a CQ entry once when using it. Signed-off-by: Michael S. Tsirkin <[EMAIL PROTECTED]> Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> --- linux-export.orig/drivers/infiniband/hw/mthca/mthca_

[openib-general] [PATCH][1/26] IB: fix ib_find_cached_gid() port numbering

2005-03-03 Thread Roland Dreier
From: Sean Hefty <[EMAIL PROTECTED]> Fix ib_find_cached_gid() to return the correct port number relative to the port numbering used by the device. Signed-off-by: Sean Hefty <[EMAIL PROTECTED]> Signed-off-by: Roland Dreier <[EMAIL PROTECTED]> --- linux-export.orig/drivers/infiniband/core/cache.c

[openib-general] [PATCH][0/26] InfiniBand merge

2005-03-03 Thread Roland Dreier
Here's another series of patches that applies on top of the fixes I posted yesterday. This series syncs the kernel with everything ready for merging from the OpenIB subversion tree. Most of these patches add more support for "mem-free" mode to mthca. This allows PCI Express HCAs to operate by sto

Re: [openib-general] mr_table.max_mtt_order

2005-03-03 Thread Michael S. Tsirkin
Quoting r. Roland Dreier <[EMAIL PROTECTED]>: > Subject: Re: [openib-general] mr_table.max_mtt_order > > Roland> I thought about this a little. I think that any inline > Roland> function forces someone reading the code to look up what > Roland> it does, no matter how descriptive the

Re: [openib-general] mr_table.max_mtt_order

2005-03-03 Thread Roland Dreier
Roland> I thought about this a little. I think that any inline Roland> function forces someone reading the code to look up what Roland> it does, no matter how descriptive the name we come up Roland> with. I think it would be better to use fls() directly. Roland> I'm already in

RE: [openib-general] putting in dead wood for DAPL and similarabomination

2005-03-03 Thread Yaron Haviv
> -Original Message- > From: Christoph Hellwig [mailto:[EMAIL PROTECTED] > Sent: Thursday, March 03, 2005 5:48 AM > To: Yaron Haviv > Cc: Christoph Hellwig; James Lentini; openib-general@openib.org > Subject: Re: [openib-general] putting in dead wood for DAPL and > similarabomination > > T

RE: [openib-general] putting in dead wood for DAPL and similarabomination

2005-03-03 Thread Clem Cole
Thanks for the kind words Tom. Indeed, Ammasso is fully open source and are thrilled at the idea of getting DAPL into the mainline. We went GA with our 1.2 release recently and have had our AMSO100 hardware and associated iWARP software in the hands of about 60 different sites - both HPTC and com

Re: [openib-general] putting in dead wood for DAPL and similarabomination

2005-03-03 Thread Talpey, Thomas
At 10:48 PM 3/2/2005, Christoph Hellwig wrote: >The current iSER code is 10928 LOC, add to that 22155 LOC of kDAPL (not >including the actual provider for IB) and 5822 LOC linux-iscsi kernel >code. Compare that to the 25412 LOC total for drivers/infiniband in Linux >2.6.11. Is this just about LOCs

RE: [openib-general] putting in dead wood for DAPL and similarabomination

2005-03-03 Thread Talpey, Thomas
At 02:22 PM 3/2/2005, Woodruff, Robert J wrote: >I think the point is that only one of those interconnects (IB) is >in the kernel, the rest are proprietary. Do any of the other RDMA >interconnect vendors plan to submit their code for inclusion into Linux >in the near future ? Yes - take a look a

RE: [openib-general] IB Address Translation service

2005-03-03 Thread shaharf
> > The advantage of ATS is that it "just works" whether wired point to > point, or via a switch, or whatever. It requires no central > administration, > works as transparently as ARP and ND, and supports IP addressing so > applications don't have any ambiguity in how they resolve names. > > If