Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp328709pxu; Wed, 14 Oct 2020 02:23:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyT/7aIzz/nk/BXRM+MJ9oZIClTWU+nTCGkNV+Ey2Eqq/YbV68tYs3AmZutUrvQzeVUmlEY X-Received: by 2002:a17:906:1cca:: with SMTP id i10mr4351179ejh.487.1602667419830; Wed, 14 Oct 2020 02:23:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1602667419; cv=none; d=google.com; s=arc-20160816; b=gZ+m9ZYRrpz9A/+sIF78T0IjaplW81fk3lYfbxuTWUIthWavgjCesrc1PPO50H6Dym witJFILvdWuRvIH00/1Uc9BYF3xbyIoxHIWnIJbWvFDgKB6cPf8eOzOI3S9IeV/CiDNR 01LnRQ3588XqQLF2MtbFPhFWG4ENB85OidRNpCfQvRJip8LeTGie9yRVC0vohLxdLx1D vFRqGFYKJT/7C7OYZtdtKXXG34zDif0XiUZksuPJF1twHMfeaggXostr8iCZRhN53KUc +2CfF8WONRHeeLwXRZot3O13J2rm2AWkvJcgGT1xLtIhJRaiRXpMO34LnTNBsPqgfHKn WT0g== 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=Uyn4u4zPT8lCRqg3mtYpVMsvS3nHHp0bUhsCfjjwdnM=; b=kOZ7IX72YooTQd0N8vZbgGHliNFKgN41xxWhCuqGYxdSqqTA0DAMKMutJOZQdGT1ZL 1O/e7rtPL8FkJ+Ee7FhVzAVCFWh/owVtGl/TV7ifLP6HsI+MYwMGTUmyQPGerqDfy7HW 5PQoSSamVj6Yy2EP8+OEd/84t40wscVjJBoiax25nQyGO7rXjzq9EmO34AcwYrABN3JH RlaKNU4S5CYrL0E21KMwm04xLkJGccu0gGjkZ1jmW/0pTwAvcIbIQ13BymRyGM8hVA0w z+QOYpxUys60YRW6oIQyug3Tz5AmXDN/WXhaPj+EPHOEElQHGUnkFBU8EJyTw4ntjLy/ e2ag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=uOqY26ra; 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 bm17si1790539ejb.356.2020.10.14.02.23.17; Wed, 14 Oct 2020 02:23:39 -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=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=uOqY26ra; 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 S1728792AbgJNJTy (ORCPT + 99 others); Wed, 14 Oct 2020 05:19:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39946 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730454AbgJNJTk (ORCPT ); Wed, 14 Oct 2020 05:19:40 -0400 Received: from mail-pf1-x443.google.com (mail-pf1-x443.google.com [IPv6:2607:f8b0:4864:20::443]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9D5A9C08EC6E for ; Tue, 13 Oct 2020 16:55:09 -0700 (PDT) Received: by mail-pf1-x443.google.com with SMTP id e7so832947pfn.12 for ; Tue, 13 Oct 2020 16:55:09 -0700 (PDT) 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=Uyn4u4zPT8lCRqg3mtYpVMsvS3nHHp0bUhsCfjjwdnM=; b=uOqY26raeWXXsabUh4iq3GWqbPhntX2jAw7WlXzsOsk1n27PMJ5XJutG5KRN8kpgh4 uBXOZZgEQzOYxWRyhfzSTpfaqf2ehc07tSXXDCwOwm96YrAYmLN5jIyodmnumluJGMPw ek0W14+MO48kiv4kacCmEdZyiVkwTKY2Z5tfvNfB4vumTwwF6wXMC320mXF849uRgiQm mjEnrvex9U+gb1Qw1gXtnpBVRVX8qdDIU+R7VfWqv6kmfmuH50332RTpwCQNFc3EWxc2 /qsyslm6ElprPvEqQ1zYX9pWXh3KSNdu6mR4xkFE3fNBWHa/1oI6TqeMrovc6CqYZ3Db OmRA== 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=Uyn4u4zPT8lCRqg3mtYpVMsvS3nHHp0bUhsCfjjwdnM=; b=PF4KTDvCZ7QEPKyl0o5c4lsVQqF2XJz6+0zAFkhu9AMvZv1nyZ5/FhV2pQUn+m3MZL 6WXjJMiwUBbvt2nb+7P22XYTCl4s1ogjwNi5UdMWoP6gYFixAp3yald/+MFwMZQ62hmZ Zgw8nXknBoe8oBTDZq4LSlXuf7PeXT7Nd6afXMoPhuinCDV1aHL/1QMfU21kt463hztJ NzhlIKFQv0LzIeZ8iYSIQKX1ATj4UekYmZH01J62J089dbdETgSadd5dQ/ttlC/eg+X6 gn7638KJsFT7Kjmf5iYLhETinGWWk+AIA2yZhsU9b7hIdRSAgHyeyXwpdTf1Md7eiAAP sc5Q== X-Gm-Message-State: AOAM530cYj3sox+3FdP40XF8ssW28Njsc0DONLoQsUOCkESwuvSyRSnO ezkVSVMYq6I72K2LfWoCCvEgPQ== X-Received: by 2002:a63:ec4c:: with SMTP id r12mr1598153pgj.74.1602633309170; Tue, 13 Oct 2020 16:55:09 -0700 (PDT) Received: from [192.168.1.134] ([66.219.217.173]) by smtp.gmail.com with ESMTPSA id s24sm368443pjp.53.2020.10.13.16.55.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 13 Oct 2020 16:55:08 -0700 (PDT) Subject: Re: [PATCH 4/4] task_work: use TIF_NOTIFY_SIGNAL if available To: Thomas Gleixner , linux-kernel@vger.kernel.org, io-uring@vger.kernel.org Cc: peterz@infradead.org, oleg@redhat.com, Roman Gershman References: <20201008152752.218889-1-axboe@kernel.dk> <20201008152752.218889-5-axboe@kernel.dk> <87362hd6ta.fsf@nanos.tec.linutronix.de> From: Jens Axboe Message-ID: <327d0ab5-a77e-8f9c-95da-d0dccece6ad8@kernel.dk> Date: Tue, 13 Oct 2020 17:55:07 -0600 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: <87362hd6ta.fsf@nanos.tec.linutronix.de> 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 10/13/20 5:50 PM, Thomas Gleixner wrote: > On Thu, Oct 08 2020 at 09:27, Jens Axboe wrote: >> +/* >> + * TWA_SIGNAL signaling - use TIF_NOTIFY_SIGNAL, if available, as it's faster >> + * than TIF_SIGPENDING as there's no dependency on ->sighand. The latter is >> + * shared for threads, and can cause contention on sighand->lock. Even for >> + * the non-threaded case TIF_NOTIFY_SIGNAL is more efficient, as no locking >> + * or IRQ disabling is involved for notification (or running) purposes. >> + */ >> +static void task_work_notify_signal(struct task_struct *task) >> +{ >> +#ifdef TIF_NOTIFY_SIGNAL >> + set_notify_signal(task); >> +#else >> + unsigned long flags; >> + >> + /* >> + * Only grab the sighand lock if we don't already have some >> + * task_work pending. This pairs with the smp_store_mb() >> + * in get_signal(), see comment there. >> + */ >> + if (!(READ_ONCE(task->jobctl) & JOBCTL_TASK_WORK) && >> + lock_task_sighand(task, &flags)) { >> + task->jobctl |= JOBCTL_TASK_WORK; >> + signal_wake_up(task, 0); >> + unlock_task_sighand(task, &flags); >> + } >> +#endif > > Same #ifdeffery comment as before. Fixed up. -- Jens Axboe