Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2315015pxb; Mon, 19 Apr 2021 02:45:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwK3XUgmnt3bqFewEhZ2CfCn+PetZWwu+Cv9RuVMJXoW3P/06ItAIHr117J2EXJz2olM8gZ X-Received: by 2002:aa7:842c:0:b029:251:7caf:1017 with SMTP id q12-20020aa7842c0000b02902517caf1017mr19180353pfn.79.1618825508957; Mon, 19 Apr 2021 02:45:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618825508; cv=none; d=google.com; s=arc-20160816; b=ef/UmKLHI5/1OVSMJuRqKJX+RoGgpWlElvClM7OANgHdYsUCYJbEO94+e2R9m/g/HY shFmIGq9tP8KhNIRD6AEk/UcF1zlWxBXR4uH3m08c4xlo5IVBSu+Qgot8FvxeLOuEKBJ hiJIGPV2Emul8fslt2Nj+HBRU1Gk8mMvZYAJ+ZOgB8d1A9tp3GNqHkZY3fmd83lyujFt l/yo72cnA2SwIQ3YxLS0JkaK1l+mph7t7wk6yWR0S5vIMFRT2O7rvs6IPoSx6qMxzLzG JXGSx7M3LvqB7TGoEkmku18YF7dtU9EPpjT7P6AZyWj744s1gAdMxkpZDx2h1YKKDGFI 36sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=C4SsjBBBWAk9PglcpWZrcZB88JEvecexvFUi0GD5O9o=; b=cKT4aD6gnTRG7DNJQSW7Lj3KG8JMp8TdsCDnf+OequPWJK8UV8PuBdeGBgFXe2qJ/s aUcuyntdEFkq+kf4Awr+jQnmJ8LKOE1oSdyy4H2RT8VLoLXiVWc3XtETt7ErbYqV5Yoc JWMMO/H+jU1OMKpyhIvREpGTLF1HwKAEG9H/KRDk4X2yuuEk4oEynW4z5GB6+LY4YoTW WTTM/KX/p3CWtWyAVRHVbS7nvif0T9KmfV1oDU4snIPBbw5Axi0wShCry//FdxgkpEQ+ nh9gKG15M4sjIiTCB0FgU85LHJM08F4BLymkyjdXZgj4vOy9QW8EQdT7sbkfJJ2pRBMs STKg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=Fnpl5H0e; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t17si18315539plg.102.2021.04.19.02.44.57; Mon, 19 Apr 2021 02:45:08 -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; dkim=pass header.i=@google.com header.s=20161025 header.b=Fnpl5H0e; 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=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237827AbhDSJox (ORCPT + 99 others); Mon, 19 Apr 2021 05:44:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39252 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232004AbhDSJow (ORCPT ); Mon, 19 Apr 2021 05:44:52 -0400 Received: from mail-oo1-xc2b.google.com (mail-oo1-xc2b.google.com [IPv6:2607:f8b0:4864:20::c2b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5DC9AC06174A for ; Mon, 19 Apr 2021 02:44:21 -0700 (PDT) Received: by mail-oo1-xc2b.google.com with SMTP id c84-20020a4a4f570000b02901e9af00ac1bso1392244oob.10 for ; Mon, 19 Apr 2021 02:44:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=C4SsjBBBWAk9PglcpWZrcZB88JEvecexvFUi0GD5O9o=; b=Fnpl5H0etWSmKyfe2GsN2TRAI0qkylTHELE4LbYuKhWUKxlgbRGl90BJWvQjsnKB9t mqZ0xwCiCM/AibNY+58YgNmT+qEUb+m1c5yewpfpqUgjfjFt1fTU0C3R/5+29DXsmwqc TFLptvpbNkHFundGMJ79T9oLlGHKqcPMlRbcn6YeDWRNrFAgT4aTLWbNnGQKUIC/hIkU VSXQGBjkzXnmlnH3ysi6cYg1bur/hiPeIne1gG4frKdGqF6M9D14VlmFFn4oBdHiBwmh yiqeXIiIaYT8AITTAgrbXL4tFVEnT8cxMqj3fXUTjq0DMO89rfwKvoh6+k4V0iJLYdTe 7+Pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=C4SsjBBBWAk9PglcpWZrcZB88JEvecexvFUi0GD5O9o=; b=WcLl9BH7XqIZ35OokCuldEUo6k5VxM1JOxOxZ1CA42WiA27eErx50PjGocsuRtbGhz m0QQK5oG2BBUwGk09nAmrnTVCddFSVFPwyyMJj6Ltvreei4pcIbmULjreyK7n/PIDC1g AYgbFv3ziSTKZN2TM21eFVOQmHA6W6Px9QoibGzgRbGWdAW0D7+Oq+wptmFxa/swrP9E s/qq4Ag0iXAFJW0ypkzi8oGB+vn0VCnRoDLa+xON+Hl1jl9boTtmaPfiF3ozHuWLVsf3 LEtJy07m+FskHhuKH5Tkq/DWw0y7stHHMdScORAxjBCrI9I4Ug4Rw0R/fz9mvqAokygs v03w== X-Gm-Message-State: AOAM530ar2YlcQpcgXSUB44DsclxneLqMh6vofMwLmSKCX8wWy3dBNPq 4LpRiB07s6B60As39LoXUi7mrpwAqy8qgs7RNNeeQg== X-Received: by 2002:a4a:d29c:: with SMTP id h28mr12940962oos.14.1618825460590; Mon, 19 Apr 2021 02:44:20 -0700 (PDT) MIME-Version: 1.0 References: <20210419085027.761150-1-elver@google.com> <20210419085027.761150-2-elver@google.com> <20210419094044.311-1-hdanton@sina.com> In-Reply-To: <20210419094044.311-1-hdanton@sina.com> From: Marco Elver Date: Mon, 19 Apr 2021 11:44:09 +0200 Message-ID: Subject: Re: [PATCH 1/3] kfence: await for allocation using wait_event To: Hillf Danton Cc: Andrew Morton , Alexander Potapenko , Dmitry Vyukov , Jann Horn , Mark Rutland , LKML , Linux Memory Management List , kasan-dev Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 19 Apr 2021 at 11:41, Hillf Danton wrote: > > On Mon, 19 Apr 2021 10:50:25 Marco Elver wrote: > > + > > + WRITE_ONCE(kfence_timer_waiting, true); > > + smp_mb(); /* See comment in __kfence_alloc(). */ > > This is not needed given task state change in wait_event(). Yes it is. We want to avoid the unconditional irq_work in __kfence_alloc(). When the system is under load doing frequent allocations, at least in my tests this avoids the irq_work almost always. Without the irq_work you'd be correct of course. > > + wait_event_timeout(allocation_wait, atomic_read(&kfence_allocation_gate), HZ); > > + smp_store_release(&kfence_timer_waiting, false); /* Order after wait_event(). */ > > +