From: Daniel K. on
Arnd Bergmann wrote:
> diff --git a/drivers/char/tty_mutex.c b/drivers/char/tty_mutex.c
> new file mode 100644
> index 0000000..f66dfdf
> --- /dev/null
> +++ b/drivers/char/tty_mutex.c
> @@ -0,0 +1,47 @@
> +/*
> + * drivers/char/tty_lock.c
> + */
> +#include <linux/tty.h>
> +#include <linux/module.h>
> +#include <linux/kallsyms.h>
> +#include <linux/semaphore.h>
> +#include <linux/sched.h>
> +
> +/*
> + * The 'big tty semaphore'

Referred to as Big TTY Mutex or BTM elsewhere.


> + * This mutex is taken and released by tty_lock() and tty_unlock(),
> + * replacing the older big kernel mutex.

big kernel lock, or BKL?


> + * It can no longer be taken recursively, and does not get
> + * released implicitly while sleeping.
> + *
> + * Don't use in new code.
> + */
> +static DEFINE_MUTEX(big_tty_mutex);
> +struct task_struct *__big_tty_mutex_owner;
> +EXPORT_SYMBOL_GPL(__big_tty_mutex_owner);

> +config TTY_MUTEX
> + bool "Use a mutex instead of BKL for TTY locking"
> + depends on EXPERIMENTAL && SMP
> + help
> + The TTY subsystem traditionally depends on the big kernel lock
> + for serialization. Saying Y here replaces the BKL with the Big
> + TTY Mutex (BTM).
> + Building a kernel without the BKL is only possible with TTY_MUTEX
> + enabled.
> +


Daniel K.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Arnd Bergmann on
On Sunday 16 May 2010 05:33:14 Daniel K. wrote:
> Arnd Bergmann wrote:
> > diff --git a/drivers/char/tty_mutex.c b/drivers/char/tty_mutex.c
> > new file mode 100644
> > index 0000000..f66dfdf
> > --- /dev/null
> > +++ b/drivers/char/tty_mutex.c
> > @@ -0,0 +1,47 @@
> > +/*
> > + * drivers/char/tty_lock.c
> > + */
> > +#include <linux/tty.h>
> > +#include <linux/module.h>
> > +#include <linux/kallsyms.h>
> > +#include <linux/semaphore.h>
> > +#include <linux/sched.h>
> > +
> > +/*
> > + * The 'big tty semaphore'
>
> Referred to as Big TTY Mutex or BTM elsewhere.
>
>
> > + * This mutex is taken and released by tty_lock() and tty_unlock(),
> > + * replacing the older big kernel mutex.
>
> big kernel lock, or BKL?
>

Thanks for looking at this, this (and the bug you found in amiserial)
were caused by changing it a few times from one implementation to the next.

Fixed now and pushed out to git.

Anrd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/