lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1261605899.4163.107.camel@localhost.localdomain>
Date:	Wed, 23 Dec 2009 14:04:59 -0800
From:	john stultz <johnstul@...ibm.com>
To:	Paul Mundt <lethal@...ux-sh.org>
Cc:	lkml <linux-kernel@...r.kernel.org>,
	Richard Henderson <rth@...ddle.net>,
	linux-alpha@...r.kernel.org, linux-sh@...r.kernel.org,
	Russell King <linux@....linux.org.uk>,
	Haavard Skinnemoen <hskinnemoen@...el.com>,
	Mike Frysinger <vapier@...too.org>,
	Mikael Starvik <starvik@...s.com>,
	David Howells <dhowells@...hat.com>,
	Yoshinori Sato <ysato@...rs.sourceforge.jp>,
	Tony Luck <tony.luck@...el.com>,
	Hirokazu Takata <takata@...ux-m32r.org>,
	Geert Uytterhoeven <geert@...ux-m68k.org>,
	Koichi Yasutake <yasutake.koichi@...panasonic.com>,
	Kyle McMartin <kyle@...artin.ca>,
	"David S. Miller" <davem@...emloft.net>,
	David Brownell <dbrownell@...rs.sourceforge.net>
Subject: Re: [RFC][PATCH 0/14] Convert remaining arches to
 read/update_persistent_clock

On Wed, 2009-12-23 at 14:08 +0900, Paul Mundt wrote:
> On Tue, Dec 22, 2009 at 07:59:22PM -0800, john stultz wrote:
> > In this case the generic read_persistent_clock() and
> > update_persistent_clock() methods have been provided to allow the
> > generic timekeeping code to initialize xtime and set the persistent
> > clock when NTP is synced. However many arches haven't converted, so the
> > generic code has to handle the case where the arch is doing this
> > management itself.
> > 
> > This patch series tries to convert the following 14 architectures over
> > to use read_persistent_clock() and update_persistent_clock() as
> > applicable, killing off about 200 lines of arch specific code.
> > 
> While I think that this is a good goal, many of the underlying
> architectures have veered pretty far away from having meaningful
> persistent clock interfaces after having moved entirely to generic
> timekeeping and the RTC subsystem.
> 
> In the case of SH at least that interface along with the generic CMOS
> stuff is largely a stop-gap for antiquated platforms that don't have
> proper RTC drivers and likely never will, while the default for all of
> the rest of the platforms effectively returns a fixed dummy value. I
> copied this approach from MIPS originally, so there are at least a few
> architectures that this will apply to.
> 
> In any event, I wonder if it might make more sense to take something like
> the SPARC implementation that is simply a wrapper around the RTC, move
> that out in to a more generic place, and permit architectures to select
> an RTC class backed persistent clock instead (it seems to be only
> platforms that haven't caught up yet in terms of generic time and RTC
> migration that would want to define this interface on their own at all at
> this point)?

Yea, there's some additional complications with the RTC interface via
read_persistent_clock, as some RTC clocks require irqs enabled to be
able to read. This keeps them from being used via
read_persistent_clock() as it is used prior to irqs being enabled, and
then again with irqs disabled in the suspend and resume path.

This has a bit of a trade-off, as we can better handle timekeeping
around a suspend/resume with read_persistent_clock(), but for some
hardware we just can't use the RTC for that.

Anyway, if we can improve the timekeeping/RTC interface used for
initialization and suspend/resume, I'm all for it (maybe having the RTC
code to tell the timekeeping code if it can be accessed with irqs off?).
But for hardware that needs irqs, i'm not sure how we can handle resumes
correctly there. So suggestions would be welcome.

Anyway, the main point of this patch set is to remove the direct access
to timekeeping internals (xtime, wall_to_monotonic). Those need to go
soon, as they're limiting changes in the timekeeping code.
read_persistent_clock() is the current way to avoid it, but if systems
are fine doing a settimeofday() at init that's ok too (although some
oddities may be seen wrt boot time with the direct settimeofday, I need
to refresh my head on how the varying default boot times between arches
may be effected).

thanks
-john

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ