From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932588AbcBIREZ (ORCPT ); Tue, 9 Feb 2016 12:04:25 -0500 Received: from mail-ig0-f170.google.com ([209.85.213.170]:38879 "EHLO mail-ig0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932491AbcBIRET (ORCPT ); Tue, 9 Feb 2016 12:04:19 -0500 MIME-Version: 1.0 In-Reply-To: <20160209165024.GA3741@mtj.duckdns.org> References: <1454518913.6148.15.camel@gmail.com> <20160203170652.GI14091@mtj.duckdns.org> <1454551217.3677.27.camel@gmail.com> <20160205164923.GC4401@htj.duckdns.org> <1454705231.3819.151.camel@gmail.com> <20160205205456.GG4401@htj.duckdns.org> <1454705989.3819.158.camel@gmail.com> <20160205210606.GH4401@htj.duckdns.org> <1455031885.3807.74.camel@gmail.com> <20160209165024.GA3741@mtj.duckdns.org> Date: Tue, 9 Feb 2016 09:04:18 -0800 X-Google-Sender-Auth: kct0Kh2xWGqTJe9-HVh-ttqbDwI Message-ID: Subject: Re: Crashes with 874bbfe600a6 in 3.18.25 From: Linus Torvalds To: Tejun Heo Cc: Mike Galbraith , Michal Hocko , Jiri Slaby , Thomas Gleixner , Petr Mladek , Jan Kara , Ben Hutchings , Sasha Levin , Shaohua Li , LKML , stable , Daniel Bilik , Greg Kroah-Hartman Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 9, 2016 at 8:50 AM, Tejun Heo wrote: > > idk, not doing so is likely to cause subtle bugs which are difficult > to track down. The problem with -stable is 874bbfe6 being backported > without the matching timer fix. Well, according to this thread, even witht he timer fix the end result then shows odd problems, _and_ has a NO_HZ_FULL regression. I do agree about subtle bugs, but we haven't actually seen any other ones than the vmstat breakage so far. Also, I suspect that to flush out any bugs, we might want to (a) actually dequeue timers and work queues that are bound to a particular CPU when a CPU goes down. Sure, we *could* make it a rule that everybody who binds a timer to a particular CPU should just register the cpu-down thing, but why make a rule that you have to make extra work? People who do per-cpu work should have a setup function for when a new CPU comes _up_, but why make people do pointless extra crap for the cpu-down case when the generic code could just do ti for them. (b) maybe one of the test-bots could be encouraged to do a lot of cpu offlining/onlining as a stress test> That (a) part is important in that it avoids the subtle bug where some timer or workqueue entry ends up being run on the wrong CPU after all, just because the target CPU went down. And the (b) part would hopefully flush out things that didn't start things properly when a new cpu comes online. Hmm? The above is obviously a longer-term thing and a bigger change, but I think we should be able to just revert 874bbfe6 without anything else going on, since I don't think we ever found anything else than vmstat that had issues. Linus