Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Apr 2021 17:43:58 GMT
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 099919b76dce - main - newbus: remove support for SINGLETON
Message-ID:  <202104261743.13QHhwlp073059@gitrepo.freebsd.org>

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

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

commit 099919b76dce8ae118fea8bc950d2a7157a9c28b
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2021-04-26 17:04:15 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2021-04-26 17:41:08 +0000

    newbus: remove support for SINGLETON
    
    Revert rest of de8dd262c43b since it's now unused.
    
    jhibbits@ introduced this to give powerpc MMU functions IFUNC like
    performance while retaining the kobj interface, speeding up operations
    10-20%. Since there was only ever one instance of the mmu interface
    active at any given time, we could cache the looked up results more
    agressively.
    
    powerpc migrated to using IFUNCs to get an even larger performance boost
    in 45b69dd63e, deleting the two files it was added to in de8dd262c43b.
    
    However, there's few, if any, other potential applications of this to
    the tree today. It's now unused and undocumented. Retire it to eliminate
    this wart and to preclude the need to document it. Should a simmilar
    case arise in the future, the code is in git...
    
    Discusssed with:        jhibbits@
    Reviewed by:            jhb@
    Sponsored by:           Netflix
    Differential Revision:  https://reviews.freebsd.org/D29997
---
 sys/tools/makeobjops.awk | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/sys/tools/makeobjops.awk b/sys/tools/makeobjops.awk
index c0fb8db10f3e..5a4ccf759960 100644
--- a/sys/tools/makeobjops.awk
+++ b/sys/tools/makeobjops.awk
@@ -325,18 +325,13 @@ function handle_method (static, doc)
 		    line_width, length(prototype)));
 	}
 	printh("{");
-	if (singleton)
-		printh("\tstatic kobjop_t _m;");
-	else
-		printh("\tkobjop_t _m;");
+	printh("\tkobjop_t _m;");
 	if (ret != "void")
 		printh("\t" ret " rc;");
 	if (!static)
 		firstvar = "((kobj_t)" firstvar ")";
 	if (prolog != "")
 		printh(prolog);
-	if (singleton)
-		printh("\tif (_m == NULL)");
 	printh("\tKOBJOPLOOKUP(" firstvar "->ops," mname ");");
 	rceq = (ret != "void") ? "rc = " : "";
 	printh("\t" rceq "((" mname "_t *) _m)(" varname_list ");");
@@ -458,7 +453,6 @@ for (file_i = 0; file_i < num_files; file_i++) {
 	lastdoc = "";
 	prolog = "";
 	epilog = "";
-	singleton = 0;
 
 	while (!error && (getline < src) > 0) {
 		lineno++;
@@ -503,8 +497,6 @@ for (file_i = 0; file_i < num_files; file_i++) {
 			prolog = handle_code();
 		else if (/^EPILOG[ 	]*{$/)
 			epilog = handle_code();
-		else if (/^SINGLETON/)
-			singleton = 1;
 		else {
 			debug($0);
 			warnsrc("Invalid line encountered");



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