staging: vchiq_arm: Avoid premature message stalls
The constants MAX_COMPLETIONS and MSG_QUEUE_SIZE control the number of messages that can be outstanding to each client before the system as a whole stalls. If the numbers are too small then unnecessary thread switching will occur while waiting for a (potentially low priority) client thread to consume some data; badly written clients can even lead to deadlock. For services that carry many short messages, 16 messages can represent a very small amount of data. Since the resources are small - 16 bytes for a completion, 4 bytes for a message pointer - increase the limits so they are unlikely to be hit except in exceptional circumstances. Signed-off-by: Phil Elwell <phil@raspberrypi.org> Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing
Please register or sign in to comment