Messages in this thread | | | From | "Starke, Daniel" <> | Subject | RE: [PATCH 1/1] tty: n_gsm: Avoid sleeping during .write() whilst atomic | Date | Wed, 4 Oct 2023 05:59:09 +0000 |
| |
> 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
| |