From: Frank Seidel <fseidel@suse.de>
To: Jiri Slaby <jirislaby@gmail.com>
Cc: linux-kernel@vger.kernel.org, Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [RFC! 10/13] Char: nozomi, fix tty_flip_buffer_push
Date: Sat, 10 Nov 2007 16:43:16 +0100 [thread overview]
Message-ID: <200711101643.17270.fseidel@suse.de> (raw)
In-Reply-To: <259691270825982947.slaby@pripojeni.net>
On Samstag 10 November 2007 00:49:32, you (Jiri Slaby) wrote:
> Especially on this I would like to see feedback. Unlock and lock the
> spinlock just around the tty_flip_buffer_push would be much more easier, but
> won't it break anything?
> --
> nozomi, fix tty_flip_buffer_push
>
> tty_flip_buffer_push call may deadlock when invoking it while holding
> spinlock used in e.g. throttle too. Nozomi sets low_latency tty and that
> means, that ldisc flush will be called immediately and it can call some
> nozomi functions back. Solve it by invoking tty_flip_buffer_push after
> releasing the spinlock.
IMHO its a brilliant idea to defer it this way to a safe place. I just
had to adapt the type of flip to "usigned long" (otherwise gcc spits
warnings around).
Eventhough i never ran in such a deadlock of course it looks much safer
now this way. I tested this patch and it seems to not break anything.
Applied without changes.
Thanks a lot,
Frank
next prev parent reply other threads:[~2007-11-10 15:44 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-09 23:43 [RFC 1/13] Char: nozomi, remove unneded stuff Jiri Slaby
2007-11-09 23:44 ` [RFC 2/13] Char: nozomi, expand some functions Jiri Slaby
2007-11-10 15:41 ` Frank Seidel
2007-11-09 23:44 ` [RFC 3/13] Char: nozomi, fix fail paths Jiri Slaby
2007-11-10 15:41 ` Frank Seidel
2007-11-09 23:45 ` [RFC 4/13] Char: nozomi, tty index cleanup Jiri Slaby
2007-11-10 15:41 ` Frank Seidel
2007-11-10 15:50 ` Jiri Slaby
2007-11-09 23:46 ` [RFC 5/13] Char: nozomi, ioctls cleanup Jiri Slaby
2007-11-10 15:41 ` Frank Seidel
2007-11-09 23:46 ` [RFC 6/13] Char: nozomi, reorder and cleanup probe, remove Jiri Slaby
2007-11-10 15:42 ` Frank Seidel
2007-11-09 23:47 ` [RFC 7/13] Char: nozomi, remove struct irq Jiri Slaby
2007-11-10 15:42 ` Frank Seidel
2007-11-12 15:11 ` Frank Seidel
2007-11-09 23:48 ` [RFC 8/13] Char: nozomi, tty cleanup Jiri Slaby
2007-11-10 15:42 ` Frank Seidel
2007-11-12 18:43 ` Frank Seidel
2007-11-09 23:48 ` [RFC 9/13] Char: nozomi, lock cleanup Jiri Slaby
2007-11-10 15:42 ` Frank Seidel
2007-11-09 23:49 ` [RFC! 10/13] Char: nozomi, fix tty_flip_buffer_push Jiri Slaby
2007-11-10 15:43 ` Frank Seidel [this message]
2007-11-09 23:50 ` [RFC 11/13] Char: nozomi, remove unused includes Jiri Slaby
2007-11-10 15:43 ` Frank Seidel
2007-11-09 23:50 ` [RFC 12/13] Char: nozomi, remove void acc char2 char3 more mp mp.c mp.yy m1 nozomi2 proto rej slock1 casts Jiri Slaby
2007-11-10 15:43 ` Frank Seidel
2007-11-09 23:51 ` [RFC 13/13] Char: nozomi, cleanup read and write Jiri Slaby
2007-11-10 15:43 ` Frank Seidel
2007-11-10 16:15 ` Adrian Bunk
2007-11-10 22:04 ` Jiri Slaby
2007-11-11 2:37 ` Frank Seidel
2007-11-11 16:02 ` Frank Seidel
2007-11-12 7:54 ` Adrian Bunk
2007-11-12 9:43 ` Frank Seidel
2007-11-10 15:41 ` [RFC 1/13] Char: nozomi, remove unneded stuff Frank Seidel
2007-11-10 15:55 ` Jiri Slaby
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=200711101643.17270.fseidel@suse.de \
--to=fseidel@suse.de \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=jirislaby@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/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.