From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759028AbZE1Q6u (ORCPT ); Thu, 28 May 2009 12:58:50 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1763018AbZE1Q6f (ORCPT ); Thu, 28 May 2009 12:58:35 -0400 Received: from 124x34x33x190.ap124.ftth.ucom.ne.jp ([124.34.33.190]:54699 "EHLO master.linux-sh.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1763487AbZE1Q6e (ORCPT ); Thu, 28 May 2009 12:58:34 -0400 Date: Fri, 29 May 2009 01:58:16 +0900 From: Paul Mundt To: Daniel Walker Cc: Peter Zijlstra , Thomas Gleixner , Linus Walleij , Ingo Molnar , Andrew Victor , Haavard Skinnemoen , Andrew Morton , linux-kernel@vger.kernel.org, linux-sh@vger.kernel.org, linux-arm-kernel@lists.arm.linux.org.uk, John Stultz Subject: Re: [PATCH] sched: Support current clocksource handling in fallback sched_clock(). Message-ID: <20090528165816.GA31688@linux-sh.org> Mail-Followup-To: Paul Mundt , Daniel Walker , Peter Zijlstra , Thomas Gleixner , Linus Walleij , Ingo Molnar , Andrew Victor , Haavard Skinnemoen , Andrew Morton , linux-kernel@vger.kernel.org, linux-sh@vger.kernel.org, linux-arm-kernel@lists.arm.linux.org.uk, John Stultz References: <20090528091936.GA27545@linux-sh.org> <1243503281.23657.80.camel@twins> <20090528110902.GA27884@linux-sh.org> <20090528124207.GA28830@linux-sh.org> <1243515570.6600.96.camel@laptop> <1243527218.28705.35.camel@desktop> <1243528329.6645.77.camel@laptop> <20090528164011.GA30104@linux-sh.org> <1243529547.28705.43.camel@desktop> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1243529547.28705.43.camel@desktop> User-Agent: Mutt/1.5.13 (2006-08-11) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 28, 2009 at 09:52:27AM -0700, Daniel Walker wrote: > On Fri, 2009-05-29 at 01:40 +0900, Paul Mundt wrote: > > On Thu, May 28, 2009 at 06:32:09PM +0200, Peter Zijlstra wrote: > > > On Thu, 2009-05-28 at 09:13 -0700, Daniel Walker wrote: > > > > On Thu, 2009-05-28 at 14:59 +0200, Peter Zijlstra wrote: > > > > > CPU0 CPU1 > > > > > > > > > > clock = ACCESS_ONCE(sched_clocksource); > > > > > > > > > > unload module > > > > > clocksource_unregister() > > > > > sched_clocksource = jiffies > > > > > unmap data/text > > > > > > > > > > cyc2ns(clock, clocksource_read(clock)) <--- fireworks > > > > > > > > > > > > > > > > > > Do any module based clocksources even exist right now? > > > > clocksource_unregister only seems to be used 3 times.. > > > > > > Good point, it appears its not even exported. > > > > > > Thomas mentioned modules, I assumed. > > > > > The drivers/clocksource/ drivers in theory could be modular anyways. > > Handling this transition properly is at least one less barrier to modular > > clocksources, so I think it's progress regardless. I don't remember what > > all of the other issues were though, John probably remembers. > > I don't think it's an important case to consider right now .. > clocksources are usually so integral to the system putting one in a > module seems counterintuitive. > I would not have mentioned it if it weren't something we already had use cases for. For the SH timers alone we have 3 that can be used as clocksources in any combination, excluding the differences in timer channels per block. These tend to have different implications for performance, power management, etc. The only reason they are not modular today is because more work needs to be done to handle clocksources going away, or at least there was the last time we tried it.