From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 23F44C7EE2E for ; Thu, 29 Aug 2024 07:14:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 57B696B00B8; Thu, 29 Aug 2024 03:14:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 52A316B00BA; Thu, 29 Aug 2024 03:14:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3565B6B00BC; Thu, 29 Aug 2024 03:14:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 0F1C66B00B8 for ; Thu, 29 Aug 2024 03:14:33 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 254CBC09E0 for ; Thu, 29 Aug 2024 07:14:32 +0000 (UTC) X-FDA: 82504419984.11.FF647E0 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) by imf13.hostedemail.com (Postfix) with ESMTP id 0F13420008 for ; Thu, 29 Aug 2024 07:14:29 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=Q8pnFaud; spf=pass (imf13.hostedemail.com: domain of charlie@rivosinc.com designates 209.85.210.179 as permitted sender) smtp.mailfrom=charlie@rivosinc.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724915582; h=from:from:sender: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=59qS8d6E7jAm/hvEeiY72pf/LRpSv6Q2qjD/8hJgS38=; b=pMx0ANk3NvQo9C2335uvO1RCr9cburmKjbgDq75x/9tP7CZHyOwzKeBOzhAZ4t1MjKqD9P BBBSrsdu5M12uKFEuzQVydZA156ilwjZSSz1xk4ozFsh3A/ckJa5iNKDw2GumeI/jVJSOo LnZhZpORXHiSEPVSCEQUlRmFhGjoHtU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724915582; a=rsa-sha256; cv=none; b=dJLleaIXk188/x7dHSFqhrAET3M//tsnGacDbjHmc7XsZow6wdHor9ejCf8rBRW1kJLhk9 VVSx5ahNJw58IKLc5hTVmqqQUrdeL829HsWftS1BcSw83YCR+rNATUfGmGVK6Tu5nq/Hry ZDA9GaS++KSAMLmDL/BA47RqSoJKwvY= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=Q8pnFaud; spf=pass (imf13.hostedemail.com: domain of charlie@rivosinc.com designates 209.85.210.179 as permitted sender) smtp.mailfrom=charlie@rivosinc.com; dmarc=none Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-71433cba1b7so248370b3a.0 for ; Thu, 29 Aug 2024 00:14:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1724915668; x=1725520468; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=59qS8d6E7jAm/hvEeiY72pf/LRpSv6Q2qjD/8hJgS38=; b=Q8pnFaud/9cumh2CasuXrPZENVzPCoaYN4z5Vj2/omx7r9MLSHWWe/DLEg+1mZQrnU SvtxV1H7ypw2TK8WgVFIKhrIBx9yhPFdlMxiImtXMl0frqff3HbB6QLfYOZs4NGNxt7+ bFKaBGgy1g//WsKUHkPY5D5rMQ/uZ//y2b3W/CQDA4eKMvuixYhXmmoc87j/bh5hANAB P2BUCce6icvFRfo+HgWFKETYJc0oDX0Hi4EF/tJBLpn4TkvELaxgIaXGFHqJoHhQBKiy hYpw8nlcBMl6TXDtkrU9xA/s3jQeRTjXl10ZZfXQ0PICnKI5fO0GbJ5TiauST6K0ASkt f50Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724915668; x=1725520468; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=59qS8d6E7jAm/hvEeiY72pf/LRpSv6Q2qjD/8hJgS38=; b=HQjib/sajYU9m8vHgIeBGGmeFE2KVtUg4UGDQBPMAw4q5VlGOwK9Yyd8Hy3OeQ5nz1 dbcVoTRIea6pPxyvKYdDbq/Uqvk+GwYBMJcgHU2Q9OZkjVL6AI35kMx6xcgVrxo/4Wyq mGh3ad/Cwhw58bVx2qhpdEh7BkWvk3kpWsozyl14tFITERgp9Vqfyx3yLMNf7nex8GB/ B8NWq5nrPlSLMUo2DkIfaJb5NfnrrxPlnyO8AWnT8kkOcpnnmPRB2NEWst7W4+mTaBGB yCfpL5lvqfcpE2hJCWiqj/pzD2EeKhB4AVxy0Keht56fBD4jMzfg1PNUiDxWakqCFzLb RWMQ== X-Forwarded-Encrypted: i=1; AJvYcCWg/2ufjiMOXZ86EDgn9K7CnhG3Yyx8MYSedMN2kEdqgUZjapG8UrNxydc7o6ajStUbGHrINYSfHw==@kvack.org X-Gm-Message-State: AOJu0YywouM4svI3Q4xHp8EtfYtheU/n1+Gi4D+mWLe0jYQIIsvl4h02 WhJdATnFxxu6PsTWxP9l+q03tKlAWvCfWLzXT5VZMbYtNJK8IZASqK+fXF+WN5I= X-Google-Smtp-Source: AGHT+IFxhM4cuDGdAmG+3DSZ8PIKqAZRC1xEgxgW4g8JXtjfrvLb83nabdJs3AxBg2ozZcKKdgajyA== X-Received: by 2002:a05:6a20:e196:b0:1c4:c1cd:a29d with SMTP id adf61e73a8af0-1cce101c8fdmr2021570637.28.1724915668227; Thu, 29 Aug 2024 00:14:28 -0700 (PDT) Received: from ghost (c-67-164-127-253.hsd1.ca.comcast.net. [67.164.127.253]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-715e56d9716sm545002b3a.174.2024.08.29.00.14.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Aug 2024 00:14:27 -0700 (PDT) Date: Thu, 29 Aug 2024 00:14:22 -0700 From: Charlie Jenkins To: Lorenzo Stoakes Cc: Arnd Bergmann , Paul Walmsley , Palmer Dabbelt , Albert Ou , Catalin Marinas , Will Deacon , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Muchun Song , Andrew Morton , "Liam R. Howlett" , Vlastimil Babka , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Huacai Chen , WANG Xuerui , Russell King , Thomas Bogendoerfer , "James E.J. Bottomley" , Helge Deller , Alexander Gordeev , Gerald Schaefer , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Sven Schnelle , Yoshinori Sato , Rich Felker , John Paul Adrian Glaubitz , "David S. Miller" , Andreas Larsson , Shuah Khan , Alexandre Ghiti , linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Palmer Dabbelt , linux-riscv@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, linux-mm@kvack.org, loongarch@lists.linux.dev, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: Re: [PATCH 00/16] mm: Introduce MAP_BELOW_HINT Message-ID: References: <20240827-patches-below_hint_mmap-v1-0-46ff2eb9022d@rivosinc.com> <2570b1ea-d2a4-4bcb-9bb3-8d979657c56a@lucifer.local> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2570b1ea-d2a4-4bcb-9bb3-8d979657c56a@lucifer.local> X-Rspamd-Queue-Id: 0F13420008 X-Stat-Signature: zrf33g9s8t5x3b1ztfbbte3sz3i681np X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1724915669-774034 X-HE-Meta: U2FsdGVkX18f8GdlpD6woh6INR7ZQUHc09lbB+0c75PrvVRM/Pc1LVAnjN+3MgJfvbVzlHHc3+vYFtkRArX7SpppYHPUGm1CKlgIL72fR5PYs380dyQaHELyj7uNDVCR7U2olSnqip/cOC2msqiu3gAuQkB1sNJ1eQ9mCz/JBKq93DtnpeG+AJefrwKOQD0d9CLEMcLQEDKVbLueBY4jpW4/Fx2KZkxAxhzUSJO2Qyjq1PWb0l/49E29DNkubrbPwo/brmGdkeNhjhwa8SISjKsPw9HIGm7+/YV8szd5dBri4U0ehwnn9eTsb5rGxVtEr5VMWBqWY4eG3YwdSFTFJDpqNfSQF7IPoZFRF8YoYjQiwo0c5QJeq38+R6EFsZLdZN63QU6rC1BOM2Vl34B5n6tGAqlMmbE58PvF1bgDzEXKe2l3iFulLYEy3WdMR6/osLF7vOKSnOf15AmHdGHhchoaZIqJBqq/RtOwP6XCvVNoDFuc1Yoq7oqHSvn/kusjn9rMHBJVwkSnBKWw7npQ+L7UzvBZSIcQR2bczXNArD09ycDlluHvMvDu/EHPdA+lQB0V1hzqzHV/oWS8AZe0gznbAKR0TfQ/hyNqwfokqhjOulszptcy029z92GIdgalb6LKbdZhDQO2bZHuNQEj8yqK3EOtLLU04H5MJk9hZTWEc5hOikqjiKh7GRsD9QgDpp+ypgfHCLg/DZOVvz4VRRxT5wZdkVERAUlhosE07UDXSFuR8UJ0DAreLhufKRojslCkj35maFyAgjUdahYtCrcjeQ5wPnqm0UrhdRWklcwRRq1q48DS1d14/LRfaeDc1epkQVk2XgEEWtooTvZM8RO/IJKjBH7smx0FnKGK29nOCawkEj5uMw1paSQSTweRTFUw4r99/6o17pKTgTsgmZpw6K2gteTDMQXIlg9nhrjWchFeVQHxTcwKF2LXESDzD/+xv+t/UfUzW1DEgz7 +somrrsy lfVSqxCTEuO0iOECoVdGrCSXrDYM8+A0/8LmVZuyrmAT/zqgJjkSjpbrpwWFqXrMR7zTAwhNmyAqjc3J+hF2vIoz4UCl9CjCdLtLa2tm9AAC1g2ueTyfXAY1Wzd/is5b9lBUBIiwBPc6XV7gRFnup6s2a1KDW20NtkJfC4bBKlR6+YFvszMETPc/kDsW52KnZcfSy7bFGKr5MaRJaUzGuKTTui2cG2IBl/zGRwOVyRUF30JdfGpb4i/WIVoR22aaQIyZwtAy3X/DOBl19StbU7rCqnig2adEq1cPi/V6pBdBCy8aiYCxd64XvuLVYbAUoHmOsBcS5qdQ0dDxSx3wFOLK2mCFOFvvB3FTQxC8DLpPdfEiSyehikPt0OF+L36zoiy87wDi6SgEkMrDXQG2uDVoAlu6MNrZXejoYC7T6HxU5x4BgRvp0JTexP4+/QT3DXtSGx6W2IjkMHLGrCHj4jpzMIj9XK9JFOw4E+BOTevNLZI19EydHcnmSVMizGoXBwa9SH+q6kRr2In2WrCpTFglDr3h9FKErfwlw7F3kbv9zz8wE6odpuBVLpQYJ8phpH7NqTxI8W4+qCCeLo7xtOaNOqf4kFRS9KSxUS4pOFZwVp2ezgnWyhb2KPdzqZUWSTcLyH5pmH0FzGQ+AnQnh8jIGB+QY3v89LY8mNiOTefqlxgM6HXv0oygm1gPxoLmVqLM1H47CZlmNu6Ob02bWipBgdc6f3l0CsZQ//XxdB1hNM8H/HRuBDIgksofRMFQ/PXFioCvVEXZtcMRlELUlPck0XkXXzGbY1x/BDou4y93MhBgsXF3mf7jHnb73evVKaX4RJLAfK0XEZ5Cs+NYGq+WGByCvCa2zpxnGBfUgmVdvAvltWmZwKd2NVqdUehqMFeVfaiV4yxEpR7fWIfE9QE48XHxWSYThlL4V8eNB6Ir4lcLClMd4FmBCzhYvmdIASPMuLIs9PapMqDVqM+jPZXOtTY/I L+rM6hsW ws5W8GqZmP86p8kZ2AcGZT6netmp5ifPEJtXYnbznseT7FDVV9fViQbs5GBRSJ6j+V900f6SYwtS2vtFDz1zrS39fx4QebJLeXafQm2sZhY7FVRHwTuc9BLBcfJOF53PeviAB4XgWJjVQslJi1CAjwEp0ZYIyaJ5ZOQfj6wJO10vPF0vXCvpLmZE5bcjtqfagvJ/V8QGzHGnFmnYf5VZPIpSmQDdJKyBMq1vRU8dqc9fSZs9nl0Fp/gZRpq1Ab3EhYnI0pGm1++YuaOeaB9iv6yw325/P+eCn+34z3g4Bs1dHa3Dw74pvk/h9DvAEZ8e/nTJODDkJhAGqYTyB+wxPjVvJeJy18dEOUq5ZvNEZ+uPoC3EGKlkY0qVZhK99++9CKmy+PtYx1Ju3z0y5zZpGxV2XzWorU62GJusSv02BZon67zB9LdVLeZwmZmWMvJNUx5+cNbSiYhdephN1gtwwNjhKnQSp05vW4PP2jfxXNcqBnnpHTkszg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Wed, Aug 28, 2024 at 07:19:36PM +0100, Lorenzo Stoakes wrote: > On Tue, Aug 27, 2024 at 10:49:06PM GMT, Charlie Jenkins wrote: > > Some applications rely on placing data in free bits addresses allocated > > by mmap. Various architectures (eg. x86, arm64, powerpc) restrict the > > address returned by mmap to be less than the maximum address space, > > unless the hint address is greater than this value. > > > > On arm64 this barrier is at 52 bits and on x86 it is at 56 bits. This > > flag allows applications a way to specify exactly how many bits they > > want to be left unused by mmap. This eliminates the need for > > applications to know the page table hierarchy of the system to be able > > to reason which addresses mmap will be allowed to return. > > > > --- > > riscv made this feature of mmap returning addresses less than the hint > > address the default behavior. This was in contrast to the implementation > > of x86/arm64 that have a single boundary at the 5-level page table > > region. However this restriction proved too great -- the reduced > > address space when using a hint address was too small. > > > > A patch for riscv [1] reverts the behavior that broke userspace. This > > series serves to make this feature available to all architectures. > > I'm a little confused as to the justification for this - you broke RISC V by > doing this, and have now reverted it, but now offer the same behaviour that > broke RISC V to all other architectures? > > I mean this is how this reads, so I might be being ungenerous here :) but would > be good to clarify what the value-add is here. Yeah I did not do a good job of explaining this! Having this be the default behavior was broken, not that this feature in general was broken. > > I also wonder at use of a new MAP_ flag, they're a limited resource and we > should only ever add them if we _really_ need to. This seems a bit niche and > specific to be making such a big change for including touching a bunch of pretty > sensitive arch-specific code. > > We have the ability to change how mmap() functions through 'personalities' > though of course this would impact every mmap() call in the process. > > Overall I'm really not hugely convinced by this, it feels like userland > could find better ways of doing this (mostly you'd do a PROT_NONE mmap() to > reserve a domain and mprotect() it on allocation or mmap() over it). > > So I just struggle to see the purpose myself. BUT absolutely I may be > missing context/others may have a view on the value of this. So happy to > stand corrected. > > > > > I have only tested on riscv and x86. There is a tremendous amount of > > Yeah, OK this is crazy, you can't really submit something as non-RFC that > touches every single arch and not test it. > > I also feel like we need more justification than 'this is a neat thing that > we use in RISC V sometimes' conceptually for such a big change. I will send out a new version that does a much better job at explaining! This is not something that is done on riscv ever currently. This is something that is done on other architectures such as x86 and arm64. This flag is to make similar behavior (the ability to force mmap to return addresses that have a constrained address space) available to all architectures. > > Also your test program is currently completely broken afaict (have > commented on it directly). I also feel like your test program is a little > rudimentary, and should test some edge cases close to the limit etc. > > So I think this is a NACK until there is testing across the board and a little > more justification. > > Feel free to respin, but I think any future revisions should be RFC until > we're absolutely sure on testing/justification. > > I appreciate your efforts here so sorry to be negative, but just obviously > want to make sure this is functional and trades off added complexity for > value for the kernel and userland :) > Totally understand thank you! After reviewing comments I have realized that I made this much more complicated than it needs to be. This should be able to be done without changing any architecture specific code. That will mostly eliminate all of the complexity, but still has the downside of consuming a MAP_ flag. - Charlie > Thanks! > > > duplicated code in mmap so the implementations across architectures I > > believe should be mostly consistent. I added this feature to all > > architectures that implement either > > arch_get_mmap_end()/arch_get_mmap_base() or > > arch_get_unmapped_area_topdown()/arch_get_unmapped_area(). I also added > > it to the default behavior for arch_get_mmap_end()/arch_get_mmap_base(). > > > > Link: https://lore.kernel.org/lkml/20240826-riscv_mmap-v1-2-cd8962afe47f@rivosinc.com/T/ [1] > > > > To: Arnd Bergmann > > To: Paul Walmsley > > To: Palmer Dabbelt > > To: Albert Ou > > To: Catalin Marinas > > To: Will Deacon > > To: Michael Ellerman > > To: Nicholas Piggin > > To: Christophe Leroy > > To: Naveen N Rao > > To: Muchun Song > > To: Andrew Morton > > To: Liam R. Howlett > > To: Vlastimil Babka > > To: Lorenzo Stoakes > > To: Thomas Gleixner > > To: Ingo Molnar > > To: Borislav Petkov > > To: Dave Hansen > > To: x86@kernel.org > > To: H. Peter Anvin > > To: Huacai Chen > > To: WANG Xuerui > > To: Russell King > > To: Thomas Bogendoerfer > > To: James E.J. Bottomley > > To: Helge Deller > > To: Alexander Gordeev > > To: Gerald Schaefer > > To: Heiko Carstens > > To: Vasily Gorbik > > To: Christian Borntraeger > > To: Sven Schnelle > > To: Yoshinori Sato > > To: Rich Felker > > To: John Paul Adrian Glaubitz > > To: David S. Miller > > To: Andreas Larsson > > To: Shuah Khan > > To: Alexandre Ghiti > > Cc: linux-arch@vger.kernel.org > > Cc: linux-kernel@vger.kernel.org > > Cc: Palmer Dabbelt > > Cc: linux-riscv@lists.infradead.org > > Cc: linux-arm-kernel@lists.infradead.org > > Cc: linuxppc-dev@lists.ozlabs.org > > Cc: linux-mm@kvack.org > > Cc: loongarch@lists.linux.dev > > Cc: linux-mips@vger.kernel.org > > Cc: linux-parisc@vger.kernel.org > > Cc: linux-s390@vger.kernel.org > > Cc: linux-sh@vger.kernel.org > > Cc: sparclinux@vger.kernel.org > > Cc: linux-kselftest@vger.kernel.org > > Signed-off-by: Charlie Jenkins > > > > --- > > Charlie Jenkins (16): > > mm: Add MAP_BELOW_HINT > > riscv: mm: Do not restrict mmap address based on hint > > mm: Add flag and len param to arch_get_mmap_base() > > mm: Add generic MAP_BELOW_HINT > > riscv: mm: Support MAP_BELOW_HINT > > arm64: mm: Support MAP_BELOW_HINT > > powerpc: mm: Support MAP_BELOW_HINT > > x86: mm: Support MAP_BELOW_HINT > > loongarch: mm: Support MAP_BELOW_HINT > > arm: mm: Support MAP_BELOW_HINT > > mips: mm: Support MAP_BELOW_HINT > > parisc: mm: Support MAP_BELOW_HINT > > s390: mm: Support MAP_BELOW_HINT > > sh: mm: Support MAP_BELOW_HINT > > sparc: mm: Support MAP_BELOW_HINT > > selftests/mm: Create MAP_BELOW_HINT test > > > > arch/arm/mm/mmap.c | 10 ++++++++ > > arch/arm64/include/asm/processor.h | 34 ++++++++++++++++++++++---- > > arch/loongarch/mm/mmap.c | 11 +++++++++ > > arch/mips/mm/mmap.c | 9 +++++++ > > arch/parisc/include/uapi/asm/mman.h | 1 + > > arch/parisc/kernel/sys_parisc.c | 9 +++++++ > > arch/powerpc/include/asm/task_size_64.h | 36 +++++++++++++++++++++++----- > > arch/riscv/include/asm/processor.h | 32 ------------------------- > > arch/s390/mm/mmap.c | 10 ++++++++ > > arch/sh/mm/mmap.c | 10 ++++++++ > > arch/sparc/kernel/sys_sparc_64.c | 8 +++++++ > > arch/x86/kernel/sys_x86_64.c | 25 ++++++++++++++++--- > > fs/hugetlbfs/inode.c | 2 +- > > include/linux/sched/mm.h | 34 ++++++++++++++++++++++++-- > > include/uapi/asm-generic/mman-common.h | 1 + > > mm/mmap.c | 2 +- > > tools/arch/parisc/include/uapi/asm/mman.h | 1 + > > tools/include/uapi/asm-generic/mman-common.h | 1 + > > tools/testing/selftests/mm/Makefile | 1 + > > tools/testing/selftests/mm/map_below_hint.c | 29 ++++++++++++++++++++++ > > 20 files changed, 216 insertions(+), 50 deletions(-) > > --- > > base-commit: 5be63fc19fcaa4c236b307420483578a56986a37 > > change-id: 20240827-patches-below_hint_mmap-b13d79ae1c55 > > -- > > - Charlie > > > > > > _______________________________________________ > > linux-riscv mailing list > > linux-riscv@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-riscv