This patch set is reducing latency on tty path.
For testing I used hackbench running on all cores of 4 core system and
high prioritized application sending and receiving packets over tty interface
with loop-back adapter.

Results without this patches:
        latency histogram:
            0 ... <     250 usec : 1933104 transmissions
          250 ... <     500 usec : 21339 transmissions
          500 ... <     750 usec : 8952 transmissions
          750 ... <    1000 usec : 6226 transmissions
         1000 ... <    1500 usec : 7688 transmissions
         1500 ... <    2000 usec : 5236 transmissions
         2000 ... <    5000 usec : 11724 transmissions
         5000 ... <   10000 usec : 3588 transmissions
        10000 ... <   50000 usec : 2123 transmissions
        50000 ... < 1000000 usec : 20 transmissions
                 >= 1000000 usec : 0 transmissions

Test results after this patches:
        min latency: 0 sec : 75 usec
        max latency: 0 sec : 125 usec
        average latency: 81 usec
        latency measure cycles overall: 79000000
        latency histogram:
            0 ... <     250 usec : 79000000 transmissions
          250 ... <     500 usec : 0 transmissions
          500 ... <     750 usec : 0 transmissions
          750 ... <    1000 usec : 0 transmissions
         1000 ... <    1500 usec : 0 transmissions
         1500 ... <    2000 usec : 0 transmissions
         2000 ... <    5000 usec : 0 transmissions
         5000 ... <   10000 usec : 0 transmissions
        10000 ... <   50000 usec : 0 transmissions
        50000 ... < 1000000 usec : 0 transmissions
                 >= 1000000 usec : 0 transmissions
        average no. of read calls to assemble the packet: 1 

Usage of real-time patches makes no difference for test case.

Oleksij Rempel (1):
  drivers/tty: increase priority for tty_buffer_worker

Steven Walter (2):
  drivers/tty: refactor functions for flushing/queuing work
  drivers/tty: convert tty_port to use kthread_worker

 drivers/tty/tty_buffer.c | 39 +++++++++++++++++++++++++++++++--------
 drivers/tty/tty_io.c     |  1 +
 include/linux/tty.h      |  8 +++++---
 3 files changed, 37 insertions(+), 11 deletions(-)

-- 
2.19.1

Reply via email to