Hello, I am running QEMU with three serial ports redirected to files: the guest Linux console and two other logs. It appears that these serial ports are writing unbuffered to the file. Specifically, when I tail -F several files from different QEMU processes at once, output is intermingled character-by-character rather than line-by-line.
I believe this is causing boot performance problems, as boot is much faster with these files on some filesystems rather than others. Therefore, I’d like to use line buffering instead, to reduce the number of writes to disk. How can I do this? Here is my QEMU command line. Some paths have been trimmed. $ qemu-system-x86_64 -boot order=dc -cpu host -device virtio-blk,drive=vd0 -device virtio-blk,drive=vd1,scsi=off,x-data-plane=on -drive file=./charlie-test/run/0.overlay.qcow2,id=vd0,if=none,aio=native,format=qcow2, -drive file=/chscratch1/0.tmp,id=vd1,if=none,aio=native,format=raw,cache=none -k en-us -m 26786008K -machine q35,accel=kvm -net nic,model=virtio,macaddr=0C:00:AC:16:0C:01 -net tap,ifname=tap0,script=no,downscript=no -serial file:./charlie-test/out/0_console.out -serial file:./charlie-test/out/0_job.out -serial file:./charlie-test/out/0_job.err -smp 2 -vga cirrus -virtfs local,security_model=none,path=[...]/charliecloud/opt,mount_tag=opt -virtfs local,security_model=none,path=./charlie-test/meta,mount_tag=meta -virtfs local,security_model=none,path=testout/data4,mount_tag=data4 -virtfs local,security_model=none,path=testout,mount_tag=data1 -virtfs local,security_model=none,path=testout/data3,mount_tag=data3 -virtfs local,security_model=none,path=testout/data2,mount_tag=data2 -display none I can provide more details if needed. Just let me know what questions you have. Thanks, Reid