Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754000AbbG3Tp3 (ORCPT ); Thu, 30 Jul 2015 15:45:29 -0400 Received: from mail-wi0-f179.google.com ([209.85.212.179]:32894 "EHLO mail-wi0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752490AbbG3TpZ (ORCPT ); Thu, 30 Jul 2015 15:45:25 -0400 Date: Thu, 30 Jul 2015 21:45:22 +0200 From: Frederic Weisbecker To: Chris Metcalf Cc: LKML , Peter Zijlstra , Thomas Gleixner , Preeti U Murthy , Christoph Lameter , Ingo Molnar , Viresh Kumar , Rik van Riel Subject: Re: [PATCH 08/10] posix-cpu-timers: Migrate to use new tick dependency mask model Message-ID: <20150730194519.GA24607@lerouge> References: <1437669735-8786-1-git-send-email-fweisbec@gmail.com> <1437669735-8786-9-git-send-email-fweisbec@gmail.com> <55B26E74.5040803@ezchip.com> <20150729132343.GC11554@lerouge> <55B90C40.5090000@ezchip.com> <20150730004444.GA14744@lerouge> <55BA7C6A.1050602@ezchip.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <55BA7C6A.1050602@ezchip.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2049 Lines: 41 On Thu, Jul 30, 2015 at 03:35:06PM -0400, Chris Metcalf wrote: > On 07/29/2015 08:44 PM, Frederic Weisbecker wrote: > >I see. But note that installing a posix cpu timer ends up triggering an > >IPI to all nohz full CPUs. That's how nohz full has always behaved. > >So users running posix timers on nohz should already suffer issues anyway. > > True now, yes, I'm just looking ahead to doing better when we have > a chance to improve things. Sure, but we can fix that global IPI as well anyway. > > >>You mentioned needing two fields, for task and for process, but in > >>fact let's just add the one field to the one thing that needs it and > >>not worry about additional possible future needs. And note that it's > >>the task_struct->signal where we need to add the field for posix cpu > >>timers (the signal_struct) since that's where the sharing occurs, and > >>given CLONE_SIGHAND I imagine it could be different from the general > >>"process" model anyway. > >Well, posix cpu timers can be install per process (signal struct) or > >per thread (task struct). > > > >But we can certainly simplify that with a per process flag and expand > >the thread dependency to the process scope. > > > >Still there is the issue of telling the CPUs where a process runs when > >a posix timer is installed there. There is no process-like tsk->cpus_allowed. > >Either we send an IPI everywhere like we do now or we iterate through all > >threads in the process to OR all their cpumasks in order to send that IPI. > > Is there a reason the actual timer can't run on a housekeeping > core? Then when it does wake_up_process() or whatever, the > specific target task will get an IPI to wake up at that point. It makes sense if people run posix cpu timers on nohz full CPUs. But nobody reported such usecase yet. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/