Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp1395545pxk; Fri, 2 Oct 2020 08:33:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzuNTK8YANKDAS+/Uj24HizsB2RUWnuQvwaDOJqOPQJ+M+GXNqCuwmUuUKcUG8kyFTSOuHU X-Received: by 2002:a17:906:b291:: with SMTP id q17mr1789635ejz.455.1601652816751; Fri, 02 Oct 2020 08:33:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601652816; cv=none; d=google.com; s=arc-20160816; b=m9KqyFUUOj6ftKmhMFmkKDFB7bXTAvVQ4IV5Z1ew+CUVenQ0On6oRSRMQ3ut741GHs l7VSaM/tMq/NbhFWMj3t6wqgoan1VsyPBdUT0GO/NuEXdBCzGQYEcJicGNGXnjIOkHtm xvJcZhTn+s6xtjqqKlcooie7z2JJFU/WDkwAbIaqP8pxMbFJ4ElPKFBxeOIePabE9etD /EzRV/wjebOZUdysHYCHKjg5+xCT2Z8bJ5h4AA5IqDPsDd3lm0oBq9/JoVFBTtsor3ok sEZ+fGbs4DjQQq1S6DLNTxw5CwPPRLaou1LXGBvLusXectJTIo2XM7Ti0Z0IGWHNQez9 1WBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:references :in-reply-to:subject:cc:to:dkim-signature:dkim-signature:from; bh=2k/uk5Q61kfFbx4o1quTUaDHyKYAV/wduere4YBYfgY=; b=WWypdezzUgWHbG2DWwcHON/yDv9wuPOPyeC9a/lxMw+V0P0T7PiLFjn5Q9tEomj43e OK0psszdOIpHySpAzq6nM61NEDcX/2jdG7bwSyvm7xbOKXD9nImHdhq+iIGXXQEJ31jS VXQiG1Hh/AtMd+Hwdfm5m3g2EtfScUEgrKU604OGwTqz7YZXDCU/I7gW5SAqyCRWnlex W7AHF5EBrV5vEj3KSkrTqe+EqzQGfsaAaHVnrdLK7L4GM7E9IJ2nhtfacKOX63IHdOq0 5y77m6/g2ItVYJiTfbfRkNACjrkzfwgZ1z+cn1hbfj4D4DMumshLG5nlafHaz6McHYY4 Y6Ew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=172bzGOw; dkim=neutral (no key) header.i=@linutronix.de; 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=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k24si773004eje.283.2020.10.02.08.33.10; Fri, 02 Oct 2020 08:33:36 -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=@linutronix.de header.s=2020 header.b=172bzGOw; dkim=neutral (no key) header.i=@linutronix.de; 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=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388340AbgJBPbJ (ORCPT + 99 others); Fri, 2 Oct 2020 11:31:09 -0400 Received: from Galois.linutronix.de ([193.142.43.55]:43330 "EHLO galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388127AbgJBPbI (ORCPT ); Fri, 2 Oct 2020 11:31:08 -0400 From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1601652667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=2k/uk5Q61kfFbx4o1quTUaDHyKYAV/wduere4YBYfgY=; b=172bzGOw43/yqmxoga1+kIcH0ilZVmDwIFzXwSPODOSr7Wt5GEXR15p1xoHK8nWdv+snlk CCKa+Pd5eJguThCuZe4dpioCxL/okihyJlkVG/sr6i2pyIoAsmHyhCXxvbO/EetVYpUIl6 JpvgJXDIPUTbNyW2vXO0iUzMcQZOOrx9P3WP+CHdTymOvdwwF5ZnWYFcCHQJUBRX/jIqyQ lkriry+tcHdEFolXgmsKDt2GGSLw4hoVyTTLjYS4DP+AfZ0ZHzEt16o20I6q83G8ldIvfT Jilzhh5HG3XK3FkJCa7b73hJk2PzaXxAxOOb50tYLSzxzgccAyP8CTxHv8nq+g== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1601652667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=2k/uk5Q61kfFbx4o1quTUaDHyKYAV/wduere4YBYfgY=; b=+JBArhux1QGsz7SXKGhdjVt6SNCvavylnYb9R3nKqe/pgcaMiihPlWctLaO7FonpzHx2BS JR2cmWtgvFgKlnDQ== To: Oleg Nesterov , Jens Axboe Cc: linux-kernel@vger.kernel.org, io-uring@vger.kernel.org, peterz@infradead.org Subject: Re: [PATCH 3/3] task_work: use TIF_TASKWORK if available In-Reply-To: <20201002151415.GA29066@redhat.com> References: <20201001194208.1153522-1-axboe@kernel.dk> <20201001194208.1153522-4-axboe@kernel.dk> <20201002151415.GA29066@redhat.com> Date: Fri, 02 Oct 2020 17:31:07 +0200 Message-ID: <871rigejb8.fsf@nanos.tec.linutronix.de> MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Oct 02 2020 at 17:14, Oleg Nesterov wrote: > Heh. To be honest I don't really like 1-2 ;) I do not like any of this :) > So I think that if we are going to add TIF_TASKWORK we should generalize > this logic and turn it into TIF_NOTIFY_SIGNAL. Similar to TIF_NOTIFY_RESUME > but implies signal_pending(). > > IOW, something like > > void set_notify_signal(task) > { > if (!test_and_set_tsk_thread_flag(task, TIF_NOTIFY_SIGNAL)) { > if (!wake_up_state(task, TASK_INTERRUPTIBLE)) > kick_process(t); > } > } > > // called by exit_to_user_mode_loop() if ti_work & _TIF_NOTIFY_SIGNAL > void tracehook_notify_signal(regs) > { > clear_thread_flag(TIF_NOTIFY_SIGNAL); > smp_mb__after_atomic(); > if (unlikely(current->task_works)) > task_work_run(); > } > > This way task_work_run() doesn't need to clear TIF_NOTIFY_SIGNAL and it can > have more users. I think it's fundamentaly wrong that we have several places and several flags which handle task_work_run() instead of having exactly one place and one flag. Thanks, tglx