From: Peter Zijlstra <a.p.zijlstra@chello.nl>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
"Ted Ts'o" <tytso@mit.edu>, Greg KH <greg@kroah.com>,
Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
akpm@linux-foundation.org,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [RFC][PATCH 7/7] serial, 8250: Mostly avoid wakeups from under port->lock
Date: Wed, 21 Dec 2011 17:22:34 +0100 [thread overview]
Message-ID: <1324484554.10752.16.camel@twins> (raw)
In-Reply-To: <20111221160323.1084e954@pyramind.ukuu.org.uk>
On Wed, 2011-12-21 at 16:03 +0000, Alan Cox wrote:
> > + BUG_ON(!state);
> > + tty = state->port.tty;
> > + tty_kref_get(tty);
> > + spin_unlock_irqrestore(&up->port.lock, flags);
> > + tty_wakeup(tty);
> > + tty_kref_put(tty);
>
> driver innards shouldn't know this stuff and this makes it worse rather
> than cleaning it up
Fair enough, if I can push it into serial_core.c I can probably fix that
one weird case as well, I couldn't inside the 8250 driver because the
port lock was taken by the serial core code.
> The basic idea looks fine but I really don't want magic lock hackery in
> the 8250 driver. We need a way of generalising this so the code is
> cleaner and the locking internal knowledge stays out of the driver itself.
>
> Also I think it's probably buggy - sending the x_char is forward progress
> so probably needs to cause a wakeup.
Could you explain that more, its not actually connecting with any
neurons..
> So for the moment NAK, but worthy of figuring out how to do it right
OK, will try and see if I can poke at it a level upwards..
next prev parent reply other threads:[~2011-12-21 16:22 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-21 10:57 [RFC][PATCH 0/7] improve printk reliability Peter Zijlstra
2011-12-21 10:57 ` [RFC][PATCH 1/7] arch, early_printk: Consolidate early_printk() implementations Peter Zijlstra
2011-12-21 17:01 ` Mike Frysinger
2011-12-21 17:03 ` Peter Zijlstra
2011-12-21 19:23 ` David Miller
2011-12-21 10:57 ` [RFC][PATCH 2/7] lockdep: Provide early_printk() support Peter Zijlstra
2011-12-21 10:57 ` [RFC][PATCH 3/7] printk, lockdep: Remove lockdep_off() usage Peter Zijlstra
2011-12-21 10:57 ` [RFC][PATCH 4/7] printk: Rework printk recursion Peter Zijlstra
2011-12-21 10:57 ` [RFC][PATCH 5/7] semaphore: Pull wakeup out from under sem->lock Peter Zijlstra
2011-12-21 10:57 ` [RFC][PATCH 6/7] printk: Poke printk extra hard Peter Zijlstra
2011-12-22 1:17 ` Linus Torvalds
2011-12-22 7:02 ` Ingo Molnar
2011-12-22 8:43 ` Peter Zijlstra
2011-12-22 9:03 ` Ingo Molnar
2011-12-22 9:14 ` Peter Zijlstra
2011-12-22 10:15 ` Ingo Molnar
2011-12-22 10:19 ` Peter Zijlstra
2011-12-21 10:57 ` [RFC][PATCH 7/7] serial, 8250: Mostly avoid wakeups from under port->lock Peter Zijlstra
2011-12-21 16:03 ` Alan Cox
2011-12-21 16:22 ` Peter Zijlstra [this message]
2011-12-21 16:30 ` Peter Zijlstra
2011-12-21 18:51 ` Alan Cox
2011-12-21 11:23 ` [RFC][PATCH 0/7] improve printk reliability Peter Zijlstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1324484554.10752.16.camel@twins \
--to=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.