Received: by 2002:a05:7412:f589:b0:e2:908c:2ebd with SMTP id eh9csp611018rdb; Tue, 31 Oct 2023 17:59:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHvHJ5P+C7XtPN6Vh7qd7shMF6QdO7TzO7AdGPMFUnQuxyOk7LXh14EaS1PLcZQf7Km18I0 X-Received: by 2002:a17:90a:1996:b0:27d:2054:9641 with SMTP id 22-20020a17090a199600b0027d20549641mr13592505pji.36.1698800346720; Tue, 31 Oct 2023 17:59:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698800346; cv=none; d=google.com; s=arc-20160816; b=IChR70WafUtD9w05IohV+lgYmYNtluq/75+rZMwkeUw6i9dArTa2FuL8ve9aLFbl/h UVqOGdfz0TIzVCnffR3RpIl8Hc4BYOAiAiVbYUxrUebI2OHYThU0N4wpUXOi2mMDhzzn JTSxByzDKfhrai5A/1d4J7IJcJZPgJrsBWcOMAyfUPE+DjsGNOWSRKlcIPVmnWgGssz9 cDcibHMDb3JWVXFqLrJwMeCd5JtWB4HAVukKIbRx15peG8u/694TBRHD4lKDNWvkR17Y C9f6+hF5fkB0A9uRe9P7MlCECVjzFrS8kMRbZu+y+kv6+YCuSbLNAl6XE5l1uwsOetUU NqXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=0uj554YOjyGP71pf67W1im7zL3DTNLKFkfwkK7w8hWs=; fh=a72ixnaxD8dHZHFGtdZmtUFUGDw4TYN6vHoYBhgK5V4=; b=RWzkNOcNfKP9t1GLLVUBl14fRHDCcaNZlh8h90Tzvd07EZOdFu58AATwARbvqbicq8 d7+Sv12YyzSsuFa8ZvdEThgAarjwFD1yD1uuk+vCcr5bPY2aex8xo+DYh8EtmdBlYxpI A0E11hiuN5eGeqLmEH6PDogSVDJRd0Xwf3WvVOgGC2YYQiNCs2HdlIvOs4UKA74MrJ+Z HYWtUTSJNrIQrpt21y49YH/9MHNjT+DTwimce9zpvmLuORiWJfyERj2Oze2LRLUdwbFn JchniZ5Cvn02JDyCzgWn+OtDnCONfAFAwjLbYGgCCoK0TJgd2K0Sli0WNIs2ZZG1VIg1 Eurg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=Ck3j7Aj8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id t23-20020a17090aba9700b0027cdee52324si1807590pjr.74.2023.10.31.17.59.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Oct 2023 17:59:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=Ck3j7Aj8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 1745B80BB225; Tue, 31 Oct 2023 17:59:04 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1376925AbjKAA6m (ORCPT + 99 others); Tue, 31 Oct 2023 20:58:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59342 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345029AbjKAA6l (ORCPT ); Tue, 31 Oct 2023 20:58:41 -0400 Received: from mail-yw1-x1129.google.com (mail-yw1-x1129.google.com [IPv6:2607:f8b0:4864:20::1129]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 77D28EA; Tue, 31 Oct 2023 17:58:39 -0700 (PDT) Received: by mail-yw1-x1129.google.com with SMTP id 00721157ae682-5a7af20c488so62205647b3.1; Tue, 31 Oct 2023 17:58:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698800318; x=1699405118; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=0uj554YOjyGP71pf67W1im7zL3DTNLKFkfwkK7w8hWs=; b=Ck3j7Aj8QNdJgZCK1uGaDbzvROTctwaV4Rc1lFhRE/e5SAWT8p4CRYd6NhS1HT3gfO NIwyHJjfmAEcZdan5IG8pvXolr8FoNA0rnTjZTloI+qjgJ7sZBFyuiNQ48r6xyiEfMiR ia7RDoom6ppOqExloqXRyaN2zLXiwwwUsgnj1uaDqq3bYflOyDW+2iwlCIw0ZJiAbJl6 95U2IPVTBteYBs34ZRBWc19XkqL8ymwsrIjBqx6wtxAPskbXqmHwnTW/2wsRnOgT1fb3 /IUL+MgJ+6bQT1zj/AtsGrAL2SfN/GMUz75CMQVMq63gBlJtrQJWeP7zaQCmet9oa6oL x8fA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698800318; x=1699405118; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0uj554YOjyGP71pf67W1im7zL3DTNLKFkfwkK7w8hWs=; b=GpX9jnijTbfgLFX5LJNODqisVX+ajqAQlNDRIVuvlc7oPGnLZV4PkJ7SSmVH9hxWH6 A1vn3O42v/AkO55xePj/JWQX3GURvEHjqHRvsl2py0chYrV/GyXWlkoERzKq5vqD6TeB NYedc95Q58OhD2RQ4yhnt/MkV9EsaYOeX19Aq2RnlVBUKt94DY3HkZJpup3bgkBKu56k AWmI0x55UlP8qtrgbYP7a1dER3aF0q3NxOKPNSqDmWSJfEygvWVLj8VkzJm/9bXMb+GC slfsGDieQHWqkx/J8iX+R3Nzjp7bCLIcvpOKbk+KTf9rk9rgIh3pvX/7utjjDQJrW7hg eFcw== X-Gm-Message-State: AOJu0YxKsxQMtNpytyg1ZMm8ruxn/rwwxlFMJQ5Wn6Z/HqMetQKDFnso D7YR9zwlSLm5F7gCVrz491ckCmC0JG295QFEKsY= X-Received: by 2002:a0d:ca93:0:b0:5af:b0ca:6951 with SMTP id m141-20020a0dca93000000b005afb0ca6951mr14812485ywd.40.1698800318627; Tue, 31 Oct 2023 17:58:38 -0700 (PDT) MIME-Version: 1.0 References: <20231027054154.2935054-1-lizhijian@fujitsu.com> <4da48f85-a72f-4f6b-900f-fc293d63b5ae@fujitsu.com> <20231030124041.GE691768@ziepe.ca> <7c5dd149-395a-46a2-96a0-89c182105eaf@linux.dev> <20231031131928.GH691768@ziepe.ca> In-Reply-To: <20231031131928.GH691768@ziepe.ca> From: Greg Sword Date: Wed, 1 Nov 2023 08:58:27 +0800 Message-ID: Subject: Re: [PATCH RFC 1/2] RDMA/rxe: don't allow registering !PAGE_SIZE mr To: Jason Gunthorpe Cc: Zhu Yanjun , "Zhijian Li (Fujitsu)" , "zyjzyj2000@gmail.com" , "leon@kernel.org" , "linux-rdma@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "rpearsonhpe@gmail.com" , "Daisuke Matsuda (Fujitsu)" , "bvanassche@acm.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Tue, 31 Oct 2023 17:59:04 -0700 (PDT) On Tue, Oct 31, 2023 at 9:19=E2=80=AFPM Jason Gunthorpe wrot= e: > > On Tue, Oct 31, 2023 at 04:52:23PM +0800, Zhu Yanjun wrote: > > =E5=9C=A8 2023/10/30 20:40, Jason Gunthorpe =E5=86=99=E9=81=93: > > > On Mon, Oct 30, 2023 at 07:51:41AM +0000, Zhijian Li (Fujitsu) wrote: > > > > > > > > > > > > On 27/10/2023 13:41, Li Zhijian wrote: > > > > > mr->page_list only encodes *page without page offset, when > > > > > page_size !=3D PAGE_SIZE, we cannot restore the address with a wr= ong > > > > > page_offset. > > > > > > > > > > Note that this patch will break some ULPs that try to register 4K > > > > > MR when PAGE_SIZE is not 4K. > > > > > SRP and nvme over RXE is known to be impacted. > > > > > > > > > > Signed-off-by: Li Zhijian > > > > > --- > > > > > drivers/infiniband/sw/rxe/rxe_mr.c | 6 ++++++ > > > > > 1 file changed, 6 insertions(+) > > > > > > > > > > diff --git a/drivers/infiniband/sw/rxe/rxe_mr.c b/drivers/infinib= and/sw/rxe/rxe_mr.c > > > > > index f54042e9aeb2..61a136ea1d91 100644 > > > > > --- a/drivers/infiniband/sw/rxe/rxe_mr.c > > > > > +++ b/drivers/infiniband/sw/rxe/rxe_mr.c > > > > > @@ -234,6 +234,12 @@ int rxe_map_mr_sg(struct ib_mr *ibmr, struct= scatterlist *sgl, > > > > > struct rxe_mr *mr =3D to_rmr(ibmr); > > > > > unsigned int page_size =3D mr_page_size(mr); > > > > > + if (page_size !=3D PAGE_SIZE) { > > > > > > > > It seems this condition is too strict, it should be: > > > > if (!IS_ALIGNED(page_size, PAGE_SIZE)) > > > > > > > > So that, page_size with (N * PAGE_SIZE) can work as previously. > > > > Because the offset(mr.iova & page_mask) will get lost only when !IS= _ALIGNED(page_size, PAGE_SIZE) > > > > > > That makes sense > > > > I read all the discussions very carefully. > > > > Thanks, Greg. > > > > Because RXE only supports PAGE_SIZE, when CONFIG_ARM64_64K_PAGES is ena= bled, > > the PAGE_SIZE is 64K, when CONFIG_ARM64_64K_PAGES is disabled, PAGE_SIZ= E is > > 4K. > > > > But NVMe calls ib_map_mr_sg with a fixed size SZ_4K. When > > CONFIG_ARM64_64K_PAGES is enabled, it is still 4K. This is not a proble= m in > > RXE. This problem is in NVMe. > > Maybe, but no real RDMA devices don't support 4K. > > The xarray conversion may need revision to use physical addresses > instead of storing struct pages so it can handle this kind of > segmentation. This problem can not be fixed until rxe supports multiple page sizes including 4K page size. Now it is not fixed. It is an intermediate way. > > Certainly in the mean time it should be rejected. > > Jason