diff options
author | Sigrid <ftrvxmtrx@gmail.com> | 2020-07-31 15:48:54 +0200 |
---|---|---|
committer | Sigrid <ftrvxmtrx@gmail.com> | 2020-07-31 15:48:54 +0200 |
commit | 853f0e33fe744d816d66276491c34f9bccd4e6e3 (patch) | |
tree | b2ef3bcf867563862f3f2d7c0821062bdddb178f /sys/src/cmd/vmx/io.c | |
parent | de27182a8ebe759bebfb7b123dffbb0f29eea922 (diff) |
vmx(1): use cycles() instead of nsec() when possible
this provides better timing and reduced number of syscalls (~2.7M old
vs ~35K new in a test)
Diffstat (limited to 'sys/src/cmd/vmx/io.c')
-rw-r--r-- | sys/src/cmd/vmx/io.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/src/cmd/vmx/io.c b/sys/src/cmd/vmx/io.c index 6d91b7503..2de8fe605 100644 --- a/sys/src/cmd/vmx/io.c +++ b/sys/src/cmd/vmx/io.c @@ -31,7 +31,7 @@ rtcadvance(void) vlong t; if(rtcnext != -1){ - t = nsec(); + t = nanosec(); if(t >= rtcnext){ cmos[0xc] |= 0x40; rtcnext = -1; @@ -58,7 +58,7 @@ rtcset(void) default: d = 4 + (cmos[0xa] & 0xf); } b = (1000000000ULL << d) / 1048576; - t = nsec(); + t = nanosec(); rtcnext = t + b - t % b; settimer(rtcnext); } @@ -464,7 +464,7 @@ pitadvance(void) for(i = 0; i < 3; i++){ p = &pit[i]; - nt = nsec(); + nt = nanosec(); t = nt - p->lastnsec; p->lastnsec = nt; switch(p->mode){ @@ -533,7 +533,7 @@ pitsetreload(int n, int hi, u8int v) if(p->access != 3 || hi){ p->count = p->reload; p->state = 1; - p->lastnsec = nsec(); + p->lastnsec = nanosec(); settimer(p->lastnsec + p->count * PERIOD); }else p->state = 0; @@ -543,7 +543,7 @@ pitsetreload(int n, int hi, u8int v) if(p->state == 0 && (p->access != 3 || hi)){ p->count = p->reload; p->state = 1; - p->lastnsec = nsec(); + p->lastnsec = nanosec(); pitadvance(); } break; @@ -621,7 +621,7 @@ pitio(int isin, u16int port, u32int val, int sz, void *) pit[n].reload = 0; pit[n].readstate = pit[n].access == 1 ? READHI : READLO; pit[n].writestate = pit[n].access == 1 ? READHI : READLO; - pit[n].lastnsec = nsec(); + pit[n].lastnsec = nanosec(); switch(pit[n].mode){ case 0: pitout(n, 0); |