Received: by 2002:a05:7412:f589:b0:e2:908c:2ebd with SMTP id eh9csp101886rdb; Tue, 31 Oct 2023 01:53:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF+dxstAVS0uM1/PUfDumKEwBbkf42G9qQT7TskJt5EKmEAUvM57lIsKjov6R+s+88TN7WR X-Received: by 2002:a17:90a:5e:b0:27f:f788:f94f with SMTP id 30-20020a17090a005e00b0027ff788f94fmr9096787pjb.38.1698742386876; Tue, 31 Oct 2023 01:53:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698742386; cv=none; d=google.com; s=arc-20160816; b=txz0Q5iZyw9Pd4ZGZqsodrzE5+KEEH+ahVfh0j8fQgCZyPhJ3KBRRu1MeW2rGwjrRc eNaUC5HpAKSHSlXtH2BsEPbCj9VKnhFEjzZqjGiSiPODJewHfxucA9w9/fF1LkgRgMxc 4rhuZu8QBHAEalnNK5TPj43j7xweJlFPWHc9MAX+mawKCE5767BHA0AJSJDGxHjABBO8 08H/2Zw3mI0r47ipZ7RjzCQMGtv1v5bKsqX+ptt07RyCQtHSiS1z3WRRTAn6xCTJl+HN BCe6UVl92HXkFHWQXkHbTG2jCIJoHpjbTXpxtA6t9YBvkwsNwqRETyZiHA7dUjVABr+e Uv3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:subject:mime-version:date:dkim-signature :message-id; bh=TbP5NFFyhT6vLl14jHCWwTkfzMvj2xRM7HIW/xU+hNw=; fh=2j/zjK6AMOcZndP9b+v2snRrNOtEqLdr9IVHobDY91c=; b=n01d5kYlvnDZVoX5Gnrz/KAv2zrcgjLvOwPTmxAQZp2KmrWUM4e5R4AwO0tAI6HZQk rsmjDmG0UrBLlz0jzrUN6WSIxXLjYQ9ILcMKqdrkmy3lqPkZDPR0zERsEvvloG8XciQe 9KxtD6QCtpz9lHDR/x96TXQ2ERc56WDqK8l+SD52UuIV1tWf4DcxSTq0b5XJIuxKxmBc WWZ5lpTwk9+YnpeugLryT6kB/MWI/fb94tp5QQVAS0uCgAbwR6Sm4l4yUVtp7NaB0uwP Q2nXETEEtLCXYv8/WPSKPuFxC9AyrdLDwHZ8b1TRFFDlrS4wnlVqQquJ4yoSzhfcSrrl NwvA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=pSH6i7E2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Return-Path: Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id gx19-20020a17090b125300b00279020d1fb0si659157pjb.129.2023.10.31.01.53.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Oct 2023 01:53:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=pSH6i7E2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 65AB680C7776; Tue, 31 Oct 2023 01:53:01 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235314AbjJaIwp (ORCPT + 99 others); Tue, 31 Oct 2023 04:52:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40032 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234874AbjJaIwn (ORCPT ); Tue, 31 Oct 2023 04:52:43 -0400 X-Greylist: delayed 83324 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Tue, 31 Oct 2023 01:52:36 PDT Received: from out-181.mta1.migadu.com (out-181.mta1.migadu.com [IPv6:2001:41d0:203:375::b5]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 809D0C1 for ; Tue, 31 Oct 2023 01:52:36 -0700 (PDT) Message-ID: <7c5dd149-395a-46a2-96a0-89c182105eaf@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1698742353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TbP5NFFyhT6vLl14jHCWwTkfzMvj2xRM7HIW/xU+hNw=; b=pSH6i7E2mRE2zvkxDFKQH/zHDc4X59ST0cFgzStevXPF5Bh3mnfeSuwzJFlRw8ClOf1ivY KeS8bFOw/e5SePv+FEMXUaFZ3SyhT8lhi1WF6KmF6U5j3Qxu2fgbrhvQ23/3FbhHvxo2I4 SigF/tPYHJU6K0SnfIoNg8FgI7QW5r0= Date: Tue, 31 Oct 2023 16:52:23 +0800 MIME-Version: 1.0 Subject: Re: [PATCH RFC 1/2] RDMA/rxe: don't allow registering !PAGE_SIZE mr To: Jason Gunthorpe , "Zhijian Li (Fujitsu)" Cc: "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" References: <20231027054154.2935054-1-lizhijian@fujitsu.com> <4da48f85-a72f-4f6b-900f-fc293d63b5ae@fujitsu.com> <20231030124041.GE691768@ziepe.ca> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Zhu Yanjun In-Reply-To: <20231030124041.GE691768@ziepe.ca> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,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 fry.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 (fry.vger.email [0.0.0.0]); Tue, 31 Oct 2023 01:53:01 -0700 (PDT) 在 2023/10/30 20:40, Jason Gunthorpe 写道: > 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 != PAGE_SIZE, we cannot restore the address with a wrong >>> 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/infiniband/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 = to_rmr(ibmr); >>> unsigned int page_size = mr_page_size(mr); >>> >>> + if (page_size != 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 enabled, the PAGE_SIZE is 64K, when CONFIG_ARM64_64K_PAGES is disabled, PAGE_SIZE 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 problem in RXE. This problem is in NVMe. If this problem in NVMe is not fixed, NVMe still can not use RXE to make tests with blktests when CONFIG_ARM64_64K_PAGES is enabled. This is not a problem in RXE, it should not be fixed in RXE. Zhu Yanjun > > Jason