rmmod mlx4_core panic 3.16-rc1

2014-06-18 Thread Shirley Ma
Hello Or,

Two questions here:
1. Whether IB VFs is supported in ConnectX-2 (mlx4 driver)?

I tried to num_vfs={port1,port2,port1+2} when loading mlx4_core module, it 
failed with
mlx4_core :40:00.0: Invalid syntax of num_vfs/probe_vfs with IB port - 
single port VFs syntax is only supported when all ports are configured as 
ethernet

2. After mlx4_core module is being loaded with with num_vfs={} parameters, when 
removing mlx4_core, it consistently hits below panic. Whether this problem is 
being tracked?

Thanks
Shirley


 mlx4_ib_add: mlx4_ib: Mellanox ConnectX InfiniBand driver v2.2-1 (Feb 
2014)
mlx4_core: Mellanox ConnectX core driver v2.2-1 (Feb, 2014)
mlx4_core: Initializing :40:00.0
mlx4_core :40:00.0: Enabling SR-IOV with 2 VFs
pci :40:00.1: [15b3:1002] type 00 class 0x0c0600
mlx4_core: Initializing :40:00.1
mlx4_core :40:00.1: enabling device ( -> 0002)
mlx4_core :40:00.1: Skipping virtual function:1
pci :40:00.2: [15b3:1002] type 00 class 0x0c0600
mlx4_core: Initializing :40:00.2
mlx4_core :40:00.2: enabling device ( -> 0002)
mlx4_core :40:00.2: Skipping virtual function:2
mlx4_core :40:00.0: Running in master mode
mlx4_core :40:00.0: PCIe BW is different than device's capability
mlx4_core :40:00.0: PCIe link speed is 5.0GT/s, device supports 8.0GT/s
mlx4_core :40:00.0: PCIe link width is x8, device supports x8
mlx4_core :40:00.0: Invalid syntax of num_vfs/probe_vfs with IB port - 
single port VFs syntax is only supported when all ports are configured as 
ethernet
BUG: unable to handle kernel NULL pointer dereference at 038c
IP: [] __mlx4_remove_one+0x20/0x380 [mlx4_core]
PGD 45d3ba067 PUD 45ace8067 PMD 0 
Oops:  [#1] SMP DEBUG_PAGEALLOC
Modules linked in: mlx4_core(-) ebtable_nat ebtables ipt_MASQUERADE iptable_nat 
nf_nat_ipv4 nf_nat xt_CHECKSUM iptable_mangle bridge stp llc autofs4 
cpufreq_ondemand ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter 
ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack 
ip6table_filter ip6_tables dm_mirror dm_region_hash dm_log dm_mod vhost_net 
macvtap macvlan vhost tun kvm_intel kvm iTCO_wdt iTCO_vendor_support microcode 
ipmi_si ipmi_msghandler acpi_cpufreq pcspkr i2c_i801 i2c_core lpc_ich mfd_core 
shpchp sg ioatdma ib_sa ib_mad ib_core ib_addr ipv6 vxlan ixgbe dca ptp 
pps_core hwmon mdio ext3 jbd mbcache sd_mod crc_t10dif crct10dif_common 
usb_storage ahci libahci mpt2sas scsi_transport_sas raid_class [last unloaded: 
mlx4_core]
CPU: 13 PID: 7212 Comm: rmmod Not tainted 3.16.0-rc1+ #1
Hardware name: Oracle Corporation SUN FIRE X4170 M3 /ASSY,MOTHERBOARD,1U   
, BIOS 17050100 08/29/2013
task: 880461540110 ti: 88046500 task.ti: 88046500
RIP: 0010:[]  [] 
__mlx4_remove_one+0x20/0x380 [mlx4_core]
RSP: 0018:880465003d88  EFLAGS: 00010296
RAX: 0001 RBX:  RCX: 
RDX: 0026 RSI: 0292 RDI: 880468b8f000
RBP: 880465003db8 R08:  R09: 
R10: 09f911029d74e35b R11: 09f911029d74e35b R12: 
R13: 880468b8f000 R14: a036de40 R15: 0001
FS:  7ff287fc2700() GS:88046fce() knlGS:
CS:  0010 DS:  ES:  CR0: 80050033
CR2: 038c CR3: 00045cfae000 CR4: 000407e0
Stack:
 880465003da8 880468b8f000  880468b8f000
 a036de40 0001 880465003dd8 a0350805
 880468b8f098 a036dd60 880465003e08 812ebaa6
Call Trace:
 [] mlx4_remove_one+0x25/0x50 [mlx4_core]
 [] pci_device_remove+0x46/0xc0
 [] __device_release_driver+0x7f/0xf0
 [] driver_detach+0xc8/0xd0
 [] bus_remove_driver+0x59/0xd0
 [] driver_unregister+0x30/0x70
 [] pci_unregister_driver+0x23/0x80
 [] mlx4_cleanup+0x10/0x1e [mlx4_core]
 [] SyS_delete_module+0x189/0x210
 [] system_call_fastpath+0x16/0x1b
Code: 66 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 41 57 41 56 41 55 41 54 53 
48 83 ec 08 66 66 66 66 90 48 8b 9f 58 01 00 00 49 89 fd <44> 8b b3 8c 03 00 00 
45 85 f6 0f 85 41 02 00 00 f6 43 08 04 44 
RIP  [] __mlx4_remove_one+0x20/0x380 [mlx4_core]
 RSP 
CR2: 038c
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] xprtrdma: Fix DMA-API-DEBUG warning by checking dma_map result

2014-06-18 Thread Chuck Lever

On Jun 17, 2014, at 8:39 AM, Yan Burman  wrote:

> Fix the following warning when DMA-API debug is enabled by checking 
> ib_dma_map_single result:
> [ 1455.345548] [ cut here ]
> [ 1455.346863] WARNING: CPU: 3 PID: 3929 at 
> /home/yanb/kernel/net-next/lib/dma-debug.c:1140 check_unmap+0x4e5/0x990()
> [ 1455.349350] mlx4_core :00:07.0: DMA-API: device driver failed to check 
> map error[device address=0x7c9f2090] [size=2656 bytes] [mapped as 
> single]
> [ 1455.349350] Modules linked in: xprtrdma netconsole configfs nfsv3 nfs_acl 
> ib_ipoib rdma_ucm ib_ucm ib_uverbs ib_umad rdma_cm ib_cm iw_cm autofs4 
> auth_rpcgss oid_registry nfsv4 nfs fscache lockd sunrpc dm_mirror 
> dm_region_hash dm_log microcode pcspkr mlx4_ib ib_sa ib_mad ib_core ib_addr 
> mlx4_en ipv6 ptp pps_core vxlan mlx4_core virtio_balloon cirrus ttm 
> drm_kms_helper drm sysimgblt sysfillrect syscopyarea i2c_piix4 i2c_core 
> button ext3 jbd virtio_blk virtio_net virtio_pci virtio_ring virtio uhci_hcd 
> ata_generic ata_piix libata
> [ 1455.349350] CPU: 3 PID: 3929 Comm: mount.nfs Not tainted 3.15.0-rc1-dbg+ 
> #13
> [ 1455.349350] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2007
> [ 1455.349350]  0474 880069dcf628 8151c341 
> 817b69d8
> [ 1455.349350]  880069dcf678 880069dcf668 8105b5fc 
> 69dcf658
> [ 1455.349350]  880069dcf778 88007b0c9f00 8255ec40 
> 0a60
> [ 1455.349350] Call Trace:
> [ 1455.349350]  [] dump_stack+0x52/0x81
> [ 1455.349350]  [] warn_slowpath_common+0x8c/0xc0
> [ 1455.349350]  [] warn_slowpath_fmt+0x46/0x50
> [ 1455.349350]  [] check_unmap+0x4e5/0x990
> [ 1455.349350]  [] ? _raw_spin_unlock_irq+0x30/0x60
> [ 1455.349350]  [] debug_dma_unmap_page+0x5a/0x60
> [ 1455.349350]  [] rpcrdma_deregister_internal+0xb3/0xd0 
> [xprtrdma]
> [ 1455.349350]  [] rpcrdma_buffer_destroy+0x69/0x170 
> [xprtrdma]
> [ 1455.349350]  [] xprt_rdma_destroy+0x3f/0xb0 [xprtrdma]
> [ 1455.349350]  [] xprt_destroy+0x6f/0x80 [sunrpc]
> [ 1455.349350]  [] xprt_put+0x15/0x20 [sunrpc]
> [ 1455.349350]  [] rpc_free_client+0x8a/0xe0 [sunrpc]
> [ 1455.349350]  [] rpc_release_client+0x68/0xa0 [sunrpc]
> [ 1455.349350]  [] rpc_shutdown_client+0xb0/0xc0 [sunrpc]
> [ 1455.349350]  [] ? rpc_ping+0x5d/0x70 [sunrpc]
> [ 1455.349350]  [] rpc_create_xprt+0xbb/0xd0 [sunrpc]
> [ 1455.349350]  [] rpc_create+0xb3/0x160 [sunrpc]
> [ 1455.349350]  [] ? __probe_kernel_read+0x69/0xb0
> [ 1455.349350]  [] nfs_create_rpc_client+0xdc/0x100 [nfs]
> [ 1455.349350]  [] nfs_init_client+0x3a/0x90 [nfs]
> [ 1455.349350]  [] nfs_get_client+0x478/0x5b0 [nfs]
> [ 1455.349350]  [] ? nfs_get_client+0x100/0x5b0 [nfs]
> [ 1455.349350]  [] ? kmem_cache_alloc_trace+0x24d/0x260
> [ 1455.349350]  [] nfs_create_server+0xf3/0x4c0 [nfs]
> [ 1455.349350]  [] ? nfs_request_mount+0xf0/0x1a0 [nfs]
> [ 1455.349350]  [] nfs3_create_server+0x13/0x30 [nfsv3]
> [ 1455.349350]  [] nfs_try_mount+0x1f3/0x230 [nfs]
> [ 1455.349350]  [] ? get_parent_ip+0x11/0x50
> [ 1455.349350]  [] ? __this_cpu_preempt_check+0x13/0x20
> [ 1455.349350]  [] ? try_module_get+0x6b/0x190
> [ 1455.349350]  [] nfs_fs_mount+0x187/0x9d0 [nfs]
> [ 1455.349350]  [] ? nfs_clone_super+0x140/0x140 [nfs]
> [ 1455.349350]  [] ? nfs_auth_info_match+0x40/0x40 [nfs]
> [ 1455.349350]  [] mount_fs+0x20/0xe0
> [ 1455.349350]  [] vfs_kern_mount+0x76/0x160
> [ 1455.349350]  [] do_mount+0x428/0xae0
> [ 1455.349350]  [] SyS_mount+0x90/0xe0
> [ 1455.349350]  [] system_call_fastpath+0x16/0x1b
> [ 1455.349350] ---[ end trace f1f31572972e211d ]---
> 
> Signed-off-by: Yan Burman 

Reviewed-by: Chuck Lever 


> ---
> net/sunrpc/xprtrdma/verbs.c |4 
> 1 file changed, 4 insertions(+)
> 
> diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/verbs.c
> index 13dbd1c..076c244 100644
> --- a/net/sunrpc/xprtrdma/verbs.c
> +++ b/net/sunrpc/xprtrdma/verbs.c
> @@ -1388,6 +1388,10 @@ rpcrdma_register_internal(struct rpcrdma_ia *ia, void 
> *va, int len,
>*/
>   iov->addr = ib_dma_map_single(ia->ri_id->device,
>   va, len, DMA_BIDIRECTIONAL);
> + if (ib_dma_mapping_error(ia->ri_id->device, iov->addr)) {
> + return -ENOMEM;
> + }
> +
>   iov->length = len;
> 
>   if (ia->ri_have_dma_lkey) {
> -- 
> 1.7.10.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com



--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[ANNOUNCE] libcxgb4-1.3.4 is released

2014-06-18 Thread Steve Wise

A new release of libcxgb4 (1.3.4) is available at

https://www.openfabrics.org/downloads/cxgb4/libcxgb4-1.3.4.tar.gz

with md5sum

52cc304e415cc7390a8944ddae8e7179 libcxgb4-1.3.4.tar.gz

I also pushed this to

git://git.openfabrics.org/~swise/libcxgb4

The tag is named v1.3.4.

Summary of v1.3.4:

Steve Wise (3):
  Account for the full qid range.
  Support the query_qp() verb
  Spin release 1.3.4

Yann Droneaud (2):
  kernel abi: adds explicit padding in struct c4iw_create_cq_resp
  kernel abi: adds explicit padding in struct c4iw_alloc_ucontext_resp


--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH librdmacm] [TRIVIAL] rsocket.c: In rsetsockopt, for RDMA_ROUTE option, use malloc rather than calloc

2014-06-18 Thread Hefty, Sean
thanks - applied
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH librdmacm] [TRIVIAL] rsocket.c: In rsetsockopt, for RDMA_ROUTE option, use malloc rather than calloc

2014-06-18 Thread Hal Rosenstock

No need to clear allocated memory as immediately followed by
memcpy which covers the allocated memory.

Signed-off-by: Hal Rosenstock 
---
diff --git a/src/rsocket.c b/src/rsocket.c
index 3a9ff7d..a3c5385 100644
--- a/src/rsocket.c
+++ b/src/rsocket.c
@@ -3473,7 +3473,7 @@ int rsetsockopt(int socket, int level, int optname,
ret = 0;
break;
case RDMA_ROUTE:
-   if ((rs->optval = calloc(optlen, 1))) {
+   if ((rs->optval = malloc(optlen))) {
memcpy(rs->optval, optval, optlen);
rs->optlen = optlen;
ret = 0;
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html