Thread (14 messages) flat view 14 messages, 8 authors, 2003-05-15

Re: set_rtc_time() cleanup / normalization

From: Eugene Surovegin <hidden>
Date: 2003-05-14 16:41:40

At 01:32 AM 5/14/2003, Benjamin Herrenschmidt wrote:
quoted
2) set_rtc_time() implementation for concrete RTC device *maybe* slow or
just cannot
    be called from the interrupt context.
    Why just don't fix actual RTC code in each case ?
    It may be useful to provide some *generic* facility for such cases.
It may just not be fixable cleanly. If you RTC is on a bus which requires
some semaphoring for access (i2c does on pmac, though so far, the RTC isn't
on i2c on these, I admit), or which is just so slow that you really do NOT
want to block the machine in an interrupt that long ?
Well, fix was already suggested. Just use some kernel thread to actually
update RTC.
Actually, the later is the most nasty. Also, since set_rtc_time() is used for
both interrupt call and non-interrupt call, it cannot make assumptions about
beeing able to schedule or not, thus causing the same latency problem when
called via /dev/rtc, possibly a good DOS attack tool, but more simply, it
just suck that way...
Well, maybe we need to functions, one that can be called from interrupt
context,
the other - usual one. Or we can test in_interrupt() in set_rtc_time and
act accordingly (although solution with two functions seems more clean).

Eugene.


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help