NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/57273: poll timeout is doubled when NetBSD is run inside QEMU
The following reply was made to PR kern/57273; it has been noted by GNATS.
From: Paul Goyette <paul%whooppee.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: kern-bug-people%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost
Subject: Re: kern/57273: poll timeout is doubled when NetBSD is run inside
QEMU
Date: Thu, 16 Mar 2023 10:10:50 -0700 (PDT)
See kern/43997
On Thu, 16 Mar 2023, roy%marples.name@localhost wrote:
>> Number: 57273
>> Category: kern
>> Synopsis: poll timeout is doubled when NetBSD is run inside QEMU
>> Confidential: no
>> Severity: serious
>> Priority: medium
>> Responsible: kern-bug-people
>> State: open
>> Class: sw-bug
>> Submitter-Id: net
>> Arrival-Date: Thu Mar 16 16:55:00 +0000 2023
>> Originator: Roy Marples
>> Release: NetBSD-9.3
>> Organization:
>> Environment:
> NetBSD netbsd9 9.3_STABLE NetBSD 9.3_STABLE (GENERIC) #0: Mon Mar 13 21:38:46 UTC 2023 mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/amd64/compile/GENERIC amd64
>> Description:
> Testing dhcpcd timings in a NetBSD vm is impossible because the time to sleep with any polling mechanism (poll, pollts, kqueue) is doubled.
> Outside the vm, on bare metal, it works fine.
>> How-To-Repeat:
> Install NetBSD to a qemu VM hosted on NetBSD.
>
> Reproducer:
>
> #include <poll.h>
> #include <stdio.h>
> #include <time.h>
>
> int
> main(void)
> {
> struct timespec ts = { .tv_sec = 10 };
> struct timespec start, end;
>
> fprintf(stderr, "ppoll timeout %ld secs\n", ts.tv_sec);
> clock_gettime(CLOCK_MONOTONIC, &start);
> fprintf(stderr, "poll start is %ld, timeout is %ld, end should be %ld\n",
> start.tv_sec, ts.tv_sec, start.tv_sec + ts.tv_sec);
> pollts(NULL, 0, &ts, NULL);
> clock_gettime(CLOCK_MONOTONIC, &end);
> fprintf(stderr, "poll end is %ld, off by %ld secs\n",
> end.tv_sec, end.tv_sec - (start.tv_sec + ts.tv_sec));
> return 0;
> }
>> Fix:
>
>
> !DSPAM:641349ef114062545387549!
>
>
+--------------------+--------------------------+----------------------+
| Paul Goyette | PGP Key fingerprint: | E-mail addresses: |
| (Retired) | FA29 0E3B 35AF E8AE 6651 | paul%whooppee.com@localhost |
| Software Developer | 0786 F758 55DE 53BA 7731 | pgoyette%netbsd.org@localhost |
| & Network Engineer | | pgoyette99%gmail.com@localhost |
+--------------------+--------------------------+----------------------+
Home |
Main Index |
Thread Index |
Old Index