[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <DB9PR10MB588170E923A6ED8B3D6D9613E0CBA@DB9PR10MB5881.EURPRD10.PROD.OUTLOOK.COM>
Date: Wed, 4 Oct 2023 05:59:09 +0000
From: "Starke, Daniel" <daniel.starke@...mens.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Lee Jones <lee@...nel.org>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Fedor Pchelkin <pchelkin@...ras.ru>,
Jiri Slaby <jirislaby@...nel.org>,
"linux-serial@...r.kernel.org" <linux-serial@...r.kernel.org>,
"syzbot+5f47a8cea6a12b77a876@...kaller.appspotmail.com"
<syzbot+5f47a8cea6a12b77a876@...kaller.appspotmail.com>
Subject: RE: [PATCH 1/1] tty: n_gsm: Avoid sleeping during .write() whilst
atomic
> Daniel, any thoughts?
Our application of this protocol is only with specific modems to enable
circuit switched operation (handling calls, selecting/querying networks,
etc.) while doing packet switched communication (i.e. IP traffic over PPP).
The protocol was developed for such use cases.
Regarding the issue itself:
There was already an attempt to fix all this by switching from spinlocks to
mutexes resulting in ~20% performance loss. However, the patch was reverted
as it did not handle the T1 timer leading into sleep during atomic within
gsm_dlci_t1() on every mutex lock there.
There was also a suggestion to fix this in do_con_write() as
tty_operations::write() appears to be documented as "not allowed to sleep".
The patch for this was rejected. It did not fix the issue within n_gsm.
Link: https://lore.kernel.org/all/20221203215518.8150-1-pchelkin@ispras.ru/
Link: https://lore.kernel.org/all/20221212023530.2498025-1-zengheng4@huawei.com/
Link: https://lore.kernel.org/all/5a994a13-d1f2-87a8-09e4-a877e65ed166@kernel.org/
Best regards,
Daniel Starke
Powered by blists - more mailing lists