tty: n_smux: Add RX workqueue to reduce locking
To prevent multiple RX operations from overlapping, locking is currently used during the entire RX operation which also includes calling the client get_rx_buffer callback in atomic context. To reduce locking, the RX processing has been moved to a single-threaded workqueue which ensures serialization of the RX operations. This minimizes locking requirements and eliminates locking around get_rx_buffer allowing the client to use GFP_KERNEL instead of GFP_ATOMIC for memory allocation. Change-Id: Ib87523191aa77f899fadb7667def58d94579c547 Signed-off-by:Eric Holmberg <eholmber@codeaurora.org> Signed-off-by:
David Brown <davidb@codeaurora.org>
Loading
Please register or sign in to comment