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 > > > > To improve performance of driver ressource allocation, > > replace the vmalloc() call with kmalloc(). > > Ju

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

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
rüßen / Kind regards Stefan Roscher eHCA/eHEA Linux Driver Development IBM Systems &Technology Group, Systems Software Development / FW I/O Firmware Entw

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

2009-04-21 Thread Stefan Roscher
Signed-off-by: Stefan Roscher --- 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 --- a/drivers/infiniband/hw/ehca

[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 --- drivers/infiniband/hw/ehca/ehca_qp.c | 94 ++-- drivers/infiniband/hw/ehca/hcp_if.c |6 +- drivers/infiniband/hw/ehca/hcp_if.h |2 +- drivers

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

2009-04-21 Thread Stefan Roscher
From: Anton Blanchard To improve performance of driver ressource allocation, replace the vmalloc() call with kmalloc(). Signed-off-by: Stefan Roscher --- drivers/infiniband/hw/ehca/ipz_pt_fn.c |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/infiniband/hw

[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] 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(-)

[PATCH] IB/ehca: fix problem with flush work completions

2008-12-01 Thread Stefan Roscher
This fix enables ehca device driver to generate flush workcompletions even if the application don't request work completions for all work requests. The current implementation of ehca will generate flush work completions for the wrong work requests if an application uses non signaled work completio

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

2008-11-04 Thread Stefan Roscher
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

[PATCH] IB/ehca: Fix problem with max number of QPs and CQs in systems with different adapters

2008-10-17 Thread Stefan Roscher
parameters are now used as initial values for those variables. If a user selects an invalid number of CQs or QPs we don't print an error any longer, instead we will inform the user with a warning and set the values to the respective maximum supported by the HW. Signed-off-by: Stefan Roscher &l

[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/h

[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 fi

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 oth

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 pendi

[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

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

[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/d

[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

[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 _

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 t

[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 --- We are not sure if this should be fixed in the driver or in uverbs itself. Roland, what's your opinion about this? drivers/infiniba

[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 --- drivers/infiniband/hw/ehca/ehca_hca.c |7 +++ 1 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/infiniband/hw

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

2008-04-29 Thread Stefan Roscher
e QPs 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 --- Reposted based on Roland's comments: - use atomic_add_unless instead of atomic_read - inf% changelog increase ;) drivers/infiniba

[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 --- 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 | 10 4 files

[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/infi

[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/d

[PATCH 6/7] IB/ehca: Generate last WQE reached, when base QP for SRQ has entered error state

2007-08-08 Thread Stefan Roscher
From: Joachim Fenkes <[EMAIL PROTECTED]> Date: Wed, 8 Aug 2007 19:51:30 +0200 Signed-off-by: Stefan Roscher <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_irq.c | 48 +--- 1 files changed, 31 insertions(+), 17 deletions(-) diff --git a/driver

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

2007-08-08 Thread Stefan Roscher
gned-off-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

[PATCH 4/7] IB/ehca: Support more than 4k QPs for userspace and kernelspace

2007-08-08 Thread Stefan Roscher
Signed-off-by: Stefan Roscher <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_cq.c |7 ++- drivers/infiniband/hw/ehca/ehca_qp.c |6 ++ drivers/infiniband/hw/ehca/ehca_uverbs.c | 22 +++--- 3 files changed, 23 insertions(+), 12 deletions(-)

[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/infi

[PATCH 2/7] IB/ehca: Ensure non-existing queues aren't made small queues

2007-08-08 Thread Stefan Roscher
Signed-off-by: Stefan Roscher <[EMAIL PROTECTED]> --- drivers/infiniband/hw/ehca/ehca_qp.c | 10 ++ 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/infiniband/hw/ehca/ehca_qp.c b/drivers/infiniband/hw/ehca/ehca_qp.c index cfa83fa..13b61c3 100644 --- a/d

[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/h

[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 f