Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Dec 2021 10:53:22 GMT
From:      Emmanuel Vadot <manu@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: c5f24f5e0db2 - main - loader: ip: Do not call getsecs so much
Message-ID:  <202112161053.1BGArMnv091144@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by manu:

URL: https://cgit.FreeBSD.org/src/commit/?id=c5f24f5e0db24c8e33e6278a4fbb7e68364ca18d

commit c5f24f5e0db24c8e33e6278a4fbb7e68364ca18d
Author:     Emmanuel Vadot <manu@FreeBSD.org>
AuthorDate: 2021-12-09 14:46:39 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2021-12-16 10:50:36 +0000

    loader: ip: Do not call getsecs so much
    
    getsecs is very costly, reuse the values we got before.
    
    Fetching a ~30MB kernel with the tftp command use to take ~26 seconds
    and now it's ~18 seconds.
    
    Reviewed by:    imp, tsoome
    MFC after:      2 weeks
    Sponsored by:   Beckhoff Automation GmbH & Co. KG
    Differential Revision:  https://reviews.freebsd.org/D33408
---
 stand/libsa/net.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/stand/libsa/net.c b/stand/libsa/net.c
index 3142616a5bf0..e04a370e466e 100644
--- a/stand/libsa/net.c
+++ b/stand/libsa/net.c
@@ -101,10 +101,9 @@ sendrecv(struct iodesc *d,
 	tmo = MINTMO;
 	tlast = 0;
 	tleft = 0;
-	tref = getsecs();
-	t = getsecs();
+	tref = t = getsecs();
 	for (;;) {
-		if (MAXWAIT > 0 && (getsecs() - tref) >= MAXWAIT) {
+		if (MAXWAIT > 0 && (t - tref) >= MAXWAIT) {
 			errno = ETIMEDOUT;
 			return -1;
 		}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202112161053.1BGArMnv091144>