Jianxin Xiong
a6580f4310
IB/rdmavt: Add missing spin_lock_init call for rdi->n_cqs_lock
...
This fixes the following warning with PROV_LOCKING enabled kernel:
INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
CPU: 15 PID: 12286 Comm: modprobe Not tainted 4.7.0-rc5.prove_rcu+ #1
Hardware name: Intel Corporation S2600WT2R/S2600WT2R,
......
Call Trace:
[<ffffffff8139ec0d>] dump_stack+0x85/0xc8
[<ffffffff810eb765>] register_lock_class+0x415/0x4b0
[<ffffffff810ede1c>] ? __lock_acquire+0x40c/0x1960
[<ffffffff810edaa9>] __lock_acquire+0x99/0x1960
[<ffffffff8120ab62>] ? find_vmap_area+0x42/0x60
[<ffffffff8120ab39>] ? find_vmap_area+0x19/0x60
[<ffffffff810ef9d3>] lock_acquire+0xd3/0x200
[<ffffffffa049d598>] ? rvt_create_cq+0xc8/0x250 [rdmavt]
[<ffffffff81763391>] _raw_spin_lock+0x31/0x40
[<ffffffffa049d598>] ? rvt_create_cq+0xc8/0x250 [rdmavt]
[<ffffffffa049d598>] rvt_create_cq+0xc8/0x250 [rdmavt]
[<ffffffff810ead46>] ? static_obj+0x36/0x50
[<ffffffffa0469e39>] ib_alloc_cq+0x49/0x180 [ib_core]
[<ffffffffa047bed4>] ib_mad_init_device+0x204/0x6d0 [ib_core]
[<ffffffff810e968f>] ? up_write+0x1f/0x40
[<ffffffffa046e2c0>] ib_register_device+0x3d0/0x510 [ib_core]
[<ffffffffa0752410>] ? read_cc_setting_bin+0x200/0x200 [hfi1]
[<ffffffff810ead46>] ? static_obj+0x36/0x50
[<ffffffff810eb888>] ? lockdep_init_map+0x88/0x200
[<ffffffffa049cbff>] rvt_register_device+0x17f/0x320 [rdmavt]
[<ffffffffa0766caa>] hfi1_register_ib_device+0x6ca/0x7c0 [hfi1]
[<ffffffffa0733de4>] init_one+0x2b4/0x430 [hfi1]
[<ffffffff813e40a5>] local_pci_probe+0x45/0xa0
[<ffffffff813e5110>] ? pci_match_device+0xe0/0x110
[<ffffffff813e550c>] pci_device_probe+0xfc/0x140
[<ffffffff814daee9>] driver_probe_device+0x239/0x460
[<ffffffff814db1dd>] __driver_attach+0xcd/0xf0
[<ffffffff814db110>] ? driver_probe_device+0x460/0x460
[<ffffffff814d89b3>] bus_for_each_dev+0x73/0xc0
[<ffffffff814da74e>] driver_attach+0x1e/0x20
[<ffffffff814da1b3>] bus_add_driver+0x1d3/0x290
[<ffffffffa04cc114>] ? dev_init+0x114/0x114 [hfi1]
[<ffffffff814dbf60>] driver_register+0x60/0xe0
[<ffffffffa04cc114>] ? dev_init+0x114/0x114 [hfi1]
[<ffffffff813e39d0>] __pci_register_driver+0x60/0x70
[<ffffffffa04cc2aa>] hfi1_mod_init+0x196/0x1fe [hfi1]
[<ffffffff81002190>] do_one_initcall+0x50/0x190
[<ffffffff8110be72>] ? rcu_read_lock_sched_held+0x62/0x70
[<ffffffff8122d4aa>] ? kmem_cache_alloc_trace+0x23a/0x2a0
[<ffffffff811c1881>] ? do_init_module+0x27/0x1dc
[<ffffffff811c18ba>] do_init_module+0x60/0x1dc
[<ffffffff811360cc>] load_module+0x132c/0x1ac0
[<ffffffff81132c40>] ? __symbol_put+0x60/0x60
[<ffffffff8133e50d>] ? ima_post_read_file+0x3d/0x80
Cc: Stable <stable@vger.kernel.org > # 4.6+
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com >
Signed-off-by: Jianxin Xiong <jianxin.xiong@intel.com >
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com >
Signed-off-by: Doug Ledford <dledford@redhat.com >
2016-08-02 16:00:58 -04:00
Mike Marciniszyn
cdbff5042d
IB/rdmavt: Increase CQ callback thread priority
...
The priority of the send engines is higher than the CQ completion
thread potentially causing completions to be starved for very
fast interfaces.
Change the CQ kthread to match the send engine threads to minimize
this delay for ULP completion processing.
Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com >
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com >
Signed-off-by: Doug Ledford <dledford@redhat.com >
2016-05-13 19:39:17 -04:00
Dennis Dalessandro
ce73fe25a6
IB/rdmavt: Remove RVT_FLAGs
...
While hfi1 and qib were still supporting bits and pieces of core verbs
components there needed to be a way to convey if rdmavt should handle
allocation and initialize of resources like the queue pair table. Now
that all of this is moved into rdmavt there is no need for these flags.
They are no longer used in the drivers.
Reviewed-by: Ira Weiny <ira.weiny@intel.com >
Reviewed-by: Jubin John <jubin.john@intel.com >
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com >
Signed-off-by: Doug Ledford <dledford@redhat.com >
2016-03-10 20:38:10 -05:00
Dennis Dalessandro
90793f7179
IB/rdmavt: Clean up comments and add more documentation
...
Add, remove, and otherwise clean up existing comments that are leftover
from the initial code postings of rdmavt. Many of the comments were added
to provide an idea on the direction we were thinking of going. Now that the
design is solidified make a pass over and clean everything up. Also add
details where lacking.
Ensure all non static functions have nano comments.
Reviewed-by: Jubin John <jubin.john@intel.com >
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com >
Signed-off-by: Doug Ledford <dledford@redhat.com >
2016-03-10 20:38:08 -05:00
Dennis Dalessandro
6366dfa618
staging/rdma/hfi1: Clean up return handling
...
Return directly from rvt_resize_cq rather than use a goto/label.
Reviewed-by: Ira Weiny <ira.weiny@intel.com >
Reviewed-by: Harish Chegondi <harish.chegondi@intel.com >
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com >
Signed-off-by: Doug Ledford <dledford@redhat.com >
2016-03-10 20:37:42 -05:00
Dennis Dalessandro
fe31419501
IB/rdmavt: Fix copyright date
...
Update all files added by rdmavt which do not yet have 2016 as the
copyright year.
Reviewed-by: Ira Weiny <ira.weiny@intel.com >
Reviewed-by: Harish Chegondi <harish.chegondi@intel.com >
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com >
Signed-off-by: Doug Ledford <dledford@redhat.com >
2016-03-10 20:37:27 -05:00
Dennis Dalessandro
6f6387ae75
IB/rdmavt: Add completion queue functions
...
Brings in completion queue functionality. A kthread worker is added to
the rvt_dev_info to serve as a worker for completion queues.
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com >
Reviewed-by: Harish Chegondi <harish.chegondi@intel.com >
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com >
Signed-off-by: Doug Ledford <dledford@redhat.com >
2016-03-10 20:37:24 -05:00
Dennis Dalessandro
cf16335a0c
IB/rdmavt: Add completion queue function stubs
...
Create stubs for completion queue creation, polling,
resizing, calling for notification, and destroying.
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com >
Reviewed-by: Ira Weiny <ira.weiny@intel.com >
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com >
Signed-off-by: Doug Ledford <dledford@redhat.com >
2016-03-10 20:37:10 -05:00