Re: [RFC/RFT PATCH v3] sched: automated per tty task groups

From: Kyle McMartin
Date: Tue Nov 16 2010 - 20:32:13 EST


Hi Mike,

On Mon, Nov 15, 2010 at 02:25:50PM -0700, Mike Galbraith wrote:
> --- linux-2.6.orig/drivers/tty/tty_io.c
> +++ linux-2.6/drivers/tty/tty_io.c
> @@ -3160,6 +3160,7 @@ static void __proc_set_tty(struct task_s
> put_pid(tsk->signal->tty_old_pgrp);
> tsk->signal->tty = tty_kref_get(tty);
> tsk->signal->tty_old_pgrp = NULL;
> + sched_autogroup_create_attach(tsk);
> }
>

This is a bit of a problem, as it's called in_atomic context and kmalloc's
under GFP_KERNEL (which can sleep.) This results in sleep-under-spinlock
prints when CONFIG_DEBUG_SPINLOCK_SLEEP=y.

I spent a bit of time thinking about how to fix that, but it's a bit
difficult because of the nested spin_lock_irq in that bit of the
tty_ioctl callchain.

I'll think about it some more tonight and follow-up if I can think of a
way to fix it.

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