Re: [PATCHv8 2/3] IB/core: added support to use rdma cgroup controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sorry. My bad. Generated patch in hurry for compiled out code in ifdef.
Sending with fixing compilation.

Parav

On Tue, Mar 1, 2016 at 9:20 PM, kbuild test robot <lkp@xxxxxxxxx> wrote:
> Hi Parav,
>
> [auto build test ERROR on rdma/master]
> [also build test ERROR on v4.5-rc6 next-20160301]
> [if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
>
> url:    https://github.com/0day-ci/linux/commits/Parav-Pandit/rdmacg-IB-core-rdma-controller-support/20160301-223149
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma master
> config: x86_64-allmodconfig (attached as .config)
> reproduce:
>         # save the attached .config to linux build tree
>         make ARCH=x86_64
>
> All error/warnings (new ones prefixed by >>):
>
>    include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
>    drivers/infiniband/core/cgroup.c:107:6: sparse: symbol 'ib_rdmacg_query_limit' redeclared with different type (originally declared at drivers/infiniband/core/core_priv.h:140) - different argument counts
>>> drivers/infiniband/core/cgroup.c:107:6: error: conflicting types for 'ib_rdmacg_query_limit'
>     void ib_rdmacg_query_limit(struct ib_device *device, int *limits)
>          ^
>    In file included from drivers/infiniband/core/cgroup.c:35:0:
>    drivers/infiniband/core/core_priv.h:140:6: note: previous declaration of 'ib_rdmacg_query_limit' was here
>     void ib_rdmacg_query_limit(struct ib_device *device,
>          ^
>    In file included from include/linux/linkage.h:6:0,
>                     from include/linux/kernel.h:6,
>                     from drivers/infiniband/core/cgroup.c:31:
>    drivers/infiniband/core/cgroup.c:111:15: error: conflicting types for 'ib_rdmacg_query_limit'
>     EXPORT_SYMBOL(ib_rdmacg_query_limit);
>                   ^
>    include/linux/export.h:57:21: note: in definition of macro '__EXPORT_SYMBOL'
>      extern typeof(sym) sym;     \
>                         ^
>>> drivers/infiniband/core/cgroup.c:111:1: note: in expansion of macro 'EXPORT_SYMBOL'
>     EXPORT_SYMBOL(ib_rdmacg_query_limit);
>     ^
>    In file included from drivers/infiniband/core/cgroup.c:35:0:
>    drivers/infiniband/core/core_priv.h:140:6: note: previous declaration of 'ib_rdmacg_query_limit' was here
>     void ib_rdmacg_query_limit(struct ib_device *device,
>          ^
>
> sparse warnings: (new ones prefixed by >>)
>
>    include/linux/compiler.h:228:8: sparse: attribute 'no_sanitize_address': unknown attribute
>>> drivers/infiniband/core/uverbs_cmd.c:470:30: sparse: not enough arguments for function ib_rdmacg_query_limit
>    drivers/infiniband/core/uverbs_cmd.c:3721:30: sparse: not enough arguments for function ib_rdmacg_query_limit
>    drivers/infiniband/core/uverbs_cmd.c: In function 'ib_uverbs_query_device':
>    drivers/infiniband/core/uverbs_cmd.c:470:2: error: too few arguments to function 'ib_rdmacg_query_limit'
>      ib_rdmacg_query_limit(ib_dev, limits);
>      ^
>    In file included from drivers/infiniband/core/uverbs_cmd.c:44:0:
>    drivers/infiniband/core/core_priv.h:140:6: note: declared here
>     void ib_rdmacg_query_limit(struct ib_device *device,
>          ^
>    drivers/infiniband/core/uverbs_cmd.c: In function 'ib_uverbs_ex_query_device':
>    drivers/infiniband/core/uverbs_cmd.c:3721:2: error: too few arguments to function 'ib_rdmacg_query_limit'
>      ib_rdmacg_query_limit(ib_dev, limits);
>      ^
>    In file included from drivers/infiniband/core/uverbs_cmd.c:44:0:
>    drivers/infiniband/core/core_priv.h:140:6: note: declared here
>     void ib_rdmacg_query_limit(struct ib_device *device,
>          ^
>
> vim +/ib_rdmacg_query_limit +107 drivers/infiniband/core/cgroup.c
>
>     25   * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
>     26   * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
>     27   * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
>     28   * SOFTWARE.
>     29   */
>     30
>   > 31  #include <linux/kernel.h>
>     32  #include <linux/cgroup_rdma.h>
>     33  #include <linux/parser.h>
>     34
>     35  #include "core_priv.h"
>     36
>     37  /**
>     38   * resource table definition as to be seen by the user.
>     39   * Need to add entries to it when more resources are
>     40   * added/defined at IB verb/core layer.
>     41   */
>     42  static char const *resource_tokens[] = {
>     43          [RDMA_VERB_RESOURCE_UCTX] = "uctx",
>     44          [RDMA_VERB_RESOURCE_AH] = "ah",
>     45          [RDMA_VERB_RESOURCE_PD] = "pd",
>     46          [RDMA_VERB_RESOURCE_CQ] = "cq",
>     47          [RDMA_VERB_RESOURCE_MR] = "mr",
>     48          [RDMA_VERB_RESOURCE_MW] = "mw",
>     49          [RDMA_VERB_RESOURCE_SRQ] = "srq",
>     50          [RDMA_VERB_RESOURCE_QP] = "qp",
>     51          [RDMA_VERB_RESOURCE_FLOW] = "flow",
>     52  };
>     53
>     54  /**
>     55   * ib_device_register_rdmacg - register with rdma cgroup.
>     56   * @device: device to register to participate in resource
>     57   *          accounting by rdma cgroup.
>     58   *
>     59   * Register with the rdma cgroup. Should be called before
>     60   * exposing rdma device to user space applications to avoid
>     61   * resource accounting leak.
>     62   * HCA drivers should set resource pool ops first if they wish
>     63   * to support hw specific resource accounting before IB core
>     64   * registers with rdma cgroup.
>     65   * Returns 0 on success or otherwise failure code.
>     66   */
>     67  int ib_device_register_rdmacg(struct ib_device *device)
>     68  {
>     69          device->cg_device.name = device->name;
>     70          device->cg_device.pool_info.resource_name_table = resource_tokens;
>     71          device->cg_device.pool_info.table_len = ARRAY_SIZE(resource_tokens);
>     72          return rdmacg_register_device(&device->cg_device);
>     73  }
>     74
>     75  /**
>     76   * ib_device_unregister_rdmacg - unregister with rdma cgroup.
>     77   * @device: device to unregister.
>     78   *
>     79   * Unregister with the rdma cgroup. Should be called after
>     80   * all the resources are deallocated, and after a stage when any
>     81   * other resource allocation of user application cannot be done
>     82   * for this device to avoid any leak in accounting.
>     83   */
>     84  void ib_device_unregister_rdmacg(struct ib_device *device)
>     85  {
>     86          rdmacg_unregister_device(&device->cg_device);
>     87  }
>     88
>     89  int ib_rdmacg_try_charge(struct ib_rdmacg_object *cg_obj,
>     90                           struct ib_device *device,
>     91                           int resource_index, int num)
>     92  {
>     93          return rdmacg_try_charge(&cg_obj->cg, &device->cg_device,
>     94                                   resource_index, num);
>     95  }
>     96  EXPORT_SYMBOL(ib_rdmacg_try_charge);
>     97
>     98  void ib_rdmacg_uncharge(struct ib_rdmacg_object *cg_obj,
>     99                          struct ib_device *device,
>    100                          int resource_index, int num)
>    101  {
>    102          rdmacg_uncharge(cg_obj->cg, &device->cg_device,
>    103                          resource_index, num);
>    104  }
>    105  EXPORT_SYMBOL(ib_rdmacg_uncharge);
>    106
>  > 107  void ib_rdmacg_query_limit(struct ib_device *device, int *limits)
>    108  {
>    109          rdmacg_query_limit(&device->cg_device, limits);
>    110  }
>  > 111  EXPORT_SYMBOL(ib_rdmacg_query_limit);
>
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux