RDMA/rdma_cm: Remove process_req and timer sorting
authorJason Gunthorpe <jgg@mellanox.com>
Tue, 3 Apr 2018 04:52:02 +0000 (07:52 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Wed, 18 Apr 2018 01:42:50 +0000 (19:42 -0600)
commite19c0d237873be2426dac45887edf293da13c339
treefbf3af34a304ebeb5b2b0ff545851c30189c5967
parent60cc43fc888428bb2f18f08997432d426a243338
RDMA/rdma_cm: Remove process_req and timer sorting

Now that the work queue is used directly to launch and track the work
there is no need for the second processing function to do 'all list
entries'. Just schedule all entries onto the main work queue directly.

We can also drop all of the useless list sorting now, as the workqueue
sorts by expiration time automatically.

This change requires switching lock to a spinlock as netdev notifiers
are called in an atomic context, this is now easy since the lock does
not need to be held across the lookup, that is already single
threaded due to the work queue.

Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Reviewed-by: Parav Pandit <parav@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/core/addr.c