lkml.org 
[lkml]   [2018]   [Jan]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v5 0/2] printk: Console owner and waiter logic cleanup
    On (01/17/18 12:12), Steven Rostedt wrote:
    [..]
    > /*
    > * Can we actually use the console at this time on this cpu?
    > @@ -2333,6 +2390,7 @@ void console_unlock(void)
    >
    > for (;;) {
    > struct printk_log *msg;
    > + bool offload;
    > size_t ext_len = 0;
    > size_t len;
    >
    > @@ -2393,15 +2451,20 @@ void console_unlock(void)
    > * waiter waiting to take over.
    > */
    > console_lock_spinning_enable();
    > + offload = recursion_check_start();
    >
    > stop_critical_timings(); /* don't trace print latency */
    > call_console_drivers(ext_text, ext_len, text, len);
    > start_critical_timings();
    >
    > + recursion_check_finish(offload);
    > +
    > if (console_lock_spinning_disable_and_check()) {
    > printk_safe_exit_irqrestore(flags);
    > return;
    > }
    > + if (offload)
    > + kick_offload_thread();
    >
    > printk_safe_exit_irqrestore(flags);
    ^^^^^^^^^^^^^^^^

    but we call console drivers in printk_safe.
    printk -> console_drivers -> printk will be
    redirected to this-CPU printk_safe buffer.

    -ss

    \
     
     \ /
      Last update: 2018-01-18 06:43    [W:2.855 / U:0.176 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site