Messages in this thread | | | Date | Thu, 6 May 2004 19:52:52 -0700 (PDT) | From | Jon Smirl <> | Subject | Is it possible to implement interrupt time printk's reliably? |
| |
Problem: 1) Some operations on graphics cards cannot be stopped once they are started. It's not reasonable to turn interrupts off around these operations. 2) Kernel developers want console printk's to work from interrupt routines.
How do you fix this situation?
1) Grpahics driver has started non-restartable operation. For example transferring a bitmap. This is not an automatic DMA operation, CPU involvement is needed. 2) Interrupt happens 3) Printk happens from interrupt.
Now we're stuck. The graphics chip is in a non-interruptible state and printk wants to use it.
We need some mechanism to get back to the driver code and finish the non-restartable operation before the printk can be allowed to proceed.
Another solution also comes to mind. Mark the appropriate sections in the video driver with BEGIN/END_INT_PRINTK. Then add a kernel build option to convert these macros to en/disable interrupts if interrupt time printk's are allowed. Would it be acceptable to disable interrupts for signifcant time on a development kernel where the developer is printk'ing from interrupts?
===== Jon Smirl jonsmirl@yahoo.com
__________________________________ Do you Yahoo!? Win a $20,000 Career Makeover at Yahoo! HotJobs http://hotjobs.sweepstakes.yahoo.com/careermakeover - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |