Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1603477pxb; Mon, 22 Feb 2021 06:26:08 -0800 (PST) X-Google-Smtp-Source: ABdhPJxOwnvdwObpoaMMOFgLRp1rF8bUopSvNwG8AjeggIZJLrKtT/WILDx62MDTNyHRObNSp92g X-Received: by 2002:a05:6402:a54:: with SMTP id bt20mr8183152edb.96.1614003968018; Mon, 22 Feb 2021 06:26:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614003968; cv=none; d=google.com; s=arc-20160816; b=GLRsjFYmSy+ZUQeSihOr4JyvzTIF+mc4F0BogIYIVwqonxmPMnhyIeBvc5xIxnCIDC 70zSmR937zVDhh1wd5fCzwNEHdFQWgiMCFOZw/5AVHpyZHS0xEjE3/UR7Q53eXb27kE5 w4I2UvFV+OL4iwt/WGORXhPIEEERuUtgDUhLhqdHR+JRgrseg7VvxjRHRl0D14DA0TAE LWYqcMwx3m2hOnGVluNZQSRtm7CWaLoseBtQ7664ek8VU2R1c2efUbTZS5ajyk1cgF27 RCmnAEBjqyqV9dMRvgzuEyRytWXG/pZ0mWXPBEWfQgcwvXXbOjYGyvfesG8SOXuPD5mS nXJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=RGQ4/qtHx2bjdFvrHFwyUEeeg/OYwFG54DfzAdrz3+k=; b=H1/Dt7ZuSGj1AdYtMCrFaFu9E31gbcGMwzuGIpHhrlUCuZCznmQWc07mz3pPpykyBM 3rC6uu1gyRWxMiDS8YCg/3+4IudBw/SOjeoJhsZpTEq0u3CJF2GI8SqsHAghCVUN1jZV 4H5xsH0DabRjoRC52BGlVm0uvcBTri5NYIW6asuGBQqQIADOJpfCa2LRat2vSEtLeOsQ 1XabXUPS/hwhDHRdJYKdVU9N4EicOxOxQ+1i6MIWBN8XViDckv1daQmNXsQIVUgtKWPp s8L5u7bKUX+lYEQMNklb7ZrX1KwT5ISopmy+ohXSRkYI7jsQwizNGFXY8yrVK9V/V6VZ GfFQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=EDxEVjCt; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r22si540953edp.172.2021.02.22.06.25.44; Mon, 22 Feb 2021 06:26:08 -0800 (PST) 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; dkim=pass header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=EDxEVjCt; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232549AbhBVOXs (ORCPT + 99 others); Mon, 22 Feb 2021 09:23:48 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54684 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231332AbhBVOKX (ORCPT ); Mon, 22 Feb 2021 09:10:23 -0500 Received: from mail-il1-x129.google.com (mail-il1-x129.google.com [IPv6:2607:f8b0:4864:20::129]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 897C3C06178A for ; Mon, 22 Feb 2021 06:09:43 -0800 (PST) Received: by mail-il1-x129.google.com with SMTP id e2so10884884ilu.0 for ; Mon, 22 Feb 2021 06:09:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=RGQ4/qtHx2bjdFvrHFwyUEeeg/OYwFG54DfzAdrz3+k=; b=EDxEVjCtWelZXXeakBVsc8YZubZAU7JLWC6I7/OEx0f857/LgLETMq2fSvd0Wn33yE wiNVbR26+rzROP7lOyk1NiniRyN+Tmbx8/TX8kUI+QAHy6SevnynVy4AGjUvS8A4HNrW pCv74qIdjzWQJCKOnvqy1CtOlM+Htf3hJJLYYpYvUvMeRVWcDo2x4kYK1hQBYffhJNDX gi7OqwkkSeb95SI+OmGKyu1MupaXsqM4zM0NuhjC07//HtEiHCLN43G57FjVdjPqlySD jcg+iqtDSpZdyO0qXAId3gbjT0UNioWIR2BzYToAWmT+Iw+GUQRlPAmX5CiWPPei1CwV 2GzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=RGQ4/qtHx2bjdFvrHFwyUEeeg/OYwFG54DfzAdrz3+k=; b=jbXWaSFHGRBuI6w37g+tHzMeeb83W37rx+LqLRDDXcSE0DWOAu3vtSEOCg8qeT/Fp1 1GNj3PmfQqmFVdSSnJTHftJNoLxauMMjtBklrMW2+YuiFKIFbd8ECXzilhZardgGS7tu ElG3mqeYn34Z7ACbZFAJ1lG+1Lk06cQ7lLYkg5IssoOK2TaPMp7xlzCfr4XihYnCZGKL vrDS1/vupDl6XTkjaaHPCA6bqsfjBDvvO0GoEVXqB0pXuGB04Rpb/fKcNTF/nLUSKPMm VI8hplc/aGB3t9RumGu5BQztcSaiXYJJeucNZNMzSqZJz+f9kDwpbwtvWdCOWY2JoXzK mOXw== X-Gm-Message-State: AOAM533+9lPMB4OzwG1jiSrRB6eMUHw+h8a88Eobaz58qFP53tdGQ7mP ZWy2805fTTzqwyPWcfQHr7yP2w== X-Received: by 2002:a05:6e02:1d8a:: with SMTP id h10mr14087421ila.224.1614002982921; Mon, 22 Feb 2021 06:09:42 -0800 (PST) Received: from [192.168.1.30] ([65.144.74.34]) by smtp.gmail.com with ESMTPSA id g16sm11480253iln.29.2021.02.22.06.09.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 22 Feb 2021 06:09:42 -0800 (PST) Subject: Re: [PATCH v6 3/7] Reimplement RLIMIT_NPROC on top of ucounts To: Alexey Gladkov Cc: LKML , io-uring@vger.kernel.org, Kernel Hardening , Linux Containers , linux-mm@kvack.org, Andrew Morton , Christian Brauner , "Eric W . Biederman" , Jann Horn , Kees Cook , Linus Torvalds , Oleg Nesterov References: <72fdcd154bec7e0dfad090f1af65ddac1e767451.1613392826.git.gladkov.alexey@gmail.com> <72214339-57fc-e47f-bb57-d1b39c69e38e@kernel.dk> <20210222101141.uve6hnftsakf4u7n@example.org> From: Jens Axboe Message-ID: <73b37a89-79d2-9c04-0626-2b164e91c3a8@kernel.dk> Date: Mon, 22 Feb 2021 07:09:41 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20210222101141.uve6hnftsakf4u7n@example.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/22/21 3:11 AM, Alexey Gladkov wrote: > On Sun, Feb 21, 2021 at 04:38:10PM -0700, Jens Axboe wrote: >> On 2/15/21 5:41 AM, Alexey Gladkov wrote: >>> diff --git a/fs/io-wq.c b/fs/io-wq.c >>> index a564f36e260c..5b6940c90c61 100644 >>> --- a/fs/io-wq.c >>> +++ b/fs/io-wq.c >>> @@ -1090,10 +1091,7 @@ struct io_wq *io_wq_create(unsigned bounded, struct io_wq_data *data) >>> wqe->node = alloc_node; >>> wqe->acct[IO_WQ_ACCT_BOUND].max_workers = bounded; >>> atomic_set(&wqe->acct[IO_WQ_ACCT_BOUND].nr_running, 0); >>> - if (wq->user) { >>> - wqe->acct[IO_WQ_ACCT_UNBOUND].max_workers = >>> - task_rlimit(current, RLIMIT_NPROC); >>> - } >>> + wqe->acct[IO_WQ_ACCT_UNBOUND].max_workers = task_rlimit(current, RLIMIT_NPROC); >> >> This doesn't look like an equivalent transformation. But that may be >> moot if we merge the io_uring-worker.v3 series, as then you would not >> have to touch io-wq at all. > > In the current code the wq->user is always set to current_user(): > > io_uring_create [1] > `- io_sq_offload_create > `- io_init_wq_offload [2] > `-io_wq_create [3] current vs other wasn't my concern, but we're always setting ->user so the test was pointless. So looks fine to me. -- Jens Axboe