Messages in this thread | | | From | "Nikita V. Youshchenko" <> | Subject | Re: PREEMPT_RT (2.6.33-rt17) disabled printk-to-console after console_init | Date | Thu, 20 May 2010 14:23:07 +0400 |
| |
> > >>> Well, obviously it's unsafe if you remove safety checks. And if > > >>> you care to look at the changelog of kernel/printk.c you'll find > > >>> out why. > > >> > > >> Hmm... did a quick look and could not find anything related there. > > >> Could you please give a pointer? > > Gah, yes. The changelog of the commit is not really helpful. Let me > explain: > > The console drivers might take locks, which are converted to "sleeping > locks" in preempt-rt. As a result we cannot call into those drivers > from atomic contexts. And that's what the checks in the printk code > prevent.
I've already understood that when looking at that code some weeks ago.
Still questions:
1) why does that prevent klogd from working?
2) why does print not pass to non-CON_ATOMIC even if called from non-atomic context?
3) I believe that 8250 serial driver is aware of preempt-rt. Could you please comment on my "2.6.33.2-rt13: RFC: fix serial console" post to linux-rt-users list (http://eeek.borgchat.net/lists/linux-rt-users/msg05569.html)
Nikita
| |