Re: [patch 07/15] clocksource: Provide unbind interface in sysfs

From: John Stultz
Date: Mon Apr 29 2013 - 21:11:15 EST


On 04/25/2013 01:31 PM, Thomas Gleixner wrote:
With the module refcount held for the current clocksource there is no
way to unload the module.

Provide a sysfs interface which allows to unbind the clocksource. One
could argue that the clocksource override could be (ab)used to do so,
but the clocksource override cannot be used from the kernel itself,
while an unbind function can be used to programmatically check whether
a clocksource can be shutdown or not.

The unbind functionality uses the new skip current feature of
clocksource_select and verifies that a fallback clocksource has been
installed. If the clocksource which should be unbound is the current
clocksource and no fallback can be found, unbind returns -EBUSY.

This does not support the unbinding of a clocksource which is used as
the watchdog clocksource. No point in fostering crappy hardware.

So.. if the clocksource you want to unbind is the highest rated continuous clocksource that doesn't need a watchdog (basically what's likely to be in-use and required to be unbinded), its likely to be selected as the watchdog already.

ie: on a system that has only HPET/ACPI_PM, you can't unbind HPET, since its a watchdog.

Or are you really wanting to prohibit this functionality for all CONFIG_CLOCKSOURCE_WATCHDOG hardware, which would be easier to do via build time ifdefs?

thanks
-john

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