Module Name: src Committed By: martin Date: Tue Jul 20 16:40:12 UTC 2021
Modified Files: src/usr.sbin/sysinst: util.c Log Message: RAM size will not change during installation, do the sysctl() dance only once. To generate a diff of this commit: cvs rdiff -u -r1.57 -r1.58 src/usr.sbin/sysinst/util.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.sbin/sysinst/util.c diff -u src/usr.sbin/sysinst/util.c:1.57 src/usr.sbin/sysinst/util.c:1.58 --- src/usr.sbin/sysinst/util.c:1.57 Sun Jan 31 22:45:47 2021 +++ src/usr.sbin/sysinst/util.c Tue Jul 20 16:40:12 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: util.c,v 1.57 2021/01/31 22:45:47 rillig Exp $ */ +/* $NetBSD: util.c,v 1.58 2021/07/20 16:40:12 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -264,11 +264,14 @@ file_mode_match(const char *path, unsign uint64_t get_ramsize(void) { - uint64_t ramsize; - size_t len = sizeof ramsize; - int mib[2] = {CTL_HW, HW_PHYSMEM64}; + static uint64_t ramsize; - sysctl(mib, 2, &ramsize, &len, NULL, 0); + if (ramsize == 0) { + size_t len = sizeof ramsize; + int mib[2] = {CTL_HW, HW_PHYSMEM64}; + + sysctl(mib, 2, &ramsize, &len, NULL, 0); + } /* Find out how many Megs ... round up. */ return (ramsize + MEG - 1) / MEG;