Thread (27 messages) 27 messages, 5 authors, 2011-12-16

Re: [PATCH v3 2/3] hvc_init(): Enforce one-time initialization.

From: Rusty Russell <hidden>
Date: 2011-11-13 23:15:39
Also in: lkml, virtualization, xen-devel

On Tue, 08 Nov 2011 13:45:04 -0800, Miche Baker-Harvey [off-list ref] wrote:
hvc_init() must only be called once, and no thread should continue with hvc_alloc()
until after initialization is complete.  The original code does not enforce either
of these requirements.  A new mutex limits entry to hvc_init() to a single thread,
and blocks all later comers until it has completed.

This patch fixes multiple crash symptoms.
No, it doesn't: not now your previous double-hvc_init patch has been
reverted.

It's easy to show this is the case though: replace mutex_lock() with:

        if (!mutex_trylock()) {
                WARN(1, "hvc_console: mutex is stopping us!\n");
                mutex_lock();
        }

If you get that warning, then your mutex is doing something.

Thanks,
Rusty.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help