#699 closed defect (fixed)
Serial console scrolling is slow
Reported by: | Jiri Svoboda | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 0.7.2 |
Component: | helenos/unspecified | Version: | mainline |
Keywords: | Cc: | ||
Blocker for: | Depends on: | ||
See also: |
Description
As of mainline,2820 if you build sparc64/ultra and run it in Qemu, we get to the text console. Scrolling in the console is slow. Instead of using the serial terminal's native scrolling capability, the screen seems to be manually redrawn (i.e. retransmitted). This looks like a regression.
Change History (4)
comment:1 by , 7 years ago
Milestone: | 0.7.1 |
---|
comment:2 by , 7 years ago
comment:3 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
The buffering issue was fixed with this commit. This alleviates the issue sufficiently.
comment:4 by , 6 years ago
Milestone: | → 0.7.2 |
---|
Note:
See TracTickets
for help on using tickets.
When anything changes on the screen the output server produces a 'diff' and for each character cell that's changed it calls outdev_ops_t.char_update(). For a serial terminal char_update() consists of three calls: vt100_goto(), vt100_set_attr(), vt100_putchar(). Each results in one call to chardev_control_puts(), which in turn calls chardev_write(). Thus we get three IPC calls to update each character cell.
With msim, ski and niagara this didn't use to be a problem, because the output port drivers were embedded in output server. It only manifested on sparc64/ultra which uses chardev/ns16550. Now that the other platform drivers were moved out and use chardev as well, they too exhibit this behavior.