diff options
author | Denis Shienkov <scapig@yandex.ru> | 2012-10-23 22:16:20 +0000 |
---|---|---|
committer | Denis Shienkov <scapig@yandex.ru> | 2012-10-24 12:09:52 +0200 |
commit | c930cd46da565ee9abdf92dc83dd053b5f304a47 (patch) | |
tree | 72ed763169d004e8dfa4eb48c363aa992ff76733 /sync.profile | |
parent | e831107f468618881e435932c8a42404c1dde13c (diff) |
Gnu/Linux: reduce CPU load at write data
Previously, the load on the CPU causes a continuous triggered
QSocketNotifier::Write of event, even if internal transmitted ring
buffer of class SerialPort was empty. This was due to the excess check
of conditions for empty transmission queue into driver.
I.e. at intensive data transfer when the ring buffer is empty, but
drivers queue not yet empty - the condition is not fulfilled and the
notification is not switched off.
Some relief to the problem is to remove the conditions of a check of the
transmission queue of driver.
This solution allows to reduce the intensity of the CPU load by 30-40%
in depends of intensity of transferred data and data block size.
Task-number: QTPLAYGROUND-7
Change-Id: I67f354d09b7f3dd13d46ab42a492524c79f2ce52
Reviewed-by: Daniel Strnad
Reviewed-by: Aleksei Timofeyev <aleksei.timofeyev@gmail.com>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Denis Shienkov <scapig@yandex.ru>
Diffstat (limited to 'sync.profile')
0 files changed, 0 insertions, 0 deletions