From 0451ffa50aaf44ea28bfe729c6080b6ec97f7bb5 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 28 Dec 2015 15:50:58 +0100 Subject: qemu/kvm: improve output buffering There seems to be some missed pieces in output. --- vm/kvm/kvm.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'vm/kvm') diff --git a/vm/kvm/kvm.go b/vm/kvm/kvm.go index b9185d91f..819008b74 100644 --- a/vm/kvm/kvm.go +++ b/vm/kvm/kvm.go @@ -12,6 +12,7 @@ import ( "runtime" "strconv" "sync" + "syscall" "time" "github.com/google/syzkaller/fileutil" @@ -68,6 +69,9 @@ func ctor(cfg *vm.Config) (vm.Instance, error) { if err != nil { return nil, fmt.Errorf("failed to create pipe: %v", err) } + for sz := 128 << 10; sz <= 2<<20; sz *= 2 { + syscall.Syscall(syscall.SYS_FCNTL, wpipe.Fd(), syscall.F_SETPIPE_SZ, uintptr(sz)) + } inst.lkvm = exec.Command("taskset", "-c", strconv.Itoa(inst.cfg.Index%runtime.NumCPU()), inst.cfg.Bin, "sandbox", @@ -108,7 +112,7 @@ func ctor(cfg *vm.Config) (vm.Instance, error) { } } inst.mu.Unlock() - time.Sleep(time.Second) + time.Sleep(time.Millisecond) } if err != nil { rpipe.Close() -- cgit mrf-deployment