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 C181BC4828D for ; Wed, 7 Feb 2024 21:12:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 556AC6B0093; Wed, 7 Feb 2024 16:12:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 506BB6B0095; Wed, 7 Feb 2024 16:12:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3CEE66B0096; Wed, 7 Feb 2024 16:12:04 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 2ECBB6B0093 for ; Wed, 7 Feb 2024 16:12:04 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id E577CC0CD1 for ; Wed, 7 Feb 2024 21:12:03 +0000 (UTC) X-FDA: 81766255326.15.DC5EFCD Received: from mail-yb1-f179.google.com (mail-yb1-f179.google.com [209.85.219.179]) by imf05.hostedemail.com (Postfix) with ESMTP id E38F9100014 for ; Wed, 7 Feb 2024 21:12:01 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=UjZT5376; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf05.hostedemail.com: domain of brho@google.com designates 209.85.219.179 as permitted sender) smtp.mailfrom=brho@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707340321; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=mqMpxCMRy5Coq5eE/aEefJ3saG5Z7PDxj7OPSM7FPn4=; b=Tn3lH5kKp2w067K3CtAeprdzMMc96m2xZz11YwvP25vQqRdCtXwVRkA4WY2m3qe7YT3O47 IHF3wKiyMT9KfjdBOnfEj2tVNtnD7q0zA/CIO6qg6hpVKMTsgwEo+K/k8XiQbuAdmc6bkI bUXoVAczAO6t1ExFKFxUQAeYysYrTw4= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=UjZT5376; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf05.hostedemail.com: domain of brho@google.com designates 209.85.219.179 as permitted sender) smtp.mailfrom=brho@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707340321; a=rsa-sha256; cv=none; b=EG7mIv/+eGac3b+C1hvmFwckuCv4YjwgN5g6rV4o4YE5uQCmCGoLd0r0PMpWxsr77QAZGy kXeyyw3HMu7A6cENIbR4gxddBFQL8AweTjcRzEcKGbJ8zbD44gmrBOtneBqziIoRqrdqbj +7Dy3NMZfSYKh4yIgt3dUq0Tpr8UnWU= Received: by mail-yb1-f179.google.com with SMTP id 3f1490d57ef6-dc6d9a8815fso1138524276.3 for ; Wed, 07 Feb 2024 13:12:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1707340321; x=1707945121; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=mqMpxCMRy5Coq5eE/aEefJ3saG5Z7PDxj7OPSM7FPn4=; b=UjZT5376u1Ma2R0HPGj+wmf1w/OkSi00uB5hW229OPuxm96mzpkoGvsC/xmtJEqUBp oYUP3pAoFe8eqhvOqXLhYRBgevotUBq4LbrEqWDP9y0UC8OLgM7YZmAvgAsPk64woIk0 NriMZSiKXeUpLo6jKJj6vNG4VqOAuavi49AVSbSKvoZ89LSV/hXK0U3E1hJj4qb3S9bE qUKvvWhZbZOs/TVfvMdkrSuijZDa5VaaeEjLLN0xz2ZCbOPqK9wVAMPh1YHCSkqmGYk4 vKBcKbhZ6G1SL4bRo/eS8FKGvjR/ZaafLVBTyEsxgd/fvQV1Igq5HvVj3MZz2IWuZPdR 4vYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707340321; x=1707945121; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=mqMpxCMRy5Coq5eE/aEefJ3saG5Z7PDxj7OPSM7FPn4=; b=Lj3sIh7rR55Xf4QHiKu7au2ByOQ+05WH26B5lZ4CtUohKOaHbytb13tkraVq+MAByz RFkA8wQJcD1LgQIXoHS2OZKj4ZP1koC3ojr1f5ibRqG4YZq/Lx9XkEsDu190RkHbaNwR ulJDDv/e8aDnRetg2lzcs1zGegE7T+74Z/4/rDhu8D0Yb88leTdjqO1aTahoVIyizwOU 6FLuUv0T1RZxBlfmqKGxNFwtxmeueiZ1U0qdsgyPWYAs4cKxtSD3+1bUsgVrmHj+fYqt pR2d4XCRs2IlJshn5IEgDpMTgEeZRc4ns56k4LBRqHYp4iIMudu4c1j2LrZwi6XoeFrT t0+Q== X-Forwarded-Encrypted: i=1; AJvYcCXsE5fzCkSu6YzgfSlH2LaWfwa/UJ4MMsPbo1r4mrHXsx0k1YSgTSN30xlNCQcDi/5DnjD8ZLqJ75swFqiFRW6fdM8= X-Gm-Message-State: AOJu0YyE9obH5fcDJcoldbTNeis/rCkoy8qU5purmCvbULP2XgFV/ijJ FlLLFxWaJ8+e/RkrWazFqrkjAHtziHI4wzMAqIRh+io8zOvIz094E9e0lkNh/A== X-Google-Smtp-Source: AGHT+IFHY/L7LajnQyl3FmFVsREkfgRxgvspXpqp/807bBbw3d3WtoWLRLwpwW/9yrU7FYXDdGymOw== X-Received: by 2002:a5b:4a:0:b0:dbe:eae4:286a with SMTP id e10-20020a5b004a000000b00dbeeae4286amr6099231ybp.51.1707340320837; Wed, 07 Feb 2024 13:12:00 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCVHgOEgFuAdxA/av1FTy2dtDGmfnGlLZyrNmxVqzcaseswC3SwSVHlHJFDEN2uCi6q2r8Z+9SMNBblEdc5oOJvPmkV60H9QHga0YC84/nUa4facl+BddF6oqldqvJdCCQhVTmXmzP7R6xXgFmTDWM/pF/o5QeDw98V5H/zwiSRPvhh+zRPMPil3PDMCk2f4WU4zXi3hL2NOn9i2g7PwHz6K4LDou6Hnxaxe2DqJxw6/lByqBF+Sd/OAv630gm0PPKi918noO69R9elHwf4CQKcWwiQYJZQWZJAI4bBTs6s= Received: from [192.168.1.8] (c-73-238-17-243.hsd1.ma.comcast.net. [73.238.17.243]) by smtp.gmail.com with ESMTPSA id u21-20020a05620a455500b00783e1590ebasm849136qkp.82.2024.02.07.13.11.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 07 Feb 2024 13:12:00 -0800 (PST) Message-ID: Date: Wed, 7 Feb 2024 16:11:58 -0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH bpf-next 04/16] bpf: Introduce bpf_arena. Content-Language: en-US To: Alexei Starovoitov Cc: bpf , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Kumar Kartikeya Dwivedi , Eddy Z , Tejun Heo , Johannes Weiner , linux-mm , Kernel Team References: <20240206220441.38311-1-alexei.starovoitov@gmail.com> <20240206220441.38311-5-alexei.starovoitov@gmail.com> From: Barret Rhoden In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: E38F9100014 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: rkhzq7g6f6mme6zhttoimykhoaj8ja7r X-HE-Tag: 1707340321-285903 X-HE-Meta: U2FsdGVkX1/YQi3KWuGdivHVUvut9/sgzV1CZttSw6lfZTfwfXc24NNhIzoJ+s3XkxmXMnC/Q8rV2afhIOykbpcGBhWx/ltAuxRkkRub2llRrSAdPhHmOLan6gTk890RdZPE4B5FYTH7PuLpkAIHA/lqW9C1Ia/KIiadS0nhppPx3PXy8tRPoxtwh/NRgHwCxKQi7B6Ds9qrhUcu9Sk8GdGL3OxlmOjE2b0+ON3zJQlSQg3IUQRMYHYtdphM5diYHd9ybnuuhlO71pmw0mNx683U6ziKqs4YMqiH5LwlSh0w5Cka/Ng+vQbEQjkdlSO8Tdjy2qyTTUxyCCGq7xkYmmDH+DoFUlJr3SRkieb1CCJZOAJ5Wreg0VzpBGNc8ojFU1Ox4fqE3HOHsXsngi6yl4pEi7NaPLjtpr4BYHruJxz+x0AYQPHoAY8XACtwzABBSvyOSG6iPW+Qtwvrthid1fHGInVYEvh+GGpQtuvmw0W9q2gVltjUAiv8zvRixnQQvjDdZuuiFIPL+lyJ8CmbUvLpa/LHO3wmN6RkJOsVbFFKBQXh7f/er6W7Z2Re3ylU6rsX7GBrRuzvDiwUwQFOlPiJikUkLS5ujb76D9S9LY1ugrMySqYF/J+kXTVnaod1TdMQme6LPIwf+muXVtTj9agnV97/ijuAAqu7RgJzbY2oe5yUytPzhQN6VGjlJdht0UHv91IpraH6PziYEC5QEf18nqzE8CQ95ZAPEllXoq28ZXq2fvmHvf6e3Xcc9WB1kWLQ6gzxIX3Q5L7vv5/05vNHV6gvxCzAJgcgc/OqoOnRrzG0ewtLcER3E2yx6iQc4CKSHrgk8WJ0fh2SjPLy6C8YZ0s6E8gENi2VLosbAsCO0/nl2kDHVmTsAhx5FaiVi0QBhyVz0qSSnl0fePhm2XSnaKPMMhIXqHvT8oxrGVRGPMvPsvuf8Adei+TRfsgKmFSwtTVw0Jp9gr4kG1Q 9odo8BRH xCQQfypvZ9RpL8g5FRkk+IFxi9+1WjiDz1RR56sK4EYP6nw8EtuSXqKURBUw92ywGAM7QkAIJ+gGQF7jAj4YmzSWFdXsenHg93wijQzvTjItvRm1RGSdm277VtourDqtC2CNEepJKjYberw/SfJuGZPahL6lAc+NIObbAeRHXO15YsQU0p2nLlkruVlJXjp4tSQDiBg8kxT6oP0AvDPrciJFlUkbU8i2LX7SYlKYC5xc/Nb2g2W7bd2jouNmkYbyFFeOXySM+GZxAJ0BwJROX4bPj8AIhFDlHt22WV5c3QEGgbDZr/dAfBC3Zn+FkfwiH3uWPsrAqBFNvTwWGYz7xoC+FpVfTtNgP4oy39loueRbIHbh0SQ0RzEeP2t9eZ2qfQI4XYYliMMYosiIp+grn6oEj10bhODMOYP6MV9P+xpOynqThIt80959Qmvu2ae4xC6UD34GzMJs86GFW6l7MLyZHIA2Jc0oVwlVMGpBcHQVOmLm07JxuwIVBLOTG5EZWM1/QPAqrTqLBenw= 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 2/7/24 15:55, Alexei Starovoitov wrote: >> instead of uaddr, can you change this to take an address relative to the >> arena ("arena virtual address"?)? the caller of this is in BPF, and >> they don't easily know the user virtual address. maybe even just pgoff >> directly. > I thought about it, but it doesn't quite make sense. > bpf prog only sees user addresses. > All load/store returns them. If it bpf_printk-s an address it will be > user address. > bpf_arena_alloc_pages() also returns a user address. Yeah, makes sense to keep them all in the same address space. > > Kernel addresses are not seen by bpf prog at all. > kern_vm_base is completely hidden. > Only at JIT time, it's added to pointers. > So passing uaddr to arena_alloc_pages() matches mmap style. > > uaddr = bpf_arena_alloc_pages(... uaddr ...) > uaddr = mmap(uaddr, ...MAP_FIXED) > > Passing pgoff would be weird. > Also note that there is no extra flag for bpf_arena_alloc_pages(). > uaddr == full 64-bit of zeros is not a valid addr to use. The problem I had with uaddr was that when I'm writing a BPF program, I don't know which address to use for a given page, e.g. the beginning of the arena. I needed some way to tell me the user address "base" of the arena. Though now that I can specify the user_vm_start through the map_extra, I think I'm ok. Specifically, say I want to break up my arena into two, 2GB chunks, one for each numa node, and I want to bump-allocate from each chunk. When I want to allocate the first page from either segment, I'll need to know what user address is offset 0 or offset 2GB. Since I know the user_start_vm at compile time, I can just hardcode that to convert from "arena address" (e.g. pgoff) to the user address space. thanks, barret