Re: [PATCH 1/3] IB/ehca: Replace vmalloc with kmalloc

2009-04-28 Thread Stefan Roscher
On Tuesday 28 April 2009 05:12:51 pm Dave Hansen wrote: On Tue, 2009-04-21 at 17:16 +0200, Stefan Roscher wrote: From: Anton Blanchard antonb at au1.ibm.com To improve performance of driver ressource allocation, replace the vmalloc() call with kmalloc(). Just curious, but how big

Re: [PATCH 1/3] IB/ehca: Replace vmalloc with kmalloc

2009-04-22 Thread Stefan Roscher
/ Kind regards Stefan Roscher eHCA/eHEA Linux Driver Development IBM Systems Technology Group, Systems Software Development / FW I/O Firmware Entwicklung 2

Re: [PATCH 1/3] IB/ehca: Replace vmalloc with kmalloc

2009-04-22 Thread Stefan Roscher
In case of large queue pairs there is the possibillity of allocation failures due to memory fragmentationo with kmalloc().To ensure the memory is allocated even if kmalloc() can not find chunks which are big enough, we try to allocate the memory with vmalloc(). Signed-off-by: Stefan Roscher

Re: [PATCH 1/3] IB/ehca: Replace vmalloc with kmalloc

2009-04-22 Thread Stefan Roscher
On Wednesday 22 April 2009 04:10:18 pm michael wrote: Hi, I don't take the point, if it is not import use the vmalloc. Why you try with a kmalloc alloc first? and why do not use kzalloc? Because kmalloc() is faster than vmalloc() causing a huge performance win when someone allocates a

[PATCH 0/3] IB/ehca: Perfomance improvment for creation of queue pairs

2009-04-21 Thread Stefan Roscher
This patchset contains performance improvments for ehca driver. It will skip code which is not necessary for userspace queue pairs and will replace vmalloc() calls with kmalloc(). Because of this fundamental code change we will also increment the version number. They should apply cleanly against

[PATCH 1/3] IB/ehca: Replace vmalloc with kmalloc

2009-04-21 Thread Stefan Roscher
From: Anton Blanchard antonb at au1.ibm.com To improve performance of driver ressource allocation, replace the vmalloc() call with kmalloc(). Signed-off-by: Stefan Roscher stefan.roscher at de.ibm.com --- drivers/infiniband/hw/ehca/ipz_pt_fn.c |6 +++--- 1 files changed, 3 insertions(+), 3

[PATCH 2/3] IB/ehca: Remove unnecessary memory operations for userspace queue pairs

2009-04-21 Thread Stefan Roscher
. These changes will improve the performance of creation of userspace queue pairs. Signed-off-by: Stefan Roscher stefan.roscher at de.ibm.com --- drivers/infiniband/hw/ehca/ehca_qp.c | 94 ++-- drivers/infiniband/hw/ehca/hcp_if.c |6 +- drivers/infiniband/hw/ehca

[PATCH 3/3] IB/ehca: Increment version number

2009-04-21 Thread Stefan Roscher
Signed-off-by: Stefan Roscher stefan.rosc...@de.ibm.com --- 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_main.c index 368311c..85905ab 100644

[PATCH] IB/ehca: replace modulus operations in flush error completion path

2008-12-02 Thread Stefan Roscher
. Signed-off-by: Stefan Roscher [EMAIL PROTECTED] --- drivers/infiniband/hw/ehca/ehca_classes.h |7 +++ drivers/infiniband/hw/ehca/ehca_qp.c | 12 ++-- drivers/infiniband/hw/ehca/ehca_reqs.c| 13 ++--- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git

[PATCH] IB/ehca: remove reference to the QP in case of port activation failure

2008-11-04 Thread Stefan Roscher
will apply cleanly on top of 2.6.28 git tree. Signed-off-by: Stefan Roscher [EMAIL PROTECTED] --- drivers/infiniband/hw/ehca/ehca_irq.c |7 +-- drivers/infiniband/hw/ehca/ehca_qp.c |5 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/hw/ehca/ehca_irq.c

[PATCH]IB/ehca:reject dynamic memory add/remove

2008-10-13 Thread Stefan Roscher
notifier to the ehca device driver and if a request for dynamic memory add or remove comes in, ehca will always reject it. Signed-off-by: Stefan Roscher [EMAIL PROTECTED] --- diff -Nurp linux-2.6.27-rc6-7/drivers/infiniband/hw/ehca/ehca_main.c linux-2.6.27-rc6-7.new/drivers/infiniband/hw/ehca

Re: [PATCH REPOST] IB/ehca: In case of lost interrupts, trigger EOI to reenable interrupts

2008-06-13 Thread Stefan Roscher
Hi Roland, On Tuesday 10 June 2008 18:18:50 Roland Dreier wrote: So just to be clear: this is a workaround for a hardware/firmware bug? Yes it is. OK, so paulus et al... does it seem like a good approach to call H_EOI from driver code (given that this driver makes tons of other

[PATCH REPOST #2] IB/ehca: In case of lost interrupts, trigger EOI to reenable interrupts

2008-06-13 Thread Stefan Roscher
During corner case testing, we noticed that some versions of ehca do not properly transition to interrupt done in special load situations. This can be resolved by periodically triggering EOI through H_EOI, if eqes are pending. Signed-off-by: Stefan Roscher [EMAIL PROTECTED] --- As firmware team

Re: [PATCH 0/2] Prevent loss of interrupts in IB/ehca

2008-06-10 Thread Stefan Roscher
On Tuesday 10 June 2008 00:28:16 Paul Mackerras wrote: Stefan Roscher writes: This patchset contains two changes for IB/ehca and ibmebus. The first patch enables ibmebus_request_irq() to optionally return the IRQ number, which is used by the second patch to trigger EOI in case

[PATCH REPOST] IB/ehca: In case of lost interrupts, trigger EOI to reenable interrupts

2008-06-10 Thread Stefan Roscher
During corner case testing, we noticed that some versions of ehca do not properly transition to interrupt done in special load situations. This can be resolved by periodically triggering EOI through H_EOI, if eqes are pending. Signed-off-by: Stefan Roscher [EMAIL PROTECTED] --- This patch

Re: [PATCH REPOST] IB/ehca: In case of lost interrupts, trigger EOI to reenable interrupts

2008-06-10 Thread Stefan Roscher
On Tuesday 10 June 2008 16:52:57 Roland Dreier wrote: During corner case testing, we noticed that some versions of ehca do not properly transition to interrupt done in special load situations. This can be resolved by periodically triggering EOI through H_EOI, if eqes are pending.

[PATCH 0/2] Prevent loss of interrupts in IB/ehca

2008-06-09 Thread Stefan Roscher
This patchset contains two changes for IB/ehca and ibmebus. The first patch enables ibmebus_request_irq() to optionally return the IRQ number, which is used by the second patch to trigger EOI in case of lost interrupts. They should apply cleanly against 2.6.26 git tree. Thanks Stefan

[PATCH 1/2] ibmebus: Change ibmebus_request_irq() to optionally return irq number

2008-06-09 Thread Stefan Roscher
Signed-off-by: Stefan Roscher [EMAIL PROTECTED] --- arch/powerpc/kernel/ibmebus.c|5 - drivers/infiniband/hw/ehca/ehca_eq.c |4 ++-- drivers/net/ehea/ehea_main.c |6 +++--- include/asm-powerpc/ibmebus.h|2 +- 4 files changed, 10 insertions(+), 7

[PATCH 2/2] IB/ehca: In case of lost interrupts, trigger EOI to reenable interrupts

2008-06-09 Thread Stefan Roscher
Signed-off-by: Stefan Roscher [EMAIL PROTECTED] --- drivers/infiniband/hw/ehca/ehca_classes.h |1 + drivers/infiniband/hw/ehca/ehca_eq.c |6 -- drivers/infiniband/hw/ehca/ehca_main.c| 12 ++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/drivers

[PATCH] IB/ehca: Protect QP against destroying until all async events for it are handled.

2008-05-07 Thread Stefan Roscher
This is necessary because, in a multicore environment, a race between uverbs async handler and destroy QP could occur. Signed-off-by: Stefan Roscher stefan.roscher at de.ibm.com --- We are not sure if this should be fixed in the driver or in uverbs itself. Roland, what's your opinion about

Re: [ewg] [PATCH] IB/ehca: Protect QP against destroying until all async events for it are handled.

2008-05-07 Thread Stefan Roscher
On Wednesday 07 May 2008 17:32:03 Roland Dreier wrote: We are not sure if this should be fixed in the driver or in uverbs itself. Roland, what's your opinion about this? Would be nice to be able to fix it in uverbs but I don't see how. In particular a kernel consumer has to have the

[PATCH] IB/ehca: Change function return types to correct type.

2008-05-05 Thread Stefan Roscher
Also remove duplicate assignment of local_ca_ack_delay and change min_t check for local_ca_ack_delay to u8 instead of int. Signed-off-by: Stefan Roscher stefan.roscher at de.ibm.com --- drivers/infiniband/hw/ehca/ehca_hca.c |7 +++ 1 files changed, 3 insertions(+), 4 deletions(-) diff

[PATCH] IB/ehca: Allocate event queue size depending on max number of CQs and QPs

2008-04-29 Thread Stefan Roscher
Signed-off-by: Stefan Roscher stefan.roscher at de.ibm.com --- drivers/infiniband/hw/ehca/ehca_classes.h |5 drivers/infiniband/hw/ehca/ehca_cq.c | 10 drivers/infiniband/hw/ehca/ehca_main.c| 36 +++- drivers/infiniband/hw/ehca/ehca_qp.c

[REPOST][PATCH] IB/ehca: Allocate event queue size depending on max number of CQs and QPs

2008-04-29 Thread Stefan Roscher
and CQs to a customizable max count, and determining EQ size based on these counts and a worst-case assumption. Signed-off-by: Stefan Roscher stefan.roscher at de.ibm.com --- Reposted based on Roland's comments: - use atomic_add_unless instead of atomic_read - inf% changelog increase ;) drivers

[PATCH] IB/ehca: extend query_device() and query_port() to support all values for ibv_devinfo

2008-04-07 Thread Stefan Roscher
Also, introduce a few inline helper functions to make the code more readable. Signed-off-by: Stefan Roscher [EMAIL PROTECTED] --- drivers/infiniband/hw/ehca/ehca_hca.c | 128 1 files changed, 80 insertions(+), 48 deletions(-) diff --git a/drivers/infiniband/hw

[PATCH 0/7] IB/ehca: support for user space small queues, support more than 4k queue pairs, generate last WQE reached

2007-08-08 Thread Stefan Roscher
Here is a patch set against Roland's git, branch for-2.6.23 for ehca. It enables userspace support for small QP feature and make some fixes for it. Also there is add the mapping of 4k firmware context to user space. They are in details: [1/7] add support for userspace small queues and make some

[PATCH 1/7] IB/ehca: Small QP userspace support and fixes

2007-08-08 Thread Stefan Roscher
Signed-off-by: Stefan Roscher [EMAIL PROTECTED] --- drivers/infiniband/hw/ehca/ehca_qp.c |7 +++ drivers/infiniband/hw/ehca/ipz_pt_fn.c |3 ++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/infiniband/hw/ehca/ehca_qp.c b/drivers/infiniband/hw/ehca/ehca_qp.c

[PATCH 3/7] IB/ehca: Add 1 is not longer needed because of firmware interface change

2007-08-08 Thread Stefan Roscher
Signed-off-by: Stefan Roscher [EMAIL PROTECTED] --- drivers/infiniband/hw/ehca/hcp_if.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/hw/ehca/hcp_if.c b/drivers/infiniband/hw/ehca/hcp_if.c index 24f4541..8534061 100644 --- a/drivers/infiniband/hw

[PATCH 5/7] IB/ehca: map 4k firmware context of cq, qp to user space

2007-08-08 Thread Stefan Roscher
-by: Stefan Roscher [EMAIL PROTECTED] --- drivers/infiniband/hw/ehca/ehca_classes.h |4 +++- drivers/infiniband/hw/ehca/ehca_cq.c |2 ++ drivers/infiniband/hw/ehca/ehca_qp.c |2 ++ drivers/infiniband/hw/ehca/ehca_uverbs.c |6 +++--- 4 files changed, 10 insertions(+), 4

[PATCH 7/7] IB/ehca: Prevent overwriting QP init attributes given by caller

2007-08-08 Thread Stefan Roscher
Signed-off-by: Stefan Roscher [EMAIL PROTECTED] --- drivers/infiniband/hw/ehca/ehca_qp.c | 14 +- 1 files changed, 5 insertions(+), 9 deletions(-) diff --git a/drivers/infiniband/hw/ehca/ehca_qp.c b/drivers/infiniband/hw/ehca/ehca_qp.c index d8c1c22..6efda3d 100644 --- a/drivers