27 Feb, 2007
1 commit
-
If path_rec_completion() is passed a non-NULL path record pointer
along with an unsuccessful status value, the tracing code incorrectly
prints the (invalid) DLID from the path record rather than the more
interesting status code. The actual logic of the function correctly
uses the path record only if the status indicates a successful lookup.Signed-off-by: Roland Dreier
24 Feb, 2007
2 commits
-
Stop the ep timer in ec_status() if the status indicates a
bad close.Signed-off-by: Steve Wise
Signed-off-by: Roland Dreier -
- don't mark static functions in C files as inline - gcc should know
best whether inlining makes sense
- never compile the unused cxio_dbg.c
- make the following needlessly global functions static:
- cxio_hal.c: cxio_hal_clear_qp_ctx()
- iwch_provider.c: iwch_get_qp()
- remove the following unused global functions:
- cxio_hal.c: cxio_allocate_stag()
- cxio_resource.: cxio_hal_get_rhdl()
- cxio_resource.: cxio_hal_put_rhdl()Signed-off-by: Adrian Bunk
Acked-by: Steve Wise
Signed-off-by: Roland Dreier
23 Feb, 2007
5 commits
-
Signed-off-by: Sean Hefty
Signed-off-by: Roland Dreier -
The cm_device references an ib_device, which already contains the node_guid.
Signed-off-by: Sean Hefty
Signed-off-by: Roland Dreier -
The rdma_cm requires that path records be reversible. Set the
reversible bit when issuing an path record query.Signed-off-by: Sean Hefty
Signed-off-by: Roland Dreier -
The hop_limit value in the ah_attr should be 0xFF, not the value read
from the received GRH (which should be 0). See 13.5.4.4 in the 1.2 IB
spec.Signed-off-by: Sean Hefty
Signed-off-by: Roland Dreier -
If no matching PD is found in ib_uverbs_reg_mr(), then the function
jumps to err_release without setting the return value ret. This means
that ret will hold the return value of the call to ib_umem_get() a few
lines earlier; if the function reaches the point where it looks for
the PD, we know that ib_umem_get() must have returned 0, so
ib_uverbs_reg_mr() ends up return 0 for a bad PD ID. Fix this by
setting ret to -EINVAL before jumping to the exit path when no PD is
found.Signed-off-by: Roland Dreier
22 Feb, 2007
1 commit
-
Now that low-level drivers handle the conversion from an absolute rate
to a relative rate, there's no need for the IPoIB driver to keep track
of the local port's data rate.Signed-off-by: Roland Dreier
21 Feb, 2007
2 commits
-
Avoid the overhead of freeing/reallocating and mapping/unmapping for
DMA pages that have not been written to by hardware.Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier -
This patch makes the needlessly global functions mthca_tavor_write_mtt_seg()
and mthca_arbel_write_mtt_seg() static.Signed-off-by: Adrian Bunk
Signed-off-by: Roland Dreier
20 Feb, 2007
1 commit
-
* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits)
Documentation/kernel-docs.txt update.
arch/cris: typo in KERN_INFO
Storage class should be before const qualifier
kernel/printk.c: comment fix
update I/O sched Kconfig help texts - CFQ is now default, not AS.
Remove duplicate listing of Cris arch from README
kbuild: more doc. cleanups
doc: make doc. for maxcpus= more visible
drivers/net/eexpress.c: remove duplicate comment
add a help text for BLK_DEV_GENERIC
correct a dead URL in the IP_MULTICAST help text
fix the BAYCOM_SER_HDX help text
fix SCSI_SCAN_ASYNC help text
trivial documentation patch for platform.txt
Fix typos concerning hierarchy
Fix comment typo "spin_lock_irqrestore".
Fix misspellings of "agressive".
drivers/scsi/a100u2w.c: trivial typo patch
Correct trivial typo in log2.h.
Remove useless FIND_FIRST_BIT() macro from cardbus.c.
...
18 Feb, 2007
1 commit
-
Correct mis-spellings of "algorithm", "appear", "consistent" and
(shame, shame) "kernel".Signed-off-by: Robert P. J. Day
Signed-off-by: Adrian Bunk
17 Feb, 2007
16 commits
-
The static rate from the path record should be put into the address
vector -- a long time ago the rate in the address attributes needed to
be a relative rate, which required more munging, but now that the
conversion from absolute to relative is done in the low-level driver,
it's easy for ib_init_ah_from_path() to put the absolute rate in.Cc: Jason Gunthorpe
Cc: Sean Hefty
Signed-off-by: Roland Dreier -
Signed-off-by: Roland Dreier
-
Change a couple of variable names to avoid sparse warnings about
symbols being shadowed.Signed-off-by: Roland Dreier
-
Extend rdma_cm to support multicast communication. Multicast support
is added to the existing RDMA_PS_UDP port space, as well as a new
RDMA_PS_IPOIB port space. The latter port space allows joining the
multicast groups used by IPoIB, which enables offloading IPoIB traffic
to a separate QP. The port space determines the signature used in the
MGID when joining the group. The newly added RDMA_PS_IPOIB also
allows for unicast operations, similar to RDMA_PS_UDP.Supporting the RDMA_PS_IPOIB requires changing how UD QPs are initialized,
since we can no longer assume that the qkey is constant. This requires
saving the Q_Key to use when attaching to a device, so that it is
available when creating the QP. The Q_Key information is exported to
the user through the existing rdma_init_qp_attr() interface.Multicast support is also exported to userspace through the rdma_ucm.
Signed-off-by: Roland Dreier
-
The IB SA tracks multicast join/leave requests on a per port basis and
does not do any reference counting: if two users of the same port join
the same group, and one leaves that group, then the SA will remove the
port from the group even though there is one user who wants to stay a
member left. Therefore, in order to support multiple users of the
same multicast group from the same port, we need to perform reference
counting locally.To do this, add an multicast submodule to ib_sa to perform reference
counting of multicast join/leave operations. Modify ib_ipoib (the
only in-kernel user of multicast) to use the new interface.Signed-off-by: Roland Dreier
-
ipoib_cm_alloc_rx_skb() might be called from IRQ context, so it must
use dev_kfree_skb_any(), not kfree_skb().Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier -
Remove the Open Grid Computing copyright. It shouldn't be there.
Signed-off-by: Steve Wise
Signed-off-by: Roland Dreier -
For T3B devices, mark user QP in error once we transition
to TERMINATE.Signed-off-by: Steve Wise
Signed-off-by: Roland Dreier -
iwcm iw_cm_id destruction race condition fixes:
- iwcm_deref_id() always wakes up if there's another reference.
- clean up race condition in cm_work_handler().
- create static void free_cm_id() which deallocs the work entries and then
kfrees the cm_id memory. This reduces code replication.
- rem_ref() if this is the last reference -and- the IWCM owns freeing the
cm_id, then free it.Signed-off-by: Steve Wise
Signed-off-by: Tom Tucker
Acked-by: Krishna Kumar
Signed-off-by: Roland Dreier -
Set the port phys state as returned from ehca_query_port() to LINK_UP.
ehca actually represents a logical HCA, whose phys/link state always
is LINK_UP.Signed-off-by: Hoang-Nam Nguyen
Signed-off-by: Roland Dreier -
Allow users to en/disable scaling code when loading ib_ehca module,
rather than requiring the module to be rebuilt to change the setting.Signed-off-by: Hoang-Nam Nguyen
Signed-off-by: Roland Dreier -
Fix a race condition in find_next_cpu_online() and some other locking
issues in ehca scaling code.Signed-off-by: Hoang-Nam Nguyen
Signed-off-by: Roland Dreier -
Rework ehca interrupt handling to avoid/reduce missed irq events.
Signed-off-by: Hoang-Nam Nguyen
Signed-off-by: Roland Dreier -
Change the permissions of the "mode" sysfs attribute to be S_IWUSR
instead of S_IWUGO.Signed-off-by: Roland Dreier
-
The change to allow allocating ICM chunks from coherent memory did not
increment the count of sg entries properly, so a chunk that required
more than allocation would not be mapped properly by the HCA.Fix this by adding the missing increment of chunk->nsg.
Signed-off-by: Roland Dreier
-
RESET->RESET is an allowed QP state transition, so mthca should handle
it correctly, by just returning success without involving the firmware.Signed-off-by: Dotan Barak
Signed-off-by: Roland Dreier
15 Feb, 2007
2 commits
-
The obsolete SA_xxx interrupt flags have been used despite the scheduled
removal. Fixup the remaining users.Signed-off-by: Thomas Gleixner
Acked-by: Ingo Molnar
Cc: "Luck, Tony"
Cc: Roman Zippel
Cc: Geert Uytterhoeven
Cc: Jeff Garzik
Cc: Wim Van Sebroeck
Cc: Roland Dreier
Cc: Alessandro Zummo
Cc: James Bottomley
Cc: Greg KH
Cc: Dave Airlie
Cc: James Simmons
Cc: "Antonino A. Daplas"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
After Al Viro (finally) succeeded in removing the sched.h #include in module.h
recently, it makes sense again to remove other superfluous sched.h includes.
There are quite a lot of files which include it but don't actually need
anything defined in there. Presumably these includes were once needed for
macros that used to live in sched.h, but moved to other header files in the
course of cleaning it up.To ease the pain, this time I did not fiddle with any header files and only
removed #includes from .c-files, which tend to cause less trouble.Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
configs in arch/arm/configs on arm. I also checked that no new warnings were
introduced by the patch (actually, some warnings are removed that were emitted
by unnecessarily included header files).Signed-off-by: Tim Schmielau
Acked-by: Russell King
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
14 Feb, 2007
1 commit
-
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
IB/mthca: Always fill MTTs from CPU
IB/mthca: Merge MR and FMR space on 64-bit systems
IB/mthca: Fix access to MTT and MPT tables on non-cache-coherent CPUs
IB/mthca: Give reserved MTTs a separate cache line
IB/mthca: Fix reserved MTTs calculation on mem-free HCAs
RDMA/cxgb3: Add driver for Chelsio T3 RNIC
IB: Remove redundant "_wq" from workqueue names
RDMA/cma: Increment port number after close to avoid re-use
IB/ehca: Fix memleak on module unloading
IB/mthca: Work around gcc bug on sparc64
IPoIB: Connected mode experimental support
IB/core: Use ARRAY_SIZE macro for mandatory_table
IB/mthca: Use correct structure size in call to memset()
13 Feb, 2007
7 commits
-
Speed up memory registration by filling in MTTs directly when the CPU
can write directly to the whole table (all mem-free cards, and to
Tavor mode on 64-bit systems with the patch I posted earlier). This
reduces the number of FW commands needed to register an MR by at least
a factor of 2 and speeds up memory registration significantly.Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier -
For Tavor, we currently reserve separate MPT and MTT space for FMRs to
avoid abusing the vmalloc space on 32 bit kernels. No such problem
exists on 64 bit kernels so let's not do it there.This way we have a shared pool for MR and FMR resources, used on
demand. This will also make it possible to write MTTs for regular
regions directly from driver.Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier -
We allocate the MTT table with alloc_pages() and then do pci_map_sg(),
so we must call pci_dma_sync_sg() after the CPU writes to the MTT
table. This works since the device will never write MTTs on mem-free
HCAs, once we get rid of the use of the WRITE_MTT firmware command.
This change is needed to make that work, and is an improvement for
now, since it gives FMRs a chance at working.For MPTs, both the device and CPU might write there, so we must
allocate DMA coherent memory for these.Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier -
MTTs are allocated in non-cache-coherent memory, so we must give
reserved MTTs their own cache line, to prevent both device and
CPU from writing into the same cache line at the same time.Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier -
The reserved_mtts field has different meaning in Tavor and Arbel, so
we are wasting mtt entries on memfree. Fix the Arbel case to match
Tavor semantics.Signed-off-by: Michael S. Tsirkin
Signed-off-by: Roland Dreier -
Add an RDMA/iWARP driver for the Chelsio T3 1GbE and 10GbE adapters.
Signed-off-by: Steve Wise
Signed-off-by: Roland Dreier -
Many struct file_operations in the kernel can be "const". Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data. In addition it'll catch accidental writes at compile time to
these shared resources.Signed-off-by: Arjan van de Ven
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
12 Feb, 2007
1 commit
-
Replace appropriate pairs of "kmem_cache_alloc()" + "memset(0)" with the
corresponding "kmem_cache_zalloc()" call.Signed-off-by: Robert P. J. Day
Cc: "Luck, Tony"
Cc: Andi Kleen
Cc: Roland McGrath
Cc: James Bottomley
Cc: Greg KH
Acked-by: Joel Becker
Cc: Steven Whitehouse
Cc: Jan Kara
Cc: Michael Halcrow
Cc: "David S. Miller"
Cc: Stephen Smalley
Cc: James Morris
Cc: Chris Wright
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds