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 EEE23EDEC78 for ; Wed, 13 Sep 2023 15:38:55 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 899C26B01A3; Wed, 13 Sep 2023 11:38:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 822166B01A4; Wed, 13 Sep 2023 11:38:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6E9A26B01A5; Wed, 13 Sep 2023 11:38:55 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 573F06B01A3 for ; Wed, 13 Sep 2023 11:38:55 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 12C5C12032A for ; Wed, 13 Sep 2023 15:38:55 +0000 (UTC) X-FDA: 81231982230.26.F758925 Received: from mail-lj1-f179.google.com (mail-lj1-f179.google.com [209.85.208.179]) by imf10.hostedemail.com (Postfix) with ESMTP id 25369C0018 for ; Wed, 13 Sep 2023 15:38:52 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=U9JiQRXC; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of urezki@gmail.com designates 209.85.208.179 as permitted sender) smtp.mailfrom=urezki@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694619533; 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=GFpe8x5qo/g5j4s2/ldCOIs5ClZpZwe3ie5guHHQEOQ=; b=uLOvvZp1oDBgnE9PFm0/dV+YkjetADdhbwsLV6YD1u+M4Y1lib9uGV17ENp1AbJzVWBYM9 /BqOUdMBISocvHLO+6yodIQRdb1yNQOjZU7GNGv77yoyT7UJI+OgbClP6Wf9dhr18lv+at cJosxUDP+MTqWLMsnZ2Hqot1K2uT/pc= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=U9JiQRXC; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf10.hostedemail.com: domain of urezki@gmail.com designates 209.85.208.179 as permitted sender) smtp.mailfrom=urezki@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694619533; a=rsa-sha256; cv=none; b=qdHzvH8AZO6dQOWDwczUTE580xst7ShkknBBD/IvUmjLoMz1kN9xRcuQLA145QKhlcTdtT gz8j3PnF1jDZ9AZL+ESLCGsIXuDILZvvYYZUCT3ShYZpOKbnKW0WWXqAFyuptJwBbwY1/l QiIAQzt8k5mjBcukXYbfbYri+tDTLOo= Received: by mail-lj1-f179.google.com with SMTP id 38308e7fff4ca-2bf5bf33bcdso112970501fa.0 for ; Wed, 13 Sep 2023 08:38:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694619531; x=1695224331; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:from:to:cc:subject:date:message-id:reply-to; bh=GFpe8x5qo/g5j4s2/ldCOIs5ClZpZwe3ie5guHHQEOQ=; b=U9JiQRXCn5H0PQ0Un5S3yIy1HK2LtCIDK0opvYlMVcxj59Gk5F3q6QKUFn2qmo92T6 cTAMywopcpLRodBfqrGFQ3r3+qztNAEm1oNfWk7qqeAY23u6GYE2IDB5I6JkDMPb3/hC aCeuYKaRm/fotbghL1uGmdYH5B+M6SrVQxkBKHRFB3tX36PI2ZmFEkVEW0Xmwe1XVp3s sCzT0K1jjjLuIw2x32ekBY5ngxgYjpCV5uwEneWSMpXmhKwGBsDgnOTkUTz7yi42biw3 DCplDHUwsigwQbsBz9nkC2qulRRojGFCl41lSnuwGpBD6Zj6i3zBlvGQBoqzv7ns/HF3 nefg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694619531; x=1695224331; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:date:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=GFpe8x5qo/g5j4s2/ldCOIs5ClZpZwe3ie5guHHQEOQ=; b=qNeEjOtD6HJVRq1v6CCNt+AKzocTGyJsdgaSEiYl4YRpIQV6Ouyfed0yLGWMcndM9u 4a+zIVfjhDXUGA0QwSxdJ50u30hvD8AjUofZsVltXBhATCKS7T4IBms6mrpfTMz7+zA0 7lgjDIQRHoSxc0R+fwzCaFc7gd/WP/Rc7+tQjqQai8f776jDf4Z+IEkeaW02JAufvlJT 48DKfd8yW+ey1MSq4SkaPMQnK+qVllHpyj8cVwBFh5Iba1i8OSELkhcGTiYvKVfEQFjU uOortRvQAsPEH/++9NRWUdCsAbmMgt5yfRaoVWGGlJpgQepTt2hmqmoIxnUA7XYEEthN yX3A== X-Gm-Message-State: AOJu0YzCTe/nUnV36e+ARwIWYoENyx/TJmVTJBTQ2k74DhDYuH0drPbx /UZVXzGi8KpAa1Vv+ZkVPtg= X-Google-Smtp-Source: AGHT+IHh4Xjck4Cj5JBjtVgxQDZ/oh8VR3i7Oss7PxQ87xkSrwAos7R7oxCXtYc+QMOGlcpWKv0evg== X-Received: by 2002:ac2:51bc:0:b0:4ff:a8c6:d1aa with SMTP id f28-20020ac251bc000000b004ffa8c6d1aamr2107222lfk.48.1694619530936; Wed, 13 Sep 2023 08:38:50 -0700 (PDT) Received: from pc636 (host-90-235-20-237.mobileonline.telia.com. [90.235.20.237]) by smtp.gmail.com with ESMTPSA id x13-20020ac25dcd000000b004fbddb14020sm2182107lfq.56.2023.09.13.08.38.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Sep 2023 08:38:50 -0700 (PDT) From: Uladzislau Rezki X-Google-Original-From: Uladzislau Rezki Date: Wed, 13 Sep 2023 17:38:48 +0200 To: Baoquan He Cc: Uladzislau Rezki , linux-mm@kvack.org, Andrew Morton , LKML , Lorenzo Stoakes , Christoph Hellwig , Matthew Wilcox , "Liam R . Howlett" , Dave Chinner , "Paul E . McKenney" , Joel Fernandes , Oleksiy Avramchenko Subject: Re: [PATCH v2 7/9] mm: vmalloc: Support multiple nodes in vread_iter Message-ID: References: <20230829081142.3619-1-urezki@gmail.com> <20230829081142.3619-8-urezki@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: 25369C0018 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: ky6cjrwx5jk7g6xycogm61s3b99qf1f8 X-HE-Tag: 1694619532-408476 X-HE-Meta: U2FsdGVkX183ZHwDWQAdrmtyGaJVGO7SVOX1WSRmoYVkKy5F8HnGt6Thn0V++oKjrjRDiit2HXt1J6x/g1+Jt5fXy12cwWplMFhPdTJ8nlmuWx6d2Ha+L4JL2Lcn2gRnO769bKMBEJdolpxZqvHH0wCky3Cm0x9oHfuq01Qtc5rqsW4Z29dQo4MHvmE76IcAWKjUkkyxpjF94DjbVw9MA2rg6oEKbOjlbQsu9dXzSAzd7ikcAQHkm2oG1cKRecH2ZgWJXIMCMJVJdOlIGxc2K4EWh88dUHSW4cPSRiTUtxJJaPUPYNv4+Lq7CloiMCsHSruRWYEQ4GAaR46MwSPoPczF+qsoxeMmeZ6s1J+MYhq0fSibwZkhCqllS51AGsN2GH4ae/nETRdwR30vsjpMfAVUcxBtfgR99gOErJYMBl83c7fi9opZ5QkcVMxqXSKMLOmzsa2xclRjLddGNpFdgSlr2Iqk7wVAzaUdfUwJyLvyit+Cbtu3oZeJLNzSu5+ZRVl15ht1aa21iXRUL0oF2eLu66o5su3jjHc4RHaK0f+2fE8LGdSGpkyl5dqK5aGOfGQb8tAgxMqlyL4w5xHTqPHRM1OzqfUGjjINO6KxbyWmIfuUrCYLHyo8MmP2IhUIguBsF3hx5gCrPU9r2ltOmX+9R/ffJsfknFJQeRMfzwM4fj1mcN83bWxpqoiBbZ5dd3u+yBe+QV7bMA7yMW9JlpkUB2Vt77Ay06vhe/C7WT09oZvTegvOd0EPDLyyuVksV/R/K7aiAmYjIc8rGYngc/RlDPpwroU51jmV9h0bYrQap4AUIQJqicGZ2scT3kgOgr0AeGQM5py+YxZRAWvjOu2s4wlbVuHtXCKmhMb6dE0Vjdic3R0ddnFuTJvtDk0dJsYB6+bqj8OD79l1/Quj9dqhHJtuNsS9jD18KJ5nI2qS6VXMw3VkYudP3g5GeJElYvX/xcYLalpIxlsht57 nIDvnhk8 W6bpMfcIsuWozlpyzWy54LBod24bDHESGc8HAPfAdAigQdpEQzQ2OP05LwlpDcFI7dv6WmCslTSzWaFblppKUQqVv2K5oSMmBqy9WGYgHLkFvPxtxb3KfO4npI9yTfbW/4W6DSIJUV5NVL9fljtCwUZced9IsZAtrENWqjSx8eTXGC5c8PgnIA6eqBIChKVDT3IkrW0Pc6A4ObTrBTqaNDrl+z9835fjt1h02lxR2cnsoiJrP9Mydfk2uHeJ1f9Yo9JVM7YLSgW5q/8FtZRFCYccRoCg7W6qWp83FIkoD5JOMV3rlHHdQmMeleWu6Q5IegNUpNeQIzcFm/PCJOpc1E58pY5RFpHg+V4CSNr2Dujtts6ruXQ0haPpeuB5XXVQaNiuaB1HPxZy8L4ds0PFH6mAw4zNnpQzyFfUL1GankYjsDabsNeOWiXdPtBcMDLyoZkUInXbXKKy09M58AegpuoXYTGCmG27pd+beXlVTciAWSuqS8F1pKQ4xXHqQrCoXiUNr 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: On Wed, Sep 13, 2023 at 06:59:42PM +0800, Baoquan He wrote: > On 09/11/23 at 08:16pm, Uladzislau Rezki wrote: > > On Mon, Sep 11, 2023 at 11:58:13AM +0800, Baoquan He wrote: > > > On 08/29/23 at 10:11am, Uladzislau Rezki (Sony) wrote: > > > > Extend the vread_iter() to be able to perform a sequential > > > > reading of VAs which are spread among multiple nodes. So a > > > > data read over the /dev/kmem correctly reflects a vmalloc > > > > memory layout. > > > > > > > > Signed-off-by: Uladzislau Rezki (Sony) > > > > --- > > > > mm/vmalloc.c | 67 +++++++++++++++++++++++++++++++++++++++++----------- > > > > 1 file changed, 53 insertions(+), 14 deletions(-) > > > > > > > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > > > > index 4fd4915c532d..968144c16237 100644 > > > > --- a/mm/vmalloc.c > > > > +++ b/mm/vmalloc.c > > > ...... > > > > @@ -4057,19 +4093,15 @@ long vread_iter(struct iov_iter *iter, const char *addr, size_t count) > > > > > > > > remains = count; > > > > > > > > - /* Hooked to node_0 so far. */ > > > > - vn = addr_to_node(0); > > > > - spin_lock(&vn->busy.lock); > > > > > > This could change the vread behaviour a little bit. Before, once we take > > > vmap_area_lock, the vread will read out the content of snapshot at the > > > moment. Now, reading out in one node's tree won't disrupt other nodes' > > > tree accessing. Not sure if this matters when people need access > > > /proc/kcore, e.g dynamic debugging. > > > > > With one big tree you anyway drop the lock after one cycle of reading. > > As far as i see, kcore.c's read granularity is a PAGE_SIZE. > > You are right, kcore.c's reading granularity is truly PAGE_SIZE. > I don't know procfs well, still need to study the code. Then it doesn't > matter much with the multiple nodes in vread_iter(). Sorry for the noise. > > static ssize_t read_kcore_iter(struct kiocb *iocb, struct iov_iter *iter) > { > ...... > start = kc_offset_to_vaddr(*fpos - data_offset); > if ((tsz = (PAGE_SIZE - (start & ~PAGE_MASK))) > buflen) > tsz = buflen; > > m = NULL; > while (buflen) { > } > ... > } > Good. Then we are on the same page :) Thank you! -- Uladzislau Rezki