All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zhu Yanjun <zyjzyj2000@gmail.com>
To: Shoaib Rao <rao.shoaib@oracle.com>
Cc: RDMA mailing list <linux-rdma@vger.kernel.org>,
	Jason Gunthorpe <jgg@ziepe.ca>
Subject: Re: [PATCH v2 1/1] RDMA/rxe: Bump up default maximum values used via uverbs
Date: Mon, 19 Jul 2021 10:25:46 +0800	[thread overview]
Message-ID: <CAD=hENccPzsoDw-5FZ1fyokiPyi66s+TkBWGsPXCMvtP+eUG=A@mail.gmail.com> (raw)
In-Reply-To: <2b8a485d-d9bb-1579-613c-c32f580f3f2a@oracle.com>

On Mon, Jul 19, 2021 at 7:00 AM Shoaib Rao <rao.shoaib@oracle.com> wrote:
>
> Thanks for reporting the issue. I was able to reproduce the issue and
> have fixed it. Kindly try gain.

Do you make tests with rdma-core?

IMHO, it is important to make tests with rdma-core before the commit
is sent to the community.

Zhu Yanjun

>
> Regards,
>
> Shoaib
>
>
> On 7/18/21 12:46 PM, Shoaib Rao wrote:
> > Your urls are garbled, so I can not make any sense out of them.
> >
> > [root@ca-dev141 linux]# git remote --v
> > origin
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > (fetch)
> > origin
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git (push)
> >
> > [root@ca-dev141 linux]# git show 8c1b4316c3fa
> > fatal: ambiguous argument '8c1b4316c3fa': unknown revision or path not
> > in the working tree.
> >
> > [root@ca-dev141 linux]# git log --grep='RDMA/efa: Split hardware'
> > [root@ca-dev141 linux]#
> >
> > [root@ca-dev141 linux]# git describe
> > v5.14-rc1-17-gc06676b5953b
> >
> > You need to do a little bit more work on your end and tell me which
> > value rxe is complaining about. Also provide a kernel version that you
> > are using as I have provided above.
> >
> > Shoaib
> >
> > On 7/18/21 12:59 AM, Zhu Yanjun wrote:
> >> On Sat, Jul 17, 2021 at 2:09 AM Shoaib Rao <rao.shoaib@oracle.com>
> >> wrote:
> >>>
> >>> On 7/15/21 9:07 PM, Zhu Yanjun wrote:
> >>>
> >>> On Fri, Jul 16, 2021 at 12:44 AM Shoaib Rao <rao.shoaib@oracle.com>
> >>> wrote:
> >>>
> >>> Following is a link
> >>>
> >>> https://urldefense.com/v3/__https://marc.info/?l=linux-rdma&m=162395437604846&w=2__;!!ACWV5N9M2RV99hQ!f9TPWtgUxambtSeQ_L3h-IH7CW3SifyiumB3kjc2v_w6Ec_WYVtjWyusEtgQ60iw$
> >>>
> >>>
> >>> Or just search for my name in the archive.
> >>>
> >>> Do you see any issues with this value?
> >>>
> >>> After this commit is applied, I confronted the following problem
> >>> "
> >>> [  639.943561] rdma_rxe: unloaded
> >>> [  679.717143] rdma_rxe: loaded
> >>> [  691.721055] rdma_rxe: not enough indices for max_elem
> >>> "
> >>> Not sure if this problem is introduced by this commit. Please help to
> >>> check this problem.
> >>> Thanks a lot.
> >>>
> >>> Zhu Yanjun
> >>>
> >>> I do not see the issue.
> >>>
> >>> [root@ca-dev66 rxe]# lsmod | grep rdma_rxe
> >>> rdma_rxe              126976  0
> >>> ip6_udp_tunnel         16384  1 rdma_rxe
> >>> udp_tunnel             20480  1 rdma_rxe
> >>> ib_uverbs             147456  3 rdma_rxe,rdma_ucm,mlx5_ib
> >>> ib_core               364544  10
> >>> rdma_cm,ib_ipoib,rdma_rxe,rds_rdma,iw_cm,ib_umad,rdma_ucm,ib_uverbs,mlx5_ib,ib_cm
> >>>
> >>> I am using gdb to dump the values
> >>>
> >>> (gdb) ptype RXE_MAX_INLINE_DATA
> >>> type = enum rxe_device_param {RXE_MAX_MR_SIZE = -1,
> >>>      RXE_PAGE_SIZE_CAP = 4294963200, RXE_MAX_QP_WR = 1048576,
> >>>      RXE_DEVICE_CAP_FLAGS = 137466362998, RXE_MAX_SGE = 32,
> >>>      RXE_MAX_WQE_SIZE = 720, RXE_MAX_INLINE_DATA = 512,
> >>> RXE_MAX_SGE_RD = 32,
> >>>      RXE_MAX_CQ = 1048576, RXE_MAX_LOG_CQE = 15, RXE_MAX_PD = 1048576,
> >>>      RXE_MAX_QP_RD_ATOM = 128, RXE_MAX_RES_RD_ATOM = 258048,
> >>>      RXE_MAX_QP_INIT_RD_ATOM = 128, RXE_MAX_MCAST_GRP = 8192,
> >>>      RXE_MAX_MCAST_QP_ATTACH = 56, RXE_MAX_TOT_MCAST_QP_ATTACH =
> >>> 458752,
> >>>      RXE_MAX_AH = 1048576, RXE_MAX_SRQ_WR = 1048576, RXE_MIN_SRQ_WR
> >>> = 1,
> >>>      RXE_MAX_SRQ_SGE = 27, RXE_MIN_SRQ_SGE = 1,
> >>>      RXE_MAX_FMR_PAGE_LIST_LEN = 512, RXE_MAX_PKEYS = 64,
> >>>      RXE_LOCAL_CA_ACK_DELAY = 15, RXE_MAX_UCONTEXT = 1048576,
> >>> RXE_NUM_PORT = 1,
> >>>      RXE_MAX_QP = 1048576, RXE_MIN_QP_INDEX = 16, RXE_MAX_QP_INDEX =
> >>> 262144,
> >>>      RXE_MAX_SRQ = 1048576, RXE_MIN_SRQ_INDEX = 131073,
> >>>      RXE_MAX_SRQ_INDEX = 262144, RXE_MAX_MR = 1048576, RXE_MAX_MW =
> >>> 4096,
> >>>      RXE_MIN_MR_INDEX = 1, RXE_MAX_MR_INDEX = 262144,
> >>> RXE_MIN_MW_INDEX = 65537,
> >>>      RXE_MAX_MW_INDEX = 131072, RXE_MAX_PKT_PER_ACK = 64,
> >>>      RXE_MAX_UNACKED_PSNS = 128, RXE_INFLIGHT_SKBS_PER_QP_HIGH = 64,
> >>>      RXE_INFLIGHT_SKBS_PER_QP_LOW = 16, RXE_NSEC_ARB_TIMER_DELAY = 200,
> >>>      RXE_VENDOR_ID = 16777215}
> >>>
> >>> It is possible that you are changing some values.
> >>
> >> I git clone the source code from
> >> https://urldefense.com/v3/__https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git__;!!ACWV5N9M2RV99hQ!efPsL9fikzm6Ob1-zsmbsAzPkfqRpxYkp9oJXF9csPOJgoei9njj8RmA5IyuH447$
> >> again.
> >> And the first 3 commits are as below. One is your commit.
> >> "
> >> 6163ad3208c8 (HEAD -> for-next) RDMA/rxe: Bump up default maximum
> >> values used via uverbs
> >> 8c1b4316c3fa (origin/for-next, origin/HEAD) RDMA/efa: Split hardware
> >> stats to device and port stats
> >> 916071185b17 MAINTAINERS: Update maintainers of HiSilicon RoCE
> >> "
> >>
> >> And when I tried to add a new rxe0,
> >> "
> >> error: Invalid argument
> >> "
> >> And the dmesg logs are as below:
> >>
> >> # dmesg
> >> "
> >> [   70.782302] e1000: enp0s8 NIC Link is Up 1000 Mbps Full Duplex,
> >> Flow Control: RX
> >> [   70.782744] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s8: link becomes ready
> >> [   79.467652] rdma_rxe: loaded
> >> [   79.468348] rdma_rxe: not enough indices for max_elem
> >> [   79.468356] rdma_rxe: failed to add enp0s8
> >> "
> >>
> >> Please follow my steps to reproduce this problem again.
> >>
> >> Zhu Yanjun
> >>
> >>> Shoaib
> >>>
> >>> Shoaib
> >>>
> >>> On 7/14/21 10:02 PM, Zhu Yanjun wrote:
> >>>
> >>> On Wed, Jul 14, 2021 at 4:36 PM Rao Shoaib <Rao.Shoaib@oracle.com>
> >>> wrote:
> >>>
> >>> From: Rao Shoaib <rshoaib@ca-dev141.us.oracle.com>
> >>>
> >>> In our internal testing we have found that the
> >>> current maximum are too smalls. Ideally there should
> >>> be no limits but currently maximum values are reported
> >>> via ibv_query_device, so we have to keep maximum values
> >>> but they have been made suffiently large.
> >>>
> >>> Resubmitting after fixing an issue reported by test robot.
> >>>
> >>> Reported-by: kernel test robot <lkp@intel.com>
> >>>
> >>> Signed-off-by: Rao Shoaib <rshoaib@ca-dev141.us.oracle.com>
> >>> ---
> >>>    drivers/infiniband/sw/rxe/rxe_param.h | 26
> >>> ++++++++++++++------------
> >>>    1 file changed, 14 insertions(+), 12 deletions(-)
> >>>
> >>> diff --git a/drivers/infiniband/sw/rxe/rxe_param.h
> >>> b/drivers/infiniband/sw/rxe/rxe_param.h
> >>> index 742e6ec93686..092dbff890f2 100644
> >>> --- a/drivers/infiniband/sw/rxe/rxe_param.h
> >>> +++ b/drivers/infiniband/sw/rxe/rxe_param.h
> >>> @@ -9,6 +9,8 @@
> >>>
> >>>    #include <uapi/rdma/rdma_user_rxe.h>
> >>>
> >>> +#define DEFAULT_MAX_VALUE (1 << 20)
> >>>
> >>> Can you let me know the link in which the above value is discussed?
> >>>
> >>> Thanks,
> >>> Zhu Yanjun
> >>>
> >>> +
> >>>    static inline enum ib_mtu rxe_mtu_int_to_enum(int mtu)
> >>>    {
> >>>           if (mtu < 256)
> >>> @@ -37,7 +39,7 @@ static inline enum ib_mtu eth_mtu_int_to_enum(int
> >>> mtu)
> >>>    enum rxe_device_param {
> >>>           RXE_MAX_MR_SIZE                 = -1ull,
> >>>           RXE_PAGE_SIZE_CAP               = 0xfffff000,
> >>> -       RXE_MAX_QP_WR                   = 0x4000,
> >>> +       RXE_MAX_QP_WR                   = DEFAULT_MAX_VALUE,
> >>>           RXE_DEVICE_CAP_FLAGS            = IB_DEVICE_BAD_PKEY_CNTR
> >>>                                           | IB_DEVICE_BAD_QKEY_CNTR
> >>>                                           | IB_DEVICE_AUTO_PATH_MIG
> >>> @@ -58,40 +60,40 @@ enum rxe_device_param {
> >>>           RXE_MAX_INLINE_DATA             = RXE_MAX_WQE_SIZE -
> >>>                                             sizeof(struct
> >>> rxe_send_wqe),
> >>>           RXE_MAX_SGE_RD                  = 32,
> >>> -       RXE_MAX_CQ                      = 16384,
> >>> +       RXE_MAX_CQ                      = DEFAULT_MAX_VALUE,
> >>>           RXE_MAX_LOG_CQE                 = 15,
> >>> -       RXE_MAX_PD                      = 0x7ffc,
> >>> +       RXE_MAX_PD                      = DEFAULT_MAX_VALUE,
> >>>           RXE_MAX_QP_RD_ATOM              = 128,
> >>>           RXE_MAX_RES_RD_ATOM             = 0x3f000,
> >>>           RXE_MAX_QP_INIT_RD_ATOM         = 128,
> >>>           RXE_MAX_MCAST_GRP               = 8192,
> >>>           RXE_MAX_MCAST_QP_ATTACH         = 56,
> >>>           RXE_MAX_TOT_MCAST_QP_ATTACH     = 0x70000,
> >>> -       RXE_MAX_AH                      = 100,
> >>> -       RXE_MAX_SRQ_WR                  = 0x4000,
> >>> +       RXE_MAX_AH                      = DEFAULT_MAX_VALUE,
> >>> +       RXE_MAX_SRQ_WR                  = DEFAULT_MAX_VALUE,
> >>>           RXE_MIN_SRQ_WR                  = 1,
> >>>           RXE_MAX_SRQ_SGE                 = 27,
> >>>           RXE_MIN_SRQ_SGE                 = 1,
> >>>           RXE_MAX_FMR_PAGE_LIST_LEN       = 512,
> >>> -       RXE_MAX_PKEYS                   = 1,
> >>> +       RXE_MAX_PKEYS                   = 64,
> >>>           RXE_LOCAL_CA_ACK_DELAY          = 15,
> >>>
> >>> -       RXE_MAX_UCONTEXT                = 512,
> >>> +       RXE_MAX_UCONTEXT                = DEFAULT_MAX_VALUE,
> >>>
> >>>           RXE_NUM_PORT                    = 1,
> >>>
> >>> -       RXE_MAX_QP                      = 0x10000,
> >>> +       RXE_MAX_QP                      = DEFAULT_MAX_VALUE,
> >>>           RXE_MIN_QP_INDEX                = 16,
> >>> -       RXE_MAX_QP_INDEX                = 0x00020000,
> >>> +       RXE_MAX_QP_INDEX                = 0x00040000,
> >>>
> >>> -       RXE_MAX_SRQ                     = 0x00001000,
> >>> +       RXE_MAX_SRQ                     = DEFAULT_MAX_VALUE,
> >>>           RXE_MIN_SRQ_INDEX               = 0x00020001,
> >>>           RXE_MAX_SRQ_INDEX               = 0x00040000,
> >>>
> >>> -       RXE_MAX_MR                      = 0x00001000,
> >>> +       RXE_MAX_MR                      = DEFAULT_MAX_VALUE,
> >>>           RXE_MAX_MW                      = 0x00001000,
> >>>           RXE_MIN_MR_INDEX                = 0x00000001,
> >>> -       RXE_MAX_MR_INDEX                = 0x00010000,
> >>> +       RXE_MAX_MR_INDEX                = 0x00040000,
> >>>           RXE_MIN_MW_INDEX                = 0x00010001,
> >>>           RXE_MAX_MW_INDEX                = 0x00020000,
> >>>
> >>> --
> >>> 2.27.0
> >>>

  reply	other threads:[~2021-07-19  2:25 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-14  8:35 [PATCH v2 0/1] RDMA/rxe: Bump up default maximum values used via uverbs Rao Shoaib
2021-07-14  8:35 ` [PATCH v2 1/1] " Rao Shoaib
2021-07-15  5:02   ` Zhu Yanjun
2021-07-15 16:43     ` Shoaib Rao
2021-07-16  4:07       ` Zhu Yanjun
     [not found]         ` <8eba2b02-36c5-e14c-3503-0e1cfeea4dd9@oracle.com>
2021-07-18  7:59           ` Zhu Yanjun
2021-07-18 19:46             ` Shoaib Rao
2021-07-18 23:00               ` Shoaib Rao
2021-07-19  2:25                 ` Zhu Yanjun [this message]
2021-07-19  4:20                   ` Shoaib Rao
2021-07-19  8:12                     ` Zhu Yanjun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAD=hENccPzsoDw-5FZ1fyokiPyi66s+TkBWGsPXCMvtP+eUG=A@mail.gmail.com' \
    --to=zyjzyj2000@gmail.com \
    --cc=jgg@ziepe.ca \
    --cc=linux-rdma@vger.kernel.org \
    --cc=rao.shoaib@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.