[PATCH 1/2] IB/ehca: fix Small QP regressions

2007-08-31 Thread Joachim Fenkes
From: Stefan Roscher <[EMAIL PROTECTED]> The new Small QP code had a few bugs that would also trigger for non-Small QPs. Fix them. Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_qp.c | 10 ++ drivers/infiniband/hw/ehca/ipz_pt_fn.c

[PATCH 0/2] IB/ehca: Fixes for rc5

2007-08-31 Thread Joachim Fenkes
eview the changes and apply the patches for 2.6.23-rc5 if they are okay. Regards, Joachim -- Joachim Fenkes  --  eHCA Linux Driver Developer and Hardware Tamer IBM Deutschland Entwicklung GmbH  --  Dept. 3627 (I/O Firmware Dev. 2) Schoenaicher Strasse 220  --  71032 Boeblingen  --  Germany

Re: [PATCH 2.6.23] ibmebus: Prevent bus_id collisions

2007-08-31 Thread Joachim Fenkes
[EMAIL PROTECTED] (Linas Vepstas) wrote on 30.08.2007 23:28:16: > On Thu, Aug 30, 2007 at 04:00:56PM +0200, Joachim Fenkes wrote: > > > > Plus, I rather like using > > the full_name since it also contains a descriptive name as opposed to > > being just nondescript

Re: [PATCH 2.6.23] ibmebus: Prevent bus_id collisions

2007-08-30 Thread Joachim Fenkes
Nathan Lynch <[EMAIL PROTECTED]> wrote on 29.08.2007 20:12:32: > > Previously, ibmebus derived a device's bus_id from its location code. The > > location code is not guaranteed to be unique, so we might get bus_id > > collisions if two devices share the same location code. The OFDT full_name, >

[PATCH 2.6.23] ibmebus: Prevent bus_id collisions

2007-08-29 Thread Joachim Fenkes
Previously, ibmebus derived a device's bus_id from its location code. The location code is not guaranteed to be unique, so we might get bus_id collisions if two devices share the same location code. The OFDT full_name, however, is unique, so we use that instead. Signed-off-by: Joachim F

Re: [PATCH 04/30] powerpc: Don't cast kmalloc return value in ibmebus.c

2007-08-23 Thread Joachim Fenkes
> kmalloc() returns a void pointer so there is absolutely no need to > cast it in ibmebus_chomp(). > > Signed-off-by: Jesper Juhl <[EMAIL PROTECTED]> Acked-By: Joachim Fenkes <[EMAIL PROTECTED]> ___ Linuxppc-dev mailing list

[PATCH] IB/ehca: Properly report max #SRQs in query_device()

2007-08-09 Thread Joachim Fenkes
Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- This patch should apply cleanly on top of Stefan's recent patchset. Please review and apply for 2.6.23. Thanks. drivers/infiniband/hw/ehca/ehca_hca.c | 10 +++--- 1 files changed, 7 insertions(+), 3 deletions(-) diff --gi

Re: [PATCH 10/10] IB/ehca: Support large page MRs

2007-07-16 Thread Joachim Fenkes
Roland Dreier <[EMAIL PROTECTED]> wrote on 17.07.2007 05:50:13: > > > Why the module parameter? Is there any reason a user would want to > > > turn this off? Or conversely, why is it off by default? > > > > We're pretty confident this new feature works, but as with all new and > > possib

Re: [PATCH 10/10] IB/ehca: Support large page MRs

2007-07-16 Thread Joachim Fenkes
Roland Dreier <[EMAIL PROTECTED]> wrote on 16.07.2007 19:37:09: > > If enabled via the mr_largepage module parameter, > > Why the module parameter? Is there any reason a user would want to > turn this off? Or conversely, why is it off by default? We're pretty confident this new feature works

Re: [PATCH 04/10] IB/ehca: use common error code mapping instead of specific ones

2007-07-16 Thread Joachim Fenkes
Roland Dreier <[EMAIL PROTECTED]> wrote on 16.07.2007 19:14:03: > applied, but as a further cleanup it seems that ehca2ib_return_code() > should be moved into a .c file and moved out of line -- I think it > would probably shrink the compiled code quite a bit, and as far as I > can see it is never

Re: [PATCH 01/10] IB/ehca: Support for multiple event queues

2007-07-16 Thread Joachim Fenkes
Roland Dreier <[EMAIL PROTECTED]> wrote on 16.07.2007 18:04:26: > It seems not quite right to me for the driver to advertise nr_eqs > completion vectors, but then if round-robin is turned on to ignore the > consumer's decision about which vector to use. The round-robin feature was primarily meant

Re: [PATCH 00/10] IB/ehca: Multiple Event Queues, MR/MW rework, large page MRs, fixes

2007-07-13 Thread Joachim Fenkes
> > [09/10] fixes a lot of checkpatch.pl warnings > > Are these warnings from earlier patches in the series, or problems > that already existed in the code? If they are coming from other > patches in the series, please just fix the earlier patches before I > merge them. Nam did a diff -Nurp emp

[PATCH 10/10] IB/ehca: Support large page MRs

2007-07-12 Thread Joachim Fenkes
>= 16M, 16M pages are used, for example. Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_classes.h | 10 + drivers/infiniband/hw/ehca/ehca_main.c| 17 ++- drivers/infiniband/hw/ehca/ehca_mrmw.c| 371 - driver

[PATCH 09/10] IB/ehca: Fix warnings issued by checkpatch.pl

2007-07-12 Thread Joachim Fenkes
From: Hoang-Nam Nguyen <[EMAIL PROTECTED]> Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_av.c |2 +- drivers/infiniband/hw/ehca/ehca_classes.h |4 +- drivers/infiniband/hw/ehca/ehca_classes_pSer

[PATCH 08/10] IB/ehca: Restructure ehca_set_pagebuf()

2007-07-12 Thread Joachim Fenkes
From: Hoang-Nam Nguyen <[EMAIL PROTECTED]> Split ehca_set_pagebuf() into three functions depending on MR type (phys/user/fast) and remove superfluous ehca_set_pagebuf_1(). Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_m

[PATCH 07/10] IB/ehca: MR/MW structure refactoring

2007-07-12 Thread Joachim Fenkes
From: Hoang-Nam Nguyen <[EMAIL PROTECTED]> - Rename struct ehca_mr fields to clearly distinguish between kernel and HW page size - Sort struct ehca_mr_pginfo into a common part and a union containing specific fields for physical, user and fast MR Signed-off-by: Joachim Fenkes &

[PATCH 06/10] IB/ehca: use macro to calculate number of chunks in a mem block

2007-07-12 Thread Joachim Fenkes
From: Hoang-Nam Nguyen <[EMAIL PROTECTED]> Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_mrmw.c | 47 --- 1 files changed, 24 insertions(+), 23 deletions(-) diff --git a/drivers/infiniband/hw/ehca/ehca_mrmw.

[PATCH 05/10] IB/ehca: use #define for "pages per register_rpage" instead of hardcoded value

2007-07-12 Thread Joachim Fenkes
From: Hoang-Nam Nguyen <[EMAIL PROTECTED]> Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_mrmw.c | 19 +++ 1 files changed, 11 insertions(+), 8 deletions(-) diff --git a/drivers/infiniband/hw/ehca/ehca_mrmw.c b/drivers/infini

[PATCH 04/10] IB/ehca: use common error code mapping instead of specific ones

2007-07-12 Thread Joachim Fenkes
From: Hoang-Nam Nguyen <[EMAIL PROTECTED]> Instead of one error mapping function for each potential error source in ehca_mrmw.c, use a centralized function that handles all cases, saving a three-figure line count. Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infini

[PATCH 02/10] IB/ehca: Fix HW level autodetection

2007-07-12 Thread Joachim Fenkes
Autodetection was missing a few HW revisions, causing certain eHCA1 revisions to be treated like eHCA2. Fixed. Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_main.c | 29 + 1 files changed, 17 insertions(+), 12 del

[PATCH 03/10] IB/ehca: fix memory leak in error path of ehca_get_dma_mr()

2007-07-12 Thread Joachim Fenkes
From: Hoang-Nam Nguyen <[EMAIL PROTECTED]> Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_mrmw.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/infiniband/hw/ehca/ehca_mrmw.c b/drivers/infiniband/hw/ehca/ehca_

[PATCH 01/10] IB/ehca: Support for multiple event queues

2007-07-12 Thread Joachim Fenkes
st_eqs module parameter is supplied, using a round-robin scheme. Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_classes.h | 13 +++- drivers/infiniband/hw/ehca/ehca_cq.c | 16 +++- drivers/infiniband/hw/ehca/ehca_eq.c

[PATCH 00/10] IB/ehca: Multiple Event Queues, MR/MW rework, large page MRs, fixes

2007-07-12 Thread Joachim Fenkes
y are okay. Regards, Joachim -- Joachim Fenkes  --  eHCA Linux Driver Developer and Hardware Tamer IBM Deutschland Entwicklung GmbH  --  Dept. 3627 (I/O Firmware Dev. 2) Schoenaicher Strasse 220  --  71032 Boeblingen  --  Germany eMail: [EMAIL

DEFINE_IDR() and the layer cache

2007-07-11 Thread Joachim Fenkes
Hi all, while the idr discussion is still hot, there's another thing that caught my eye recently: As to my reading of idr.h, I have two choices of initializing a global idr: a) static struct idr foo; /* ... */ idr_init(&foo); b) static DEFINE_IDR(foo); idr_init(), when called for the first tim

Re: [PATCH 00/13] IB/ehca: eHCA2 enablement & some fixes

2007-07-10 Thread Joachim Fenkes
Roland Dreier <[EMAIL PROTECTED]> wrote on 10.07.2007 00:11:42: > thanks, I applied these for 2.6.23 and fixed a bunch of minor things > that scripts/checkpatch.pl complained about (since I was in a mood to > do mindless things). Thanks! Both for the quick merge and for the fixes! > In the futur

Re: [PATCH 06/13] IB/ehca: Set SEND_GRH flag for all non-LL UD QPs on eHCA2

2007-07-10 Thread Joachim Fenkes
Roland Dreier <[EMAIL PROTECTED]> wrote on 09.07.2007 23:35:31: > Out of curiousity, does this mean that a GRH will be sent on all UD > messages (for non-LL QPs)? No - the bit instructs the hardware to fetch the GRH parts of the QP context. The GRH will only be used if the WQE says so. Joachim

[PATCH 13/13] IB/ehca: Improve latency by unlocking the SQ/RQ after triggering the hardware

2007-07-09 Thread Joachim Fenkes
From: Hoang-Nam Nguyen <[EMAIL PROTECTED]> Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_reqs.c |5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/infiniband/hw/ehca/ehca_reqs.c b/drivers/infiniband/hw/ehca

[PATCH 12/13] IB/ehca: notify consumers of LID/PKEY/SM changes after nondisruptive events

2007-07-09 Thread Joachim Fenkes
When firmware reports a nondisruptive port configuration change event, previous versions of the eHCA driver didn't forward the event to consumers like IPoIB. Add code that determines the type of configuration change by comparing old and new port attributes and reports it. Signed-off-by: Jo

[PATCH 11/13] IB/ehca: return QP pointer in poll_cq(), add two unlikely() statements

2007-07-09 Thread Joachim Fenkes
Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_reqs.c | 11 --- 1 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/infiniband/hw/ehca/ehca_reqs.c b/drivers/infiniband/hw/ehca/ehca_reqs.c index 73f0c06..fd3ba22 100644

[PATCH 10/13] IB/ehca: Change idr spinlocks into rwlocks

2007-07-09 Thread Joachim Fenkes
This eliminates lock contention among IRQs as well as the need to disable IRQs around idr_find, because there are no IRQ writers. Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_classes.h |4 ++-- drivers/infiniband/hw/ehca/ehca_cq.c

[PATCH 09/13] IB/ehca: Refactor synchronization between completions and destroy_cq using atomic_t

2007-07-09 Thread Joachim Fenkes
- ehca_cq.nr_events is made an atomic_t, eliminating a lot of locking. - The CQ is removed from the CQ idr first now to make sure no more completions are scheduled on that CQ. The "wait for all completions to end" code becomes much simpler this way. Signed-off-by: Joachim Fenk

[PATCH 08/13] IB/ehca: Lock renaming, static initializers

2007-07-09 Thread Joachim Fenkes
- Renamed all spinlock flags to "flags", matching the vast majority of kernel code. - Moved hcall_lock into the only module it's used in. - Replaced spin_lock_init() and friends with static initializers for global variables. Signed-off-by: Joachim Fenkes <[EMAIL PROTEC

[PATCH 07/13] IB/ehca: Report RDMA atomic attributes in query_qp()

2007-07-09 Thread Joachim Fenkes
From: Hoang-Nam Nguyen <[EMAIL PROTECTED]> Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_qp.c |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/drivers/infiniband/hw/ehca/ehca_qp.c b/drivers/infiniband/hw/ehca/ehc

[PATCH 06/13] IB/ehca: Set SEND_GRH flag for all non-LL UD QPs on eHCA2

2007-07-09 Thread Joachim Fenkes
From: Stefan Roscher <[EMAIL PROTECTED]> Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_qp.c | 11 +++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/drivers/infiniband/hw/ehca/ehca_qp.c b/drivers/infiniband/hw/eh

[PATCH 05/13] IB/ehca: Support UD low latency QPs

2007-07-09 Thread Joachim Fenkes
From: Stefan Roscher <[EMAIL PROTECTED]> Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_qp.c | 84 +++--- 1 files changed, 57 insertions(+), 27 deletions(-) diff --git a/drivers/infiniband/hw/ehca/ehca_qp.

[PATCH 04/13] IB/ehca: add Shared Receive Queue support

2007-07-09 Thread Joachim Fenkes
Support SRQs on eHCA2. Since an SRQ is a QP for eHCA2, a lot of code (structures, create, destroy, post_recv) can be shared between QP and SRQ. Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_classes.h | 26 +- drivers/infiniband/h

[PATCH 03/13] IB/ehca: QP code restructuring in preparation for SRQ

2007-07-09 Thread Joachim Fenkes
igned-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_classes.h | 46 +- drivers/infiniband/hw/ehca/ehca_qp.c | 254 + drivers/infiniband/hw/ehca/hcp_if.c | 35 ++--- drivers/infiniband/hw/ehca/hcp_if.h |1

[PATCH 02/13] IB/ehca: HW level, HW caps and MTU autodetection

2007-07-09 Thread Joachim Fenkes
: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_av.c |6 ++- drivers/infiniband/hw/ehca/ehca_classes.h |2 + drivers/infiniband/hw/ehca/ehca_hca.c | 27 +++- drivers/infiniband/hw/ehca/ehca_main.c| 62 ++--- d

[PATCH 01/13] IB/ehca: change scaling_code parameter description to match default value

2007-07-09 Thread Joachim Fenkes
From: Hoang-Nam Nguyen <[EMAIL PROTECTED]> Signed-off-by: Joachim Fenkes <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_main.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/infiniband/hw/ehca/ehca_main.c b/drivers/infiniband/hw/ehca/ehca_

[PATCH 00/13] IB/ehca: eHCA2 enablement & some fixes

2007-07-09 Thread Joachim Fenkes
SM LID etc. changes [13/13] adds a slight latency improvement The patches should apply cleanly, in order, against Roland's git. Please review the changes and apply the patches for 2.6.23 if they are okay. Regards, Joachim -- Joachim Fenkes  --  eHCA Linux Driver Developer and Hardware

<    1   2