Originally posted by Alex/AT
View Post
Announcement
Collapse
No announcement yet.
Linux Serial Console Driver Lands Patch For Possible ~25% Performance Improvement
Collapse
X
-
- Likes 2
-
Originally posted by JEBjames View PostThe UART FIFO queue can reduces CPU load (fewer interrupts). But even pre-486 PCs can easily max out a 16550 sending a byte at a time?
Not sure how it could make that big a speed difference as quoted in the article?
Task switching that broken? Insert Spectre/Meltdown/RandomCPUBugOfTheWeek?
I'm confused.
This is not limited to UARTS, some modern hardware like Intel's i210 network controllers have this behavior as well. You need to use DMA or things come to a crawl.
- Likes 2
Leave a comment:
-
Originally posted by tuxd3v View PostThis are the oldest devices around, from the time of 486's, Pentiums, or newer, by other word's...obsolete
Nowadays, the buffers are superior to 1KB, I believe, but it will depend on the hardware you have..
Code:$ dmesg|grep ttyS [ 2.332159] 0000:00:16.3: ttyS4 at I/O 0x3060 (irq = 19, base_baud = 115200) is a 16550A [ 69.425124] dw-apb-uart.1: ttyS5 at MMIO 0x604110f000 (irq = 20, base_baud = 115200) is a 16550A
- Likes 3
Leave a comment:
-
I think serial will probably be one of the few things that will never die in the tech world
- Likes 1
Leave a comment:
-
Originally posted by set135Just to note, the guy was trying to run at 115200, which was getting less throughput on a 'slower' machine, but working as expected on a 'faster' machine. To put that in perspective, most actual serial terminals were lucky to run at 9600, and the most you could pump out the telephone wires (ignoring compression) was 57600. Personally, the hardest I generally drove serial ports was for dial-up modems, and of course for actual consoles and printers much slower speeds were used, so its not too suprising that not many people would have noticed this... I have an actual DEC vt320 hooked up to my machines serial port as a console, and you can configure that to run at 19200, but the terminal itself cannot actually keep up with text at that speed, so I run it at 9600. (It might be able to process SIXEL data at the higher speed... I should try that.)
I've got plenty of experience watching server systems boot over the virtual serial console, and lemme tell you, if you forget to change from the default 9600 it's SLOWW. (though as I mentioned in another comment in this thread, I don't know if this change affects virtual serial consoles or only 'real' ones).
Leave a comment:
-
Coming soon from Phoronix:
- AMD vs Intel serial console shootout
- ZMODEM transfer benchmarks in the Phoronix Test Suite
- Effects of compiler optimization flags on VT220 performance
- GCC 11 vs. GCC 12 for serial port performance - should you upgrade?!
- Likes 13
Leave a comment:
-
Originally posted by Alex/AT View Post16550 UARTs FIFO support was missing all that time?
Holy moly. I thought it's 2022 already, but it's more like 1982 there then.
Until now, someone has a usecase for sending high volume RS-232 serial data in 2022, that has performance needs, interesting.
- Likes 1
Leave a comment:
-
Afaik,
The 16550A (or 16550, as its called) FIFO has 16 byte FIFO buffers.
It can receive up to 14 bytes (or send 16 bytes) before it has to interrupt the CPU.
This are the oldest devices around, from the time of 486's, Pentiums, or newer, by other word's...obsolete
Nowadays, the buffers are superior to 1KB, I believe, but it will depend on the hardware you have..
Leave a comment:
-
Originally posted by onlyLinuxLuvUBack View Post
a phoronix bar chart and benchmark will settle this
- Likes 2
Leave a comment:
-
Originally posted by JEBjames View PostBut even pre-486 PCs can easily max out a 16550 sending a byte at a time?
- Likes 3
Leave a comment:
Leave a comment: