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 7D826C3DA70 for ; Thu, 25 Jul 2024 22:43:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BCB776B0085; Thu, 25 Jul 2024 18:43:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B53B36B0098; Thu, 25 Jul 2024 18:43:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9FD126B0096; Thu, 25 Jul 2024 18:43:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 7EFD06B0082 for ; Thu, 25 Jul 2024 18:43:18 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 16986141456 for ; Thu, 25 Jul 2024 22:43:18 +0000 (UTC) X-FDA: 82379752476.14.C319697 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) by imf30.hostedemail.com (Postfix) with ESMTP id 5C0418001C for ; Thu, 25 Jul 2024 22:43:15 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=geDu6AKH; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf30.hostedemail.com: domain of ak@linux.intel.com has no SPF policy when checking 192.198.163.10) smtp.mailfrom=ak@linux.intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1721947340; 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=Fo9VDPLyvfYIn1CzOMPqFwVNVY9apwJp9EPxJGmlp2o=; b=Zn3TZcX5kcDjFxbA2ohsXLiTPwE3S72kn9BPS/hvVJT1aew2gYlYCO98LwqsDQABSc6hGl voDFKO95bQdVnr0qIsfyvZF7pxvtjrwYoVfWSLZPwAN/bnkEPNraxa2GmOTtYUkBwXw+/N TghPArdbFicQ1sAio0yz/COa0pUWBUA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1721947340; a=rsa-sha256; cv=none; b=FylilGQDUP0uzVCpqSIZ2jg7Pg90UwyzXwPk1KQVCDkv1RPDG1hjqNLpTbukPjB0KxExaf RInmTB8LAiLT6B2weNKgGxUc6eNRbx/8gXlIktDgoh8SC26jYZqBDvxhUO8mWg1ybfYvpf FnHR9GpfS1wxKITDO3fLPW7kOHrhgVc= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=geDu6AKH; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf30.hostedemail.com: domain of ak@linux.intel.com has no SPF policy when checking 192.198.163.10) smtp.mailfrom=ak@linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1721947396; x=1753483396; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=fxEmtupN73ljK7NbDXEwECcOcGADObTT4VYyBy+VBeo=; b=geDu6AKHQLu/Fm0F3VPRMrfjQEQMeFxl8iY7S4jzEjg0rXvsd+jvKhFj JlE7MORbzrhxioQK6FqFmelKuWkyy5l5cScrZPR2SFdMN/dE7HiEtHc+n 1no1CqWgnx/UCSLAQcU/8DEYSticJ+1F4Oh28pNBfDMTbSnpSwZZD2/WA 5dUkrclEy08vSUCC37DmIvPiDyqi+8RdfjrGo8TF8NP4rykekqKSdC8bd VINLMdkJIDcjA/ItxzIYZspJ/pj61Lt7cSL/niScNsh9zCT9L/gzWqZZb 5jgw1KMC8L7BKVx//TRVzKdPaysWg+gChgKhoxUl9jmb7Dtbz/8+RtjA6 Q==; X-CSE-ConnectionGUID: Ot6ibovQQBmmezjBz9hLvg== X-CSE-MsgGUID: B+zCFDzzTRWpqK6sD6s0Cw== X-IronPort-AV: E=McAfee;i="6700,10204,11144"; a="31134187" X-IronPort-AV: E=Sophos;i="6.09,237,1716274800"; d="scan'208";a="31134187" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jul 2024 15:43:13 -0700 X-CSE-ConnectionGUID: 4KIUQDxySj+v2EgM4YxDSw== X-CSE-MsgGUID: PdPwTGDQRQ+qgy4vNQQsXg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,237,1716274800"; d="scan'208";a="53145866" Received: from tassilo.jf.intel.com (HELO tassilo) ([10.54.38.190]) by fmviesa010-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jul 2024 15:43:13 -0700 Date: Thu, 25 Jul 2024 15:43:11 -0700 From: Andi Kleen To: Andrii Nakryiko Cc: bpf@vger.kernel.org, linux-mm@kvack.org, akpm@linux-foundation.org, adobriyan@gmail.com, shakeel.butt@linux.dev, hannes@cmpxchg.org, osandov@osandov.com, song@kernel.org Subject: Re: [PATCH v2 bpf-next 01/10] lib/buildid: add single page-based file reader abstraction Message-ID: References: <20240724225210.545423-1-andrii@kernel.org> <20240724225210.545423-2-andrii@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240724225210.545423-2-andrii@kernel.org> X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 5C0418001C X-Stat-Signature: ho9wo7gtr9jb4fr71kkqhpxgdoqhur3s X-Rspam-User: X-HE-Tag: 1721947395-625096 X-HE-Meta: U2FsdGVkX1+r5rYVUiXZ0+nGogfSJ3TukLCwOBnz21azO74ot2EwZarD0fa5oUvXZUIDY1N9goW1/Lira+SUako7htmEsu2ayoHde9ICcex8UV9Fko8Od6hgD9aUq0KJcuk3lRCQX9xl6Y6HmLoq7oqNYkrXd+V5jwYynzIx+zGzG8QlKRHET2qKitCbLyTXu4jrvqVH9R0bL5aniJE2seIbLJvQwyfrRLZ5lre9dmYPhfaoVNI6Hb+JazcekrxskBmA4lmMVaYL3+iaFUpOvifiX46m5Bss6lk4lxtBsgPO3irbWEdpo+wxrNS+f8NJf5UiPGjptKypG9au9449ROUMYFZu4SmnH7hAZmtEmqf5T0iT6YzaTDC54oF6w7VsXFfBiWUujatNNnocLrWD9W1oF2B27raLTqEUysNlP2Tgb02LtZaDdOcXiXSKBrZ8lwvFUAcdLsBwGvkuKQLz82QOH3lMqvzUL71kn9cnhvPTE9Sm4uGw2edfq3gYNEorCLpFK513X7ATeHPVe3F5yHUZFwzv6Bfm/UuumgAXOkRg/rWNQIXhqldbKHcI+cUcsOCgjlBQVCky0Bv9tX4OE3qZdp3J6+GgMT9FKhfVmkhekw+Y9W7nwfYONx4fhIO5c5sLY8o6bzKrrvDzh6ty6sbCGdw286J/DnMcHc0uD/NrFpThYqFmGvcHqLNPi/Vg3ky4uwTdQg97el+a7Dfy7/hB51uBxNzgmzOgEDaVvBV/WVkUaqJPh6kQy+ZRI31bD2G0qCMKnJIwdgyExfsngXdPIZHJiqoSc+6UkCjrZGYJi7cWDSK8eW/ocmnl6APm2Bucm8iQmSwPPPyxUuBydQ+HXsXoLZbr1mw/DR1QkoBjqqamHKzxbUO/4SU9t/VPIhcBwLySqh6sicvinG5e3OmAXMAZb/gbBaVtVAotwnYVCwgxLGFOUxZ7EG0kpC1yN0lBRl6BK0oGOgSAu0p b4QGhagy IuNIwTlht8/TzY3PE8QuOAO0FwCYJFE+tjm4yDE63TvPikXEvyTtba8X/3ydQ6jKd74qoY+pX21O9LQWRns2EJwXiOApruVAQNCKBQqVp0b+N/0yyiHpeiIK79cejKwfc3bFIDQKlhaFDXYiNkVRzwpMz+DgyF/df5NU+hwrVovl/9YLWQl9Bj+djVA== 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: > +static int freader_get_page(struct freader *r, u64 file_off) > +{ > + pgoff_t pg_off = file_off >> PAGE_SHIFT; > + > + freader_put_page(r); > + > + r->page = find_get_page(r->mapping, pg_off); > + if (!r->page) > + return -EFAULT; /* page not mapped */ > + > + r->page_addr = kmap_local_page(r->page); kmaps are a limited resource on true highmem systems (something like 16-32) Can you guarantee that you don't overrun them? Some of the callers below seem to be in a loop. You probably won't see any failures unless you test with real highmem. Given it's a obscure configuration these days, but with some of the attempts to unmap the page cache by default it might be back in mainstream. Also true highmem disables preemption, I assume you took that into account. If the worst case run time is long enough would need preemption points. -Andi