Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1301884

[PATCHv1 0/6] rdma controller support

From Parav Pandit <pandit.parav@gmail.com>
Newsgroups linux.kernel
Subject [PATCHv1 0/6] rdma controller support
Date 2016-01-05 20:00 +0100
Message-ID <qNEZR-6P2-41@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


This patchset adds support for RDMA cgroup by addressing review comments
of [1] by implementing published RFC [2].

Overview:
Currently user space applications can easily take away all the rdma
device specific resources such as AH, CQ, QP, MR etc. Due to which other
applications in other cgroup or kernel space ULPs may not even get chance
to allocate any rdma resources. This results into service unavailibility.

RDMA cgroup addresses this issue by allowing resource accounting,
limit enforcement on per cgroup, per rdma device basis.

Resources are not defined by the RDMA cgroup. Resources are defined
by RDMA/IB stack & optionally by HCA vendor device drivers.
This allows rdma cgroup to remain constant while RDMA/IB
stack can evolve without the need of rdma cgroup update. A new
resource can be easily added by the RDMA/IB stack without touching
rdma cgroup.

RDMA uverbs layer will enforce limits on well defined RDMA verb
resources without any HCA vendor device driver involvement.

RDMA uverbs layer will not do accounting of hw vendor specific resources.
Instead rdma cgroup provides set of APIs through which vendor specific 
drivers can define their own resources (upto 64) that can be accounted by
rdma cgroup.

Resource limit enforcement is hierarchical.

When process is migrated with active RDMA resources, rdma cgroup
continues to charge original cgroup.

Changes from v0:
(To address comments from Haggai, Doug, Liran, Tejun, Sean, Jason)
 * Redesigned to support per device per cgroup limit settings by bringing
   concept of resource pool.
 * Redesigned to let IB stack define the resources instead of rdma controller
   using resource template.
 * Redesigned to support hw vendor specific limits setting (optional to drivers).
 * Created new rdma controller instead of piggyback on device cgroup.
 * Fixed race conditions for multiple tasks sharing rdma resources.
 * Removed dependency on the task_struct.

[1] https://lkml.org/lkml/2015/9/7/476
[2] https://lkml.org/lkml/2015/10/28/144

This patchset is for Tejun's for-4.5 branch.
It is not attempted on Doug's rdma tree yet, which I will do once I receive
comments for this pathset.

Parav Pandit (6):
  rdmacg: Added rdma cgroup header file
  IB/core: Added members to support rdma cgroup
  rdmacg: implements rdma cgroup
  IB/core: rdmacg support infrastructure APIs
  IB/core: use rdma cgroup for resource accounting
  rdmacg: Added documentation for rdma controller.

 Documentation/cgroup-legacy/rdma.txt  |  129 ++++
 Documentation/cgroup.txt              |   79 +++
 drivers/infiniband/core/Makefile      |    1 +
 drivers/infiniband/core/cgroup.c      |   80 +++
 drivers/infiniband/core/core_priv.h   |    5 +
 drivers/infiniband/core/device.c      |    8 +
 drivers/infiniband/core/uverbs_cmd.c  |  244 ++++++-
 drivers/infiniband/core/uverbs_main.c |   30 +
 include/linux/cgroup_rdma.h           |   91 +++
 include/linux/cgroup_subsys.h         |    4 +
 include/rdma/ib_verbs.h               |   20 +
 init/Kconfig                          |   12 +
 kernel/Makefile                       |    1 +
 kernel/cgroup_rdma.c                  | 1220 +++++++++++++++++++++++++++++++++
 14 files changed, 1907 insertions(+), 17 deletions(-)
 create mode 100644 Documentation/cgroup-legacy/rdma.txt
 create mode 100644 drivers/infiniband/core/cgroup.c
 create mode 100644 include/linux/cgroup_rdma.h
 create mode 100644 kernel/cgroup_rdma.c

-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCHv1 0/6] rdma controller support Parav Pandit <pandit.parav@gmail.com> - 2016-01-05 20:00 +0100
  [PATCHv1 4/6] IB/core: rdmacg support infrastructure APIs Parav Pandit <pandit.parav@gmail.com> - 2016-01-05 20:10 +0100
  [PATCHv1 5/6] IB/core: use rdma cgroup for resource accounting Parav Pandit <pandit.parav@gmail.com> - 2016-01-05 20:10 +0100
  [PATCHv1 2/6] IB/core: Added members to support rdma cgroup Parav Pandit <pandit.parav@gmail.com> - 2016-01-05 20:10 +0100
    Re: [PATCHv1 2/6] IB/core: Added members to support rdma cgroup Tejun Heo <tj@kernel.org> - 2016-01-05 23:00 +0100
      Re: [PATCHv1 2/6] IB/core: Added members to support rdma cgroup Parav Pandit <pandit.parav@gmail.com> - 2016-01-07 00:20 +0100
        Re: [PATCHv1 2/6] IB/core: Added members to support rdma cgroup Tejun Heo <tj@kernel.org> - 2016-01-07 16:10 +0100
          Re: [PATCHv1 2/6] IB/core: Added members to support rdma cgroup Parav Pandit <pandit.parav@gmail.com> - 2016-01-07 20:50 +0100
  [PATCHv1 6/6] rdmacg: Added documentation for rdma controller. Parav Pandit <pandit.parav@gmail.com> - 2016-01-05 20:10 +0100
    Re: [PATCHv1 6/6] rdmacg: Added documentation for rdma controller. Tejun Heo <tj@kernel.org> - 2016-01-05 23:00 +0100
      Re: [PATCHv1 6/6] rdmacg: Added documentation for rdma controller. Parav Pandit <pandit.parav@gmail.com> - 2016-01-06 23:50 +0100
        Re: [PATCHv1 6/6] rdmacg: Added documentation for rdma controller. Tejun Heo <tj@kernel.org> - 2016-01-07 00:20 +0100
          Re: [PATCHv1 6/6] rdmacg: Added documentation for rdma controller. Parav Pandit <pandit.parav@gmail.com> - 2016-01-07 01:00 +0100
            Re: [PATCHv1 6/6] rdmacg: Added documentation for rdma controller. Tejun Heo <tj@kernel.org> - 2016-01-07 16:50 +0100
              Re: [PATCHv1 6/6] rdmacg: Added documentation for rdma controller. Parav Pandit <pandit.parav@gmail.com> - 2016-01-07 20:50 +0100
  [PATCHv1 1/6] rdmacg: Added rdma cgroup header file Parav Pandit <pandit.parav@gmail.com> - 2016-01-05 20:10 +0100
  [PATCHv1 3/6] rdmacg: implements rdma cgroup Parav Pandit <pandit.parav@gmail.com> - 2016-01-05 20:10 +0100
    Re: [PATCHv1 3/6] rdmacg: implements rdma cgroup Tejun Heo <tj@kernel.org> - 2016-01-05 23:10 +0100
      Re: [PATCHv1 3/6] rdmacg: implements rdma cgroup Parav Pandit <pandit.parav@gmail.com> - 2016-01-07 00:40 +0100
        Re: [PATCHv1 3/6] rdmacg: implements rdma cgroup Tejun Heo <tj@kernel.org> - 2016-01-07 16:30 +0100
          Re: [PATCHv1 3/6] rdmacg: implements rdma cgroup Parav Pandit <pandit.parav@gmail.com> - 2016-01-07 21:30 +0100
            Re: [PATCHv1 3/6] rdmacg: implements rdma cgroup Tejun Heo <tj@kernel.org> - 2016-01-07 21:30 +0100
              Re: [PATCHv1 3/6] rdmacg: implements rdma cgroup Parav Pandit <pandit.parav@gmail.com> - 2016-01-07 21:40 +0100
                Re: [PATCHv1 3/6] rdmacg: implements rdma cgroup Tejun Heo <tj@kernel.org> - 2016-01-07 21:50 +0100
  Re: [PATCHv1 0/6] rdma controller support Tejun Heo <tj@kernel.org> - 2016-01-05 23:00 +0100
    Re: [PATCHv1 0/6] rdma controller support Parav Pandit <pandit.parav@gmail.com> - 2016-01-07 00:20 +0100
      Re: [PATCHv1 0/6] rdma controller support Tejun Heo <tj@kernel.org> - 2016-01-07 16:10 +0100
        Re: [PATCHv1 0/6] rdma controller support Tejun Heo <tj@kernel.org> - 2016-01-07 21:10 +0100
          Re: [PATCHv1 0/6] rdma controller support Parav Pandit <pandit.parav@gmail.com> - 2016-01-07 21:40 +0100
            Re: [PATCHv1 0/6] rdma controller support Tejun Heo <tj@kernel.org> - 2016-01-07 21:40 +0100
              Re: [PATCHv1 0/6] rdma controller support Tejun Heo <tj@kernel.org> - 2016-01-07 21:50 +0100
                Re: [PATCHv1 0/6] rdma controller support Tejun Heo <tj@kernel.org> - 2016-01-07 22:00 +0100
                Re: [PATCHv1 0/6] rdma controller support Parav Pandit <pandit.parav@gmail.com> - 2016-01-07 22:10 +0100
                Re: [PATCHv1 0/6] rdma controller support Tejun Heo <tj@kernel.org> - 2016-01-07 22:10 +0100
                Re: [PATCHv1 0/6] rdma controller support Parav Pandit <pandit.parav@gmail.com> - 2016-01-07 22:20 +0100
                Re: [PATCHv1 0/6] rdma controller support Tejun Heo <tj@kernel.org> - 2016-01-07 22:10 +0100
                Re: [PATCHv1 0/6] rdma controller support Parav Pandit <pandit.parav@gmail.com> - 2016-01-07 22:10 +0100
              Re: [PATCHv1 0/6] rdma controller support Parav Pandit <pandit.parav@gmail.com> - 2016-01-07 21:50 +0100
        Re: [PATCHv1 0/6] rdma controller support Parav Pandit <pandit.parav@gmail.com> - 2016-01-07 21:10 +0100

csiph-web