Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Cybernetic Vermin
Apr 18, 2005


in this instance a funny exchange between two people who have done actually interesting things (ebpf to me remains the most interesting development in linux in the last 15 years, i think the potential is largely underrated)

Adbot
ADBOT LOVES YOU

Athas
Aug 6, 2007

fuck that joker
I never understood that response. That description of Linux performance tricks is pretty straightforward. Nothing that is mentioned is particularly arcane or would take long to debug, except maybe the trick about using multiple page sizes concurrently. Should leave plenty of time for kissing.

shackleford
Sep 4, 2006

he does come across a little dickish when he's describing anything that's not linux or gcc as broken poo poo on the, ahh, comp.sys.sun.hardware newsgroup

presumably both of these nerds have chilled out a bit since their early 20's

sb hermit
Dec 13, 2016





that description of the sparc linux optimization under Linux is really fascinating, to be honest

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

Athas posted:

I never understood that response.

he's calling him a huge nerd

sb hermit posted:

that description of the sparc linux optimization under Linux is really fascinating, to be honest

it is, and it's well written, it's just an extremely nerdy thing to be interested in

:thejoke:

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN
like, if they were in college then yeah maybe 20s, maybe late teens. you don't remember trolling message boards or usenet (depending on your age group) at that age? i sure as poo poo do lol

an appropriate response would have been like, "why, do you want to know what it's like?" or something idk. shame if it just dropped, that's not what usenet was for

shackleford
Sep 4, 2006

well i mean cantrill infamously signed that post with his sun.com email address, that's what makes it so funny, he was posting at work. miller was at rutgers at the time

so this is interesting as well, looks like they did a USENIX presentation based on the usenet post: https://www.usenix.org/legacy/publications/library/proceedings/ana97/summaries/miller_invite.html

quote:

Questions/Answers. This was, arguably, the most fun part of this talk. David came up with a number of questions that "opponents" of SPARCLinux typically throw at him, and then he responded to them. One of the questions he posted dealt with having a single kernel to support all of the various SPARC architectures (as opposed to the way that SunSoft has different kernel architectures requiring different kernels and different compiled routines). David's response: "Oh Really? Ask the users if they want to remember the difference [moving a kernel to a new architecture is not as simple as an rcp]. Besides, it is still faster than Solaris!"

My favorite question revolved around the scalability of SPARCLinux. David's response was that the more people who use it, the more people who will be interested in making it better and more scalable; thus the scalability issue will go away. His first answer, however, was my favorite: "bite me!"

lol

also lol that whoever wrote the summary for USENIX was scandalized at the idea of a kernel that requires a specific C compiler optimization instead of being written in pure portable ANSI Standard C

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

shackleford posted:

presumably both of these nerds have chilled out a bit since their early 20's

I have it on good authority that Cantrill is pretty lovely and that response is just the tip of the iceberg

can’t say more (not my story to tell) but regardless of his technical chops, he’s persona non grata to some folks I know and trust

pseudorandom name
May 6, 2007

keep in mind that davem was 22 and bryan cantrill was 23 so there's a decent change the answer was "no" for both of them and also that bryan was genuinely curious

Athas
Aug 6, 2007

fuck that joker

Beeftweeter posted:

he's calling him a huge nerd

They were both kernel programmers, so they were both nerds. One of them was just better at his job.

I remember reading that post when I was new to Linux, and not really understanding the technical details. I now understand them all and even think it's a very nice piece of technical writing. This is called personal growth.

Cybernetic Vermin
Apr 18, 2005

Athas posted:

They were both kernel programmers, so they were both nerds. One of them was just better at his job.

i presume you mean cantrill was better at his job? because while the thread is real impressed with the post it is linux 1.3, which is a point where even terming anything about it a "job" is kind of ridiculous. a lot of the tech argument also boils down to "look at all this historical cruft, my 4 year old kernel has *no bullshit*!"

i can easily imagine it doing one tiny benchmark or another well, but, like, that era of linux basically bears no relation to the e.g. 2.2-2.4 era when it started being a legitimately deployable thing

ryanrs
Jul 12, 2011

but now with a ton of baggage, linux is still faster, yeah?

Cybernetic Vermin
Apr 18, 2005

ryanrs posted:

but now with a ton of baggage, linux is still faster, yeah?

pretty sure linux 6.8 would be crushed by linux 1.3 on a sun4m box in these micro-measurements.

otoh linux 6.8 would likely also be crushed by e.g. contiki if you're going to get into fitting featureless network stacks into caches and counting cycles in schedulers that basically blindly fifo.

(but, i mean, point is not that solaris was so great and should have stuck around, just that the read of that argument as miller and linux 1.3 dunking on sun with all the 50 instructions saved on critical op exit() is a bit dubious)

Cybernetic Vermin fucked around with this message at 11:03 on Apr 23, 2024

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?
makes sense now that NetBSD 8 was within 10% of SunOS 4.1.4 performance on a SPARCstation 2 though, that’s a hell of a lot of overhead

I wonder if it’s some sort of artifact of how the Sun-3 MMU worked that they preserved in SPARC to make porting easier

unlike HP and Tektronix but like Apollo, Sun didn’t use the 68851 in their 68020 systems, they used a discrete MMU of their own design descended from the Sun-2 MMU; I should compare SunOS 4.1.1U1 and NetBSD 10 performance on my Sun-3/60 and Sun-3/80 and see how they fare

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

ryanrs posted:

but now with a ton of baggage, linux is still faster, yeah?

than sunOS? considering the hardware that supports, probably

Beeftweeter
Jun 28, 2005

OFFICIAL #1 GNOME FAN

Athas posted:

They were both kernel programmers, so they were both nerds. One of them was just better at his job.

I remember reading that post when I was new to Linux, and not really understanding the technical details. I now understand them all and even think it's a very nice piece of technical writing. This is called personal growth.

yeah, but it's a personal dig. presumably cantrill was trolling, but

eschaton posted:

I have it on good authority that Cantrill is pretty lovely and that response is just the tip of the iceberg

can’t say more (not my story to tell) but regardless of his technical chops, he’s persona non grata to some folks I know and trust

apparently some people just don't grow

FlapYoJacks
Feb 12, 2009
Fedora 40 is out. Time to upgrade HBag!

Jonny 290
May 5, 2005



[ASK] me about OS/2 Warp
hbag is fine as is they dont need to be upgraded

Silver Alicorn
Mar 30, 2008

𝓪 𝓻𝓮𝓭 𝓹𝓪𝓷𝓭𝓪 𝓲𝓼 𝓪 𝓬𝓾𝓻𝓲𝓸𝓾𝓼 𝓼𝓸𝓻𝓽 𝓸𝓯 𝓬𝓻𝓮𝓪𝓽𝓾𝓻𝓮
I’m using kubuntu

ziasquinn
Jan 1, 2006

Fallen Rib

Athas posted:

They were both kernel programmers, so they were both nerds. One of them was just better at his job.

I remember reading that post when I was new to Linux, and not really understanding the technical details. I now understand them all and even think it's a very nice piece of technical writing. This is called personal growth.

Sorry now you're bragging

Well Played Mauer
Jun 1, 2003

We'll always have Cabo

FlapYoJacks posted:

Fedora 40 is out. Time to upgrade HBag!

fedora 40 is pretty solid. I like KDE 6 quite a bit. the hdr support is nice too

Captain Foo
May 11, 2004

we vibin'
we slidin'
we breathin'
we dyin'

Silver Alicorn posted:

I’m using kubuntu

same

FAT32 SHAMER
Aug 16, 2012



I am waiting for Bazzite to update to Fedora 40 :)

FlapYoJacks
Feb 12, 2009
I switched to F40 a few days after plasma 6 was merged in and it’s been very needs suiting.

ryanrs
Jul 12, 2011

code:
 make[3] -C feeds/luci/protocols/luci-proto-ipv6 clean-build
 make[3] -C feeds/luci/protocols/luci-proto-ipv6 compile
 make[3] -C feeds/packages/libs/libpfring clean-build
 make[3] -C feeds/packages/libs/libpfring compile
    ERROR: package/feeds/packages/libpfring failed to build.
 make[3] -C package/network/utils/iw clean-build
 make[3] -C package/network/utils/iw compile
 make[3] -C package/boot/uboot-fritz4040 clean-build
 make[3] -C package/boot/uboot-fritz4040 compile
 make[3] -C package/boot/uboot-fritz4040 clean-build
 make[3] -C package/boot/uboot-fritz4040 compile
 make[3] -C package/boot/uboot-fritz4040 clean-build
 make[3] -C package/boot/uboot-fritz4040 compile
 make[3] -C package/boot/uboot-fritz4040 clean-build
 make[3] -C package/boot/uboot-fritz4040 compile
make -r world: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on
make: *** [/home/ryan/openwrt/include/toplevel.mk:232: world] Error 1

real	521m24.503s
user	2696m59.014s
sys	214m48.602s
ryan@rockpro64:~/openwrt$ 
Oof, I think I need a faster build machine. But it would have to be something free I can salvage from storage.

sb hermit
Dec 13, 2016





ryanrs posted:

code:
 make[3] -C feeds/luci/protocols/luci-proto-ipv6 clean-build
 make[3] -C feeds/luci/protocols/luci-proto-ipv6 compile
 make[3] -C feeds/packages/libs/libpfring clean-build
 make[3] -C feeds/packages/libs/libpfring compile
    ERROR: package/feeds/packages/libpfring failed to build.
 make[3] -C package/network/utils/iw clean-build
 make[3] -C package/network/utils/iw compile
 make[3] -C package/boot/uboot-fritz4040 clean-build
 make[3] -C package/boot/uboot-fritz4040 compile
 make[3] -C package/boot/uboot-fritz4040 clean-build
 make[3] -C package/boot/uboot-fritz4040 compile
 make[3] -C package/boot/uboot-fritz4040 clean-build
 make[3] -C package/boot/uboot-fritz4040 compile
 make[3] -C package/boot/uboot-fritz4040 clean-build
 make[3] -C package/boot/uboot-fritz4040 compile
make -r world: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on
make: *** [/home/ryan/openwrt/include/toplevel.mk:232: world] Error 1

real	521m24.503s
user	2696m59.014s
sys	214m48.602s
ryan@rockpro64:~/openwrt$ 
Oof, I think I need a faster build machine. But it would have to be something free I can salvage from storage.

this reminds me of when I tried to build world on a 486 in 2001 or so and it took a week

sb hermit
Dec 13, 2016





anyways, any arm machine that doesn’t have like a superscalar architecture (like the apple m1 and successors, or other similarly powerful processors) will be absolute rear end in compilation by the way

FlapYoJacks
Feb 12, 2009

ryanrs posted:

code:
 make[3] -C feeds/luci/protocols/luci-proto-ipv6 clean-build
 make[3] -C feeds/luci/protocols/luci-proto-ipv6 compile
 make[3] -C feeds/packages/libs/libpfring clean-build
 make[3] -C feeds/packages/libs/libpfring compile
    ERROR: package/feeds/packages/libpfring failed to build.
 make[3] -C package/network/utils/iw clean-build
 make[3] -C package/network/utils/iw compile
 make[3] -C package/boot/uboot-fritz4040 clean-build
 make[3] -C package/boot/uboot-fritz4040 compile
 make[3] -C package/boot/uboot-fritz4040 clean-build
 make[3] -C package/boot/uboot-fritz4040 compile
 make[3] -C package/boot/uboot-fritz4040 clean-build
 make[3] -C package/boot/uboot-fritz4040 compile
 make[3] -C package/boot/uboot-fritz4040 clean-build
 make[3] -C package/boot/uboot-fritz4040 compile
make -r world: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on
make: *** [/home/ryan/openwrt/include/toplevel.mk:232: world] Error 1

real	521m24.503s
user	2696m59.014s
sys	214m48.602s
ryan@rockpro64:~/openwrt$ 
Oof, I think I need a faster build machine. But it would have to be something free I can salvage from storage.

make menuconfig -> developer options -> enable ccache.

It won’t speed up initial builds but subsequent builds will be faster.

sb hermit
Dec 13, 2016





this is why when I usually develop code on my pi400, I either make small binaries or I use a scripting language like python, keeps the momentum going

FlapYoJacks
Feb 12, 2009

sb hermit posted:

this is why when I usually develop code on my pi400, I either make small binaries or I use a scripting language like python, keeps the momentum going

That’s a build log for openwrt which builds an entire embedded Linux file system.

ryanrs
Jul 12, 2011

Yeah I can't unfuck this SoC's USB phy in python.

sb hermit
Dec 13, 2016





FlapYoJacks posted:

That’s a build log for openwrt which builds an entire embedded Linux file system.

My response was actually to respond to what I wrote before:

sb hermit posted:

anyways, any arm machine that doesn’t have like a superscalar architecture (like the apple m1 and successors, or other similarly powerful processors) will be absolute rear end in compilation by the way

sb hermit
Dec 13, 2016





ryanrs posted:

Yeah I can't unfuck this SoC's USB phy in python.

:smith:

sb hermit
Dec 13, 2016





“Please re-run make with -j1”

On the one hand, I can’t blame them, but on the other hand, :tif:

FlapYoJacks
Feb 12, 2009

sb hermit posted:

“Please re-run make with -j1”

On the one hand, I can’t blame them, but on the other hand, :tif:

“make -j$(nproc) V=sc” works fine.

sb hermit
Dec 13, 2016





FlapYoJacks posted:

“make -j$(nproc) V=sc” works fine.

I mean, I’m sure it does, but also I think it is a catch-all of “some of these jobs are not comfortable with being run simultaneously or we haven’t gotten around to addressing some dependency issues just yet” kind of deal that I saw a lot in my older embedded linux builds (like from 20 years ago) that didn’t like the idea of modern processors having more than one core.

We have certainly advanced a good deal since then, but every once in awhile there’s a concurrency issue that rears its head. And it’s those issues that are some of the hardest to figure out, particularly if it’s in code that’s not your own.

ryanrs
Jul 12, 2011

code:
--- a/kernel/pf_ring.c
+++ b/kernel/pf_ring.c
@@ -5605,7 +5605,7 @@ static int packet_ring_bind(struct sock
 static int ring_bind(struct socket *sock, struct sockaddr *sa, int addr_len)
 {
   struct sock *sk = sock->sk;
-  char name[sizeof(sa->sa_data)+1];
+  char name[sizeof(sa->sa_data_min)+1];
 
   debug_printk(2, "ring_bind() called\n");
 
@@ -5617,7 +5617,7 @@ static int ring_bind(struct socket *sock
   if(sa->sa_family != PF_RING)
     return(-EINVAL);
 
-  memcpy(name, sa->sa_data, sizeof(sa->sa_data));
+  memcpy(name, sa->sa_data, sizeof(sa->sa_data_min));
 
   /* Add trailing zero if missing */
   name[sizeof(name)-1] = '\0';
lol I don't need compiler messages to fix this code

running make -j7 again

FlapYoJacks
Feb 12, 2009
Nah, it’s because running j1 makes the logs easier to parse as everything is sequential.

FlapYoJacks
Feb 12, 2009

ryanrs posted:

code:
--- a/kernel/pf_ring.c
+++ b/kernel/pf_ring.c
@@ -5605,7 +5605,7 @@ static int packet_ring_bind(struct sock
 static int ring_bind(struct socket *sock, struct sockaddr *sa, int addr_len)
 {
   struct sock *sk = sock->sk;
-  char name[sizeof(sa->sa_data)+1];
+  char name[sizeof(sa->sa_data_min)+1];
 
   debug_printk(2, "ring_bind() called\n");
 
@@ -5617,7 +5617,7 @@ static int ring_bind(struct socket *sock
   if(sa->sa_family != PF_RING)
     return(-EINVAL);
 
-  memcpy(name, sa->sa_data, sizeof(sa->sa_data));
+  memcpy(name, sa->sa_data, sizeof(sa->sa_data_min));
 
   /* Add trailing zero if missing */
   name[sizeof(name)-1] = '\0';
lol I don't need compiler messages to fix this code

running make -j7 again

huh, I’m pretty sure I submitted a patch for that and it was merged upstream on the master branch.

Adbot
ADBOT LOVES YOU

sb hermit
Dec 13, 2016





ryanrs posted:

code:
--- a/kernel/pf_ring.c
+++ b/kernel/pf_ring.c
@@ -5605,7 +5605,7 @@ static int packet_ring_bind(struct sock
 static int ring_bind(struct socket *sock, struct sockaddr *sa, int addr_len)
 {
   struct sock *sk = sock->sk;
-  char name[sizeof(sa->sa_data)+1];
+  char name[sizeof(sa->sa_data_min)+1];
 
   debug_printk(2, "ring_bind() called\n");
 
@@ -5617,7 +5617,7 @@ static int ring_bind(struct socket *sock
   if(sa->sa_family != PF_RING)
     return(-EINVAL);
 
-  memcpy(name, sa->sa_data, sizeof(sa->sa_data));
+  memcpy(name, sa->sa_data, sizeof(sa->sa_data_min));
 
   /* Add trailing zero if missing */
   name[sizeof(name)-1] = '\0';
lol I don't need compiler messages to fix this code

running make -j7 again

:ohdearsass:

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply