Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp2919883pxb; Mon, 18 Oct 2021 04:50:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxdywLqIaaAXNtbd6/2GzuTc3EASgfKNvPGyoreolrrZwtsxmb+wUktbs6QP3yxScPFk1Ny X-Received: by 2002:a50:d84c:: with SMTP id v12mr42201813edj.203.1634557815248; Mon, 18 Oct 2021 04:50:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634557815; cv=none; d=google.com; s=arc-20160816; b=euo3az56/ZcdjUUofclMtNN0//JviGZ5p0yHQzmTjwZm1NYWYE8k4QBvSelG1tYWHv qp3jdKZi9iCo7fqeFVc/rWzwFPUG8CCx+/BfahGXxz6Ic7mxraMBSyX7qOtnn4T3LG7b H/zb1AgH9bnE6AN4AgYiX7jqeVxP7BQCaifzqydtCoHnTGGRasLoV9XdMbV3KaqSnb9v DG0wW+Gd/I5SRs3BuPTux6tdeZwbaD63JwX4wW67UtoXL3nbo8hbqhFo34cFzSrMWF6S uZL8Oxi3He4zwzH8WTylI+3BNYZ2VBBY5uKzlnzVkvrThuHxlPyw72OxChovfLizCI0G X1Pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=p2Caj50fH5C8evqIQEUe2oy5AoVdzAaa+Xkp8NzJGwQ=; b=FmDRzoJdPoTdEH6vrJ5BlL/kVDF9G8MEiK2MlGz1I4A5+lhujuhU98A0DlAz35cggf oe0E5iWKXeEpvxmRI4D3G2nJc/4nfwb8PCPeBx3IWROx06RVEL4taDlXVto1maNpq2wW 8FA4TyCH6TkO6aGRcXBRpy5MW3xGWm3C11f4kM5Eth6UsFKhixB+/scbqF7vEbjW3K1Q 1UxnK71GUe2MKzzWtJDxXDa1+2ZPKrKcd775QhJMcPvwZgG180wcqeMciprnmm5NAbOw 8tqUIqyld5ZrEGz7B0Zk7f0KCs7Bx6vUcFY7/IJ2UaGg4UplO1bgdAELR3r830FnyDTV 5G7g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a4si15975621ejg.588.2021.10.18.04.49.51; Mon, 18 Oct 2021 04:50:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231351AbhJRLtz (ORCPT + 99 others); Mon, 18 Oct 2021 07:49:55 -0400 Received: from mail-ed1-f49.google.com ([209.85.208.49]:37552 "EHLO mail-ed1-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231623AbhJRLti (ORCPT ); Mon, 18 Oct 2021 07:49:38 -0400 Received: by mail-ed1-f49.google.com with SMTP id y12so71691924eda.4; Mon, 18 Oct 2021 04:47:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=p2Caj50fH5C8evqIQEUe2oy5AoVdzAaa+Xkp8NzJGwQ=; b=oBOVQL7NCSgZBbfndjOtUMW4xhCymInXqxCbSXM5Fjo2ogG9uP7eAfkQ+6hNdAAgpm wJawMAYr5zGht9cOzU04MCgp7QljEh5Ctb+VKHUxVKOB+iLPIaRh47exv4zQ42gafep+ duyGAR7mPXoYoT3S5LAaEPqjShD3QCC6TG+IHo28G0KuVbZOLj2nV43HB9/exy8+jmb7 P677808+WK494CDpWwMxOM4R6EMnbhmM8tXb1Md8sEXumOduzzk4GtqmPz+gsI8zsmME wObGp/VY4UHYUDwagOczxaBFYnf9AYnmVTzsuRlGarbLCXFvy5lAccWI3Ya+x015bhFj nIDg== X-Gm-Message-State: AOAM531TifbWZOU9u8pIzAAwmlbAcRjzX7TxLrSpNBp8ksUbxZ5RNkZT oHHrvreu3JWKAUkE7OsFo4miOVcIPRE= X-Received: by 2002:a05:6402:5188:: with SMTP id q8mr5470110edd.332.1634557645946; Mon, 18 Oct 2021 04:47:25 -0700 (PDT) Received: from localhost.localdomain (ip-85-160-35-99.eurotel.cz. [85.160.35.99]) by smtp.gmail.com with ESMTPSA id b2sm9587458edv.73.2021.10.18.04.47.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Oct 2021 04:47:25 -0700 (PDT) From: Michal Hocko To: Cc: Dave Chinner , Neil Brown , Andrew Morton , Christoph Hellwig , Uladzislau Rezki , , LKML , Ilya Dryomov , Jeff Layton Subject: [RFC 0/3] extend vmalloc support for constrained allocations Date: Mon, 18 Oct 2021 13:47:09 +0200 Message-Id: <20211018114712.9802-1-mhocko@kernel.org> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, based on a recent discussion with Dave and Neil [1] I have tried to implement NOFS, NOIO, NOFAIL support for the vmalloc to make life of kvmalloc users easier. A requirement for NOFAIL support for kvmalloc was new to me but this seems to be really needed by the xfs code. NOFS/NOIO was a known and a long term problem which was hoped to be handled by the scope API. Those scope should have been used at the reclaim recursion boundaries both to document them and also to remove the necessity of NOFS/NOIO constrains for all allocations within that scope. Instead workarounds were developed to wrap a single allocation instead (like ceph_kvmalloc). First patch implements NOFS/NOIO support for vmalloc. The second one adds NOFAIL support and the third one bundles all together into kvmalloc and drops ceph_kvmalloc which can use kvmalloc directly now. Please note that this is RFC and I haven't done any testing on this yet. I hope I haven't missed anything in the vmalloc allocator. It would be really great if Christoph and Uladzislau could have a look. Thanks! [1] http://lkml.kernel.org/r/163184741778.29351.16920832234899124642.stgit@noble.brown