ppc serial appears to have a maximum ratio of output to input, hides output and only writes it on subsequent input(?!)
Host environment
- Operating system: Bullseye but also sid/experimental chroot
- OS/kernel version:
Linux tarta 6.1.0-9-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08) x86_64
- Architecture: amd64
- QEMU flavor: qemu-system-ppc64
- QEMU version: 8.0.3 (Debian 1:8.0.3+dfsg-5) and Debian 1:7.2+dfsg-7
- QEMU command line:
qemu-system-ppc64 -m 4g -nographic -vga none vm-ppc64el
Emulated/Virtualized environment
- Operating system: Buster
- OS/kernel version: Linux ppc64el 4.19.0-16-powerpc64le #1 SMP Debian 4.19.181-1 (2021-03-19) ppc64le GNU/Linux
- Architecture: ppc64el
Emulated/Virtualized environment
- Operating system: Sid
- OS/kernel version: Linux ppc64el 6.4.0-1-powerpc64le #1 SMP Debian 6.4.4-2 (2023-07-30) ppc64le GNU/Linux
- Architecture: ppc64el
Description of problem
When pasting in large chunks of text, the echo is partial, but completes with subsequent writes (and is drained when the writes are small). Sorry this is really stupid, see video.
(also, when booting, the console stops at
Building dt strings...
Building dt structure...
Device tree strings 0x00000000062c0000 -> 0x00000000062c0b90
Device tree struct 0x00000000062d0000 -> 0x00000000062e0000
Quiescing Open Firmware ...
Booting Linux via __start() @ 0x0000000002000000 ...
Linux ppc64le
#1 SMP Debian 6.
and then continues with more messages from just after the dot:
Linux ppc64le
#1 SMP Debian 6.[ 15.683156] vio vio: uevent: failed to send synthetic uevent: -19
vio: Failed to write 'add' to '/sys/devices/vio/uevent', ignoring: No such device
/dev/vda2: clean, 17371/987360 files, 345018/3942144 blocks
)
Steps to reproduce
cat > /dev/null
- paste in a couple solid lines
- observe that the echo completed mid-line
- paste in a couple more solid lines
- observe that the echo includes the end of the first few lines, and the start of the second set
- ^D
- observe that with every key input into the shell, you get a few bytes back, and those bytes are the tail-end of the second set of lines
- when the echo buffer is drained, it's drained
Additional information
Demo video: https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=1041707;filename=2023-07-21+17-59-25.mp4;msg=5
Downstream bug: https://bugs.debian.org/1041707
Edited by наб