* drivers/infiniband/hw/bnxt_re/ib_verbs.c:3315:2: note: in expansion of macro 'if'
@ 2018-02-02 7:44 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2018-02-02 7:44 UTC (permalink / raw)
To: Somnath Kotur
Cc: kbuild-all, linux-kernel, Doug Ledford, Selvin Xavier, Devesh Sharma
[-- Attachment #1: Type: text/plain, Size: 11113 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4bf772b14675411a69b3c807f73006de0fe4b649
commit: 872f3578241d7e648b3bfcf6451a55faf97ce2e9 RDMA/bnxt_re: Add support for MRs with Huge pages
date: 2 weeks ago
config: i386-randconfig-sb0-02021411 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
git checkout 872f3578241d7e648b3bfcf6451a55faf97ce2e9
# save the attached .config to linux build tree
make ARCH=i386
All warnings (new ones prefixed by >>):
drivers/infiniband/hw/bnxt_re/ib_verbs.c: In function 'bnxt_re_query_device':
drivers/infiniband/hw/bnxt_re/ib_verbs.c:149:2: warning: left shift count >= width of type
ib_attr->max_mr_size = BNXT_RE_MAX_MR_SIZE;
^
drivers/infiniband/hw/bnxt_re/ib_verbs.c: In function 'bnxt_re_reg_user_mr':
drivers/infiniband/hw/bnxt_re/ib_verbs.c:3315:2: warning: left shift count >= width of type
if (length > BNXT_RE_MAX_MR_SIZE) {
^
drivers/infiniband/hw/bnxt_re/ib_verbs.c:3315:2: warning: left shift count >= width of type
In file included from include/linux/kernel.h:10:0,
from include/linux/interrupt.h:6,
from drivers/infiniband/hw/bnxt_re/ib_verbs.c:39:
>> include/linux/compiler.h:61:17: warning: left shift count >= width of type
static struct ftrace_branch_data \
^
include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^
>> drivers/infiniband/hw/bnxt_re/ib_verbs.c:3315:2: note: in expansion of macro 'if'
if (length > BNXT_RE_MAX_MR_SIZE) {
^
drivers/infiniband/hw/bnxt_re/ib_verbs.c:3317:4: warning: left shift count >= width of type
length, BNXT_RE_MAX_MR_SIZE);
^
--
drivers/infiniband//hw/bnxt_re/ib_verbs.c: In function 'bnxt_re_query_device':
drivers/infiniband//hw/bnxt_re/ib_verbs.c:149:2: warning: left shift count >= width of type
ib_attr->max_mr_size = BNXT_RE_MAX_MR_SIZE;
^
drivers/infiniband//hw/bnxt_re/ib_verbs.c: In function 'bnxt_re_reg_user_mr':
drivers/infiniband//hw/bnxt_re/ib_verbs.c:3315:2: warning: left shift count >= width of type
if (length > BNXT_RE_MAX_MR_SIZE) {
^
drivers/infiniband//hw/bnxt_re/ib_verbs.c:3315:2: warning: left shift count >= width of type
In file included from include/linux/kernel.h:10:0,
from include/linux/interrupt.h:6,
from drivers/infiniband//hw/bnxt_re/ib_verbs.c:39:
>> include/linux/compiler.h:61:17: warning: left shift count >= width of type
static struct ftrace_branch_data \
^
include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^
drivers/infiniband//hw/bnxt_re/ib_verbs.c:3315:2: note: in expansion of macro 'if'
if (length > BNXT_RE_MAX_MR_SIZE) {
^
drivers/infiniband//hw/bnxt_re/ib_verbs.c:3317:4: warning: left shift count >= width of type
length, BNXT_RE_MAX_MR_SIZE);
^
vim +/if +3315 drivers/infiniband/hw/bnxt_re/ib_verbs.c
872f35782 Somnath Kotur 2018-01-11 3302
1ac5a4047 Selvin Xavier 2017-02-10 3303 /* uverbs */
1ac5a4047 Selvin Xavier 2017-02-10 3304 struct ib_mr *bnxt_re_reg_user_mr(struct ib_pd *ib_pd, u64 start, u64 length,
1ac5a4047 Selvin Xavier 2017-02-10 3305 u64 virt_addr, int mr_access_flags,
1ac5a4047 Selvin Xavier 2017-02-10 3306 struct ib_udata *udata)
1ac5a4047 Selvin Xavier 2017-02-10 3307 {
1ac5a4047 Selvin Xavier 2017-02-10 3308 struct bnxt_re_pd *pd = container_of(ib_pd, struct bnxt_re_pd, ib_pd);
1ac5a4047 Selvin Xavier 2017-02-10 3309 struct bnxt_re_dev *rdev = pd->rdev;
1ac5a4047 Selvin Xavier 2017-02-10 3310 struct bnxt_re_mr *mr;
1ac5a4047 Selvin Xavier 2017-02-10 3311 struct ib_umem *umem;
872f35782 Somnath Kotur 2018-01-11 3312 u64 *pbl_tbl = NULL;
872f35782 Somnath Kotur 2018-01-11 3313 int umem_pgs, page_shift, rc;
1ac5a4047 Selvin Xavier 2017-02-10 3314
58d4a671d Selvin Xavier 2017-06-29 @3315 if (length > BNXT_RE_MAX_MR_SIZE) {
58d4a671d Selvin Xavier 2017-06-29 3316 dev_err(rdev_to_dev(rdev), "MR Size: %lld > Max supported:%ld\n",
58d4a671d Selvin Xavier 2017-06-29 3317 length, BNXT_RE_MAX_MR_SIZE);
58d4a671d Selvin Xavier 2017-06-29 3318 return ERR_PTR(-ENOMEM);
58d4a671d Selvin Xavier 2017-06-29 3319 }
58d4a671d Selvin Xavier 2017-06-29 3320
1ac5a4047 Selvin Xavier 2017-02-10 3321 mr = kzalloc(sizeof(*mr), GFP_KERNEL);
1ac5a4047 Selvin Xavier 2017-02-10 3322 if (!mr)
1ac5a4047 Selvin Xavier 2017-02-10 3323 return ERR_PTR(-ENOMEM);
1ac5a4047 Selvin Xavier 2017-02-10 3324
1ac5a4047 Selvin Xavier 2017-02-10 3325 mr->rdev = rdev;
1ac5a4047 Selvin Xavier 2017-02-10 3326 mr->qplib_mr.pd = &pd->qplib_pd;
1ac5a4047 Selvin Xavier 2017-02-10 3327 mr->qplib_mr.flags = __from_ib_access_flags(mr_access_flags);
1ac5a4047 Selvin Xavier 2017-02-10 3328 mr->qplib_mr.type = CMDQ_ALLOCATE_MRW_MRW_FLAGS_MR;
1ac5a4047 Selvin Xavier 2017-02-10 3329
872f35782 Somnath Kotur 2018-01-11 3330 rc = bnxt_qplib_alloc_mrw(&rdev->qplib_res, &mr->qplib_mr);
872f35782 Somnath Kotur 2018-01-11 3331 if (rc) {
872f35782 Somnath Kotur 2018-01-11 3332 dev_err(rdev_to_dev(rdev), "Failed to allocate MR");
872f35782 Somnath Kotur 2018-01-11 3333 goto free_mr;
872f35782 Somnath Kotur 2018-01-11 3334 }
872f35782 Somnath Kotur 2018-01-11 3335 /* The fixed portion of the rkey is the same as the lkey */
872f35782 Somnath Kotur 2018-01-11 3336 mr->ib_mr.rkey = mr->qplib_mr.rkey;
872f35782 Somnath Kotur 2018-01-11 3337
1ac5a4047 Selvin Xavier 2017-02-10 3338 umem = ib_umem_get(ib_pd->uobject->context, start, length,
1ac5a4047 Selvin Xavier 2017-02-10 3339 mr_access_flags, 0);
1ac5a4047 Selvin Xavier 2017-02-10 3340 if (IS_ERR(umem)) {
1ac5a4047 Selvin Xavier 2017-02-10 3341 dev_err(rdev_to_dev(rdev), "Failed to get umem");
1ac5a4047 Selvin Xavier 2017-02-10 3342 rc = -EFAULT;
872f35782 Somnath Kotur 2018-01-11 3343 goto free_mrw;
1ac5a4047 Selvin Xavier 2017-02-10 3344 }
1ac5a4047 Selvin Xavier 2017-02-10 3345 mr->ib_umem = umem;
1ac5a4047 Selvin Xavier 2017-02-10 3346
1ac5a4047 Selvin Xavier 2017-02-10 3347 mr->qplib_mr.va = virt_addr;
1ac5a4047 Selvin Xavier 2017-02-10 3348 umem_pgs = ib_umem_page_count(umem);
1ac5a4047 Selvin Xavier 2017-02-10 3349 if (!umem_pgs) {
1ac5a4047 Selvin Xavier 2017-02-10 3350 dev_err(rdev_to_dev(rdev), "umem is invalid!");
1ac5a4047 Selvin Xavier 2017-02-10 3351 rc = -EINVAL;
872f35782 Somnath Kotur 2018-01-11 3352 goto free_umem;
1ac5a4047 Selvin Xavier 2017-02-10 3353 }
1ac5a4047 Selvin Xavier 2017-02-10 3354 mr->qplib_mr.total_size = length;
1ac5a4047 Selvin Xavier 2017-02-10 3355
1ac5a4047 Selvin Xavier 2017-02-10 3356 pbl_tbl = kcalloc(umem_pgs, sizeof(u64 *), GFP_KERNEL);
1ac5a4047 Selvin Xavier 2017-02-10 3357 if (!pbl_tbl) {
872f35782 Somnath Kotur 2018-01-11 3358 rc = -ENOMEM;
872f35782 Somnath Kotur 2018-01-11 3359 goto free_umem;
1ac5a4047 Selvin Xavier 2017-02-10 3360 }
1ac5a4047 Selvin Xavier 2017-02-10 3361
872f35782 Somnath Kotur 2018-01-11 3362 page_shift = umem->page_shift;
872f35782 Somnath Kotur 2018-01-11 3363
872f35782 Somnath Kotur 2018-01-11 3364 if (!bnxt_re_page_size_ok(page_shift)) {
872f35782 Somnath Kotur 2018-01-11 3365 dev_err(rdev_to_dev(rdev), "umem page size unsupported!");
1ac5a4047 Selvin Xavier 2017-02-10 3366 rc = -EFAULT;
1ac5a4047 Selvin Xavier 2017-02-10 3367 goto fail;
1ac5a4047 Selvin Xavier 2017-02-10 3368 }
3e7e1193e Artemy Kovalyov 2017-04-05 3369
872f35782 Somnath Kotur 2018-01-11 3370 if (!umem->hugetlb && length > BNXT_RE_MAX_MR_SIZE_LOW) {
872f35782 Somnath Kotur 2018-01-11 3371 dev_err(rdev_to_dev(rdev), "Requested MR Sz:%llu Max sup:%llu",
872f35782 Somnath Kotur 2018-01-11 3372 length, (u64)BNXT_RE_MAX_MR_SIZE_LOW);
872f35782 Somnath Kotur 2018-01-11 3373 rc = -EINVAL;
1ac5a4047 Selvin Xavier 2017-02-10 3374 goto fail;
1ac5a4047 Selvin Xavier 2017-02-10 3375 }
872f35782 Somnath Kotur 2018-01-11 3376 if (umem->hugetlb && length > BNXT_RE_PAGE_SIZE_2M) {
872f35782 Somnath Kotur 2018-01-11 3377 page_shift = BNXT_RE_PAGE_SHIFT_2M;
872f35782 Somnath Kotur 2018-01-11 3378 dev_warn(rdev_to_dev(rdev), "umem hugetlb set page_size %x",
872f35782 Somnath Kotur 2018-01-11 3379 1 << page_shift);
1ac5a4047 Selvin Xavier 2017-02-10 3380 }
872f35782 Somnath Kotur 2018-01-11 3381
872f35782 Somnath Kotur 2018-01-11 3382 /* Map umem buf ptrs to the PBL */
872f35782 Somnath Kotur 2018-01-11 3383 umem_pgs = fill_umem_pbl_tbl(umem, pbl_tbl, page_shift);
872f35782 Somnath Kotur 2018-01-11 3384 rc = bnxt_qplib_reg_mr(&rdev->qplib_res, &mr->qplib_mr, pbl_tbl,
872f35782 Somnath Kotur 2018-01-11 3385 umem_pgs, false, 1 << page_shift);
1ac5a4047 Selvin Xavier 2017-02-10 3386 if (rc) {
1ac5a4047 Selvin Xavier 2017-02-10 3387 dev_err(rdev_to_dev(rdev), "Failed to register user MR");
1ac5a4047 Selvin Xavier 2017-02-10 3388 goto fail;
1ac5a4047 Selvin Xavier 2017-02-10 3389 }
1ac5a4047 Selvin Xavier 2017-02-10 3390
872f35782 Somnath Kotur 2018-01-11 3391 kfree(pbl_tbl);
1ac5a4047 Selvin Xavier 2017-02-10 3392
1ac5a4047 Selvin Xavier 2017-02-10 3393 mr->ib_mr.lkey = mr->qplib_mr.lkey;
1ac5a4047 Selvin Xavier 2017-02-10 3394 mr->ib_mr.rkey = mr->qplib_mr.lkey;
1ac5a4047 Selvin Xavier 2017-02-10 3395 atomic_inc(&rdev->mr_count);
1ac5a4047 Selvin Xavier 2017-02-10 3396
1ac5a4047 Selvin Xavier 2017-02-10 3397 return &mr->ib_mr;
1ac5a4047 Selvin Xavier 2017-02-10 3398 fail:
872f35782 Somnath Kotur 2018-01-11 3399 kfree(pbl_tbl);
872f35782 Somnath Kotur 2018-01-11 3400 free_umem:
872f35782 Somnath Kotur 2018-01-11 3401 ib_umem_release(umem);
1ac5a4047 Selvin Xavier 2017-02-10 3402 free_mrw:
1ac5a4047 Selvin Xavier 2017-02-10 3403 bnxt_qplib_free_mrw(&rdev->qplib_res, &mr->qplib_mr);
1ac5a4047 Selvin Xavier 2017-02-10 3404 free_mr:
1ac5a4047 Selvin Xavier 2017-02-10 3405 kfree(mr);
1ac5a4047 Selvin Xavier 2017-02-10 3406 return ERR_PTR(rc);
1ac5a4047 Selvin Xavier 2017-02-10 3407 }
1ac5a4047 Selvin Xavier 2017-02-10 3408
:::::: The code at line 3315 was first introduced by commit
:::::: 58d4a671d0eac45db1c7f27c8684c277249ac127 RDMA/bnxt_re: Report supported value to IB stack in query_device
:::::: TO: Selvin Xavier <selvin.xavier@broadcom.com>
:::::: CC: Doug Ledford <dledford@redhat.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 34580 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2018-02-02 7:44 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-02 7:44 drivers/infiniband/hw/bnxt_re/ib_verbs.c:3315:2: note: in expansion of macro 'if' kbuild test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.