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 263A3C46CD2 for ; Tue, 23 Jan 2024 03:41:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9512C6B007B; Mon, 22 Jan 2024 22:41:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 901196B007E; Mon, 22 Jan 2024 22:41:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7C85F6B0080; Mon, 22 Jan 2024 22:41:31 -0500 (EST) 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 6DF0B6B007B for ; Mon, 22 Jan 2024 22:41:31 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 43D0D1C12DB for ; Tue, 23 Jan 2024 03:41:31 +0000 (UTC) X-FDA: 81709175982.05.98A67F1 Received: from out-187.mta1.migadu.com (out-187.mta1.migadu.com [95.215.58.187]) by imf07.hostedemail.com (Postfix) with ESMTP id 73AC040010 for ; Tue, 23 Jan 2024 03:41:29 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=e4MVPVKA; spf=pass (imf07.hostedemail.com: domain of yajun.deng@linux.dev designates 95.215.58.187 as permitted sender) smtp.mailfrom=yajun.deng@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705981289; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Yt3AR0W7SP2tLShyq/3MhllgHeKq9WrP4nJ6WWve3yg=; b=fMsCddBRFm90osqSMV+RA9SNijR4FCZpXroUKXazHyFRgGfrj4137DTx+/SK8/gSNWIrLm 0uuulO0OdhiZEChMmYjU2RDpE3a3d9k9Gtt6/CXOiN+kZ9IPrQEYGnTiHGcBM2WCa7vEof hLRwke9Fhnh52ymDiz0eoMFQwxUyJ10= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1705981289; a=rsa-sha256; cv=none; b=e8Ce/eltoXgZspoUZbFK4kS32oIGLLhXdusIbbt0PLwMPdshmgC4xGCcRYMK0F77arC5bF cEdOOL/yFAyX6EDZlryzCc56ICQ6Yv468T0jPDT55yEah6onONR0pE04EK7afMBOCgFjH/ tEOlfsuHedyu9rm2+1Q5236ViyRMh34= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=e4MVPVKA; spf=pass (imf07.hostedemail.com: domain of yajun.deng@linux.dev designates 95.215.58.187 as permitted sender) smtp.mailfrom=yajun.deng@linux.dev; dmarc=pass (policy=none) header.from=linux.dev Message-ID: <11da8b32-9946-9f7c-95fe-f6254b4f6e99@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1705981287; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Yt3AR0W7SP2tLShyq/3MhllgHeKq9WrP4nJ6WWve3yg=; b=e4MVPVKA49CpZDs0C9I8EVqSiZTtfNWwjMCyOE54+2oirnjVE8J0e0vX3mo6iDnZS9Uhik 0XYRyGma4KiRE+Si6AaTpFK3viNajkr9Hmk5WmlIpFSYVvGbFcmrnKmc55cr1IVdfDwTUz R0A2LC1vw4WJwn8P/KEQvqiD9k9+4/o= Date: Tue, 23 Jan 2024 11:41:21 +0800 MIME-Version: 1.0 Subject: Re: [PATCH] mm/mmap: introduce vma_range_init() Content-Language: en-US To: "Liam R. Howlett" , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20240111021526.3461825-1-yajun.deng@linux.dev> <20240122220031.pwiravglee7o7k34@revolver> <20240122154031.b710f834b14d9027176f439a@linux-foundation.org> <20240123001830.glqdmrv2qc56zfpc@revolver> <2a1d6a9b-f486-44c8-6d1d-e6bab4dc3ced@linux.dev> <20240123031906.pwbjuzdpl6hqiptj@revolver> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Yajun Deng In-Reply-To: <20240123031906.pwbjuzdpl6hqiptj@revolver> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 73AC040010 X-Rspam-User: X-Stat-Signature: hdq64e6wqranbgdkzmuuin9kcsg7o3y9 X-Rspamd-Server: rspam03 X-HE-Tag: 1705981289-147996 X-HE-Meta: U2FsdGVkX19ZO0OcQvewdvL0Aovs0zObeTJmcbb6UN6gQHEpqc/MesokSk8RnSnq4v/z2uWKb5Vv4kBUe7JAHgcNKc0dtrWWWVDCw/ZG39SYTB79jN1j5+MthMrwRIlfLQiYe2Ne1ezs3XXRkhhFxeVWYUvUsrHYvKQHv2eYYZ35x1CNk5sQIW43O7+B//PbejHgbdQWTjEp0iLpcZVuKT9z7f7SXHfDQWp1TyGmAO+6V+l3cNftd6TXxBpk+0Q5duDrH+SHRJ6fvwkJQZz1kZpWRtxnPFe8/dcWnpPNRDroyaJ1LC4ZimcyLUVSRnOkOiJnZLwhG0Ljlln4rqIbtmdeJ4jGSNe1JRZe/zHWmtd6eoRHYNIU9NxW9VRiGWN8MMdPUlxNLauNBZiO+zerTtWcpUd+/Xi+YVCFyhzKkNofgjrQWsEMRFfutoKCEBKgyQL7g1dNwrlwmKWwNCsOSotMPnzKx4cbucZdLPWtfkSqWC4/WGcVfG2blarfqDWFgpYr4CrhAs/52FkmvBRKylW617W4BneX7faMSNea6iWLBWiei1XQjY4kQAcFPjK0yBSTUZ4mn12lmXyNSLsTlxNw6S3Elo1kIufadTNI95QLqJpFQf9NXx2rGXPsXIVrub33LxamzxzNIA1kM4Oj2/HOSL7zEu9/YSxSTyPnvdtIjiAjRB0IkxhBLaVzM10qGIlDQTGNe0UDSWx85qhu8hK9SsYrZTKWWfr2SoxASXn3CGG65E4vgtZshNZ/jd4P6QR1UdiAliU+IzBzWjknxTIr+2Qiyg6MJRsm7qdEmldHcGvOaSMum6HJCi/zULGuMfaGMTzS/IKKjGAqM9cI+ii9IGXfb7EW7wPazCVlNG2EmfqwUNzGXFZiyqRR8DJ/NtdfNC86s1kooWIEjXR+TukcMe5oinlGNtF238DzlDeViHy433A2B+UkgkkuYsc9MnRLFnHk2YUIyGYXtBu jG8B9xTm /tcFDdejT8gfPBBmXH+/KYkf2l5c9aNLHtKutCj2PCuosaHdCdmuwILto0V0vsJ7Em9HiO47vn8Aerm2oYvSh22ye+q2IkGgaBn5ekUFfKGqZkuUonQxnRAiij/fPXajVE/ZkfsfkWijAyB5YFICuPGW+ULoG9OckeXwIURo81FAD2CtUXe+K93pYBF/+F9UHJvE7ybUX0uYOsQkcztveUlr4pw== 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 2024/1/23 11:19, Liam R. Howlett wrote: > * Yajun Deng [240122 21:23]: >> On 2024/1/23 08:18, Liam R. Howlett wrote: >>> * Andrew Morton [240122 18:40]: >>>> On Mon, 22 Jan 2024 17:00:31 -0500 "Liam R. Howlett" wrote: >>>> >>>>> * Yajun Deng [240110 21:15]: >>>>>> There is a lot of code needs to set the range of vma, introduce >>>>>> vma_range_init() to initialize the range of vma. >>>>>> >>>>>> Signed-off-by: Yajun Deng >>>>>> --- >>>>>> include/linux/mm.h | 9 +++++++++ >>>>>> mm/mmap.c | 29 +++++++---------------------- >>>>>> 2 files changed, 16 insertions(+), 22 deletions(-) >>>>> This isn't a whole lot of code, are there others? We're losing code >>>>> clarity in favour of saving 6 lines? >>>>> >>>> Oh. I thought it was a nice cleanup which made things more clear. >>> I'm not totally against it; that's why I suggested the changes below. I >>> think a name change would go a long way for clarity. It's not as much as >>> I though it would be though. >>> >>>>>> diff --git a/include/linux/mm.h b/include/linux/mm.h >>>>>> index f5a97dec5169..abb4534be3cc 100644 >>>>>> --- a/include/linux/mm.h >>>>>> +++ b/include/linux/mm.h >>>>>> @@ -3516,6 +3516,15 @@ static inline bool range_in_vma(struct vm_area_struct *vma, >>>>>> return (vma && vma->vm_start <= start && end <= vma->vm_end); >>>>>> } >>>>>> +static inline void vma_range_init(struct vm_area_struct *vma, >>>>> Any reason this can't be in mm/internal.h ? >>>> That would be good. >>> One other thing, do we trust this to be inlined correctly by the >>> compiler or should this be __always_inline? I'd expect it to be okay as >>> it is, but I've been proven wrong in a perf trace before.. >>> >> Okay, I would take __always_inline and put it in mm/internal.h in v2. > I'm not confident in this suggestion as the rest. > Please rename the function when you move it. inline is a suggestion, __always_inline is mandatory. I think __always_inline is better if we're demanding. >>>>> vma_range_set(), vma_set_range(), or just vma_range() might be a better >>>>> name? My thinking is that some of these are actually modifying the vma >>>>> and not just initializing it, right? >>>> I'd vote for vma_set_range(). > ^ This part, use vma_set_range() please. Okay. By the way, I sent another patch with ("mm/mmap: simplify vma_merge()") subject a few days ago. Please comment if you would like. >>> Using vma_set_range() leaves vma_range() or vma_size(), which could be >>> added for the calculations of vma->vm_end - vma->vm_start. Davidlohr >>> suggested such a beast a few years ago, but that one would need to live >>> in the include/linux/mm.h as it occurs a lot more. >>> >>> $ git grep "vma->vm_end - vma->vm_start" | wc -l >>> 198 >>> >>> .. for just those named vma. >>>