Re: tty breakage in X (Was: tty vs workqueue oddities)

From: Milton Miller
Date: Fri Jun 03 2011 - 06:24:00 EST


[not on list so made up cc list]

On Fri Jun 03 2011 about 05:37:52 EST, Linus wrote:
> On Fri, Jun 3, 2011 at 3:56 PM, Benjamin Herrenschmidt wrote:
> > So I think my theory stands that flush_to_ldisc constantly reschedule
> > itself causing the worker thread to eat all CPU and starve the consumer
> > of the PTY. I won't have time to dig much deeper today nor probably this
> > week-end so I'm sending this email for others who want to look.
>
> Gaah - that commit is total and utter crap.
>
> I *removed* the whole "reschedule the work queue again" crap. It was
> totally wrong. See commit a5660b41af6a.
>
> But then commit b1c43f82c5aa added the crap right back in.
>
> So does it all work if you just remove the broken schedule_work() line
> from flush_to_ldisc?
>
> Otherwise we'll need to just revert it. The commit is clearly totally broken.

Its further broken in that the recieve_buf functions return -ERRORS
but the callers don't check for negative values.

milton
--
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/