Left_Turn has quit [Read error: Connection reset by peer]
X-Scale has joined #osdev
Maja has joined #osdev
gog has quit [Quit: byee]
X-Scale has quit [Ping timeout: 256 seconds]
LainExperiments has joined #osdev
troseman has quit [Quit: troseman]
<geist>
yeah
<Ermine>
what ld do people actually use?
<geist>
generally just whatever
<geist>
if using clang, lld, otherwise binutils ld
<geist>
or whatever the platform demands
<heat>
GNU GOLDDDDDDDDD
<Ermine>
bfd? supposedly old. gold? supposedly bad. lld? it's llvm, so yeah, if you're using clang. mold? Supposedly new and not battle-tested
<heat>
you know i've just figured out i've probably been radically slowing down the build by enforcing -g
<heat>
bfd is perfectly acceptable and has had good speedups
<heat>
note that most of this shit doesn't really matter unless you're linking chrome
<heat>
gnu gold and lld were very much made by google to be chrome linking machines
<geist>
it's one of these sort of things where if you're linking chromium 20 times a day and you want to speed up the build by 5% so you can get a promotion... sure
<geist>
bingo
<geist>
not that it's not good work, etc. but the gains in most cases i think are minor enough that it shouldn't matter to the layperson
<geist>
but would if you're running a fleet of a thousand machines running builds every second
<geist>
that ends up being real cashmoney
<heat>
lld is actually quite a lot faster than bfd and stuff, but it really depends whether your build is linker limited
<geist>
yah
<geist>
and what sort of LTO you're using and whatnot
<heat>
e.g using lld for chrome is nice because there's a huge executable in the way (that enables a bunch of funky expensive linker options), for clang too (lots of linker invocations, heavy duty c++, maybe even LTO)
<heat>
yeah
<heat>
but e.g the linux kernel links itself two or three times and it's not even super painful
<Ermine>
chrome is... a really special case
<heat>
oh wow the -g vs !-g speed difference is insane
<heat>
guess i'm turning that off for the time being
<heat>
fedora has -g in CFLAGS by default but i don't _really_ need it nor do i have the build farm for it
<heat>
this was just binutils, gcc was going to be CBT (capybara therapy)
<Ermine>
is it expected behaviour for -g to slow down the build?
<heat>
yes
<heat>
if you're into BDSM you should try a debug LLVM build
<Ermine>
oh
<Ermine>
once again, what kind of machines do llvm devs have?
<heat>
the ones google give them
<heat>
or $insert_other_big_employer
<heat>
geist, how many cores and memory does your workstation have again?
<SystemPrompt>
i was thinking this company i worked for gave each developer similar ram but double the cores, but now that i try to remember it, it might have been the same. older than a threadripper though, it was a dual xeon or something.
nadja has quit [Ping timeout: 265 seconds]
nadja has joined #osdev
X-Scale has joined #osdev
Arthuria has joined #osdev
edr has quit [Quit: Leaving]
remexre has quit [Remote host closed the connection]
LainExperiments has quit [Ping timeout: 256 seconds]
Fingel has joined #osdev
melonai has joined #osdev
karenw has quit [Ping timeout: 244 seconds]
<geist>
yeah at google
<kazinsal>
RIP AND TEAR YOUR THREADS
heat has quit [Ping timeout: 248 seconds]
Fingel has quit [Quit: Fingel]
Fingel has joined #osdev
Fingel has quit [Client Quit]
Fingel has joined #osdev
craigo has quit [Ping timeout: 260 seconds]
mavhq has quit [Ping timeout: 260 seconds]
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
remexre has joined #osdev
remexre has quit [Remote host closed the connection]
stolen has quit [Quit: Connection closed for inactivity]
lanodan has joined #osdev
Brnocris1 is now known as Brnocrist
Fingel has quit [Quit: Fingel]
<geist>
kazinsal: rip and tear, indeed.
karenw has joined #osdev
mavhq has quit [Ping timeout: 272 seconds]
ThinkT510 has quit [Ping timeout: 252 seconds]
mavhq has joined #osdev
ThinkT510 has joined #osdev
X-Scale has quit [Quit: Client closed]
mavhq has quit [Ping timeout: 248 seconds]
npc has joined #osdev
heat has joined #osdev
<heat>
why would anyone rip and tear perfectly good threads?
<heat>
this is the society we live in...
npc has left #osdev [#osdev]
Left_Turn has joined #osdev
zaquest has quit [Remote host closed the connection]
GeDaMo has joined #osdev
karenw has quit [Ping timeout: 244 seconds]
jjuran has quit [Quit: Killing Colloquy first, before it kills me…]
jjuran has joined #osdev
Left_Turn has quit [Ping timeout: 244 seconds]
Left_Turn has joined #osdev
mavhq has joined #osdev
mavhq has quit [Ping timeout: 255 seconds]
<SystemPrompt>
rip threads, return to eventloope
mavhq has joined #osdev
gildasio has quit [*.net *.split]
foudfou has quit [*.net *.split]
_ngn has quit [*.net *.split]
chiselfuse has quit [*.net *.split]
<nikolar>
*doom music starts playing*
mavhq has quit [Ping timeout: 244 seconds]
_ngn has joined #osdev
foudfou has joined #osdev
chiselfuse has joined #osdev
gildasio has joined #osdev
getz has joined #osdev
X-Scale has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
raphaelsc has joined #osdev
X-Scale has quit [Ping timeout: 256 seconds]
_ngn- has joined #osdev
_ngn has quit [Remote host closed the connection]
osdev199 has joined #osdev
<kof673>
o_O
<osdev199>
Hi, should I use gnu as or fasm assembler to write the UEFI bootloader?
<kof673>
i use nasm, but have not touched uefi stuff
<kof673>
i think generally people here recommend against writing any bootloader, since it is somewhat a time sink
<Mutabah>
well, uefi isn't as bad
<osdev199>
is it a good idea to use multiple assemblers in your project?
<kof673>
i did not choose nasm really either for any reason except seems more lightweight, and believe it will run on dos easily or wherever else. seemed like it would be easier/smaller to hack on
<osdev199>
FASM has UEFI resources. I could not find one for the gnu as.
zhiayang has quit [Ping timeout: 246 seconds]
zhiayang has joined #osdev
mavhq has joined #osdev
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 265 seconds]
zetef has joined #osdev
zetef has quit [Client Quit]
<netbsduser>
acpica maintainer gone
<zid`>
did you eat him
<netbsduser>
it seems he smashed up someone's corvette in a fit of pique and got sacked by intel for it
<bslsk05>
thenewstack.io: P99Conf: How eBPF Could Make Faster Database Systems - The New Stack
<Ermine>
it's CMU guy though
<heat>
lol andy pavlo
<heat>
not even worth reading
<heat>
NAK NAK NAK NAK NAK
<Ermine>
do you know about him?
<heat>
yes
<heat>
it's another of his usual awful hot takes
<Ermine>
okay
getz has quit [Quit: A mystery...]
getz has joined #osdev
goliath has quit [Quit: SIGSEGV]
<zid`>
what's the premise, custom schema implemented in a bytecode?
<netbsduser>
andy pavlo is not up to date
<netbsduser>
eBPF is no longer the future
<zid`>
That seems like it *could* work, but would be slower than native code, so you'd just twist your data to fit into the native format like you already do now anyway imo
<netbsduser>
rust and webassembly are, and have been since at least 2019
<heat>
these people want to move everything to the kernel
<heat>
it's actually insane
<netbsduser>
"The OS only wants to crush the database’s spirit and impose [its] iron will on them." well there's an argument for databases to have considerable privilege around memory management
<netbsduser>
in principle that should already be doable
<netbsduser>
wire your memory and since you're a database you have more sophisticated means than the access-bit to carry out your own page replacement
<zid`>
The DB people themselves already patched in everything they *wanted*
<netbsduser>
anyway database in kernel is already done in IBM i
<heat>
>well there's an argument for databases to have considerable privilege around memory management
<heat>
no there isnt
<zid`>
I expect that to continue, not some rando in love with ebpf to shoehorn it into the DB space
getz has quit [Quit: A mystery...]
<netbsduser>
heat: there is
<zid`>
they want mmap flags and fast io, and they have that
<heat>
there isnt
<heat>
a db is just like another program
<netbsduser>
database engines are similar to the vmm/filesystem taken as the pair they form
<heat>
in practice it happens that the db people (oracle db, et al) hold considerable power in mm/fs
<heat>
it should not be the case
<netbsduser>
they have their own "file cache" and page replacement policy
<zid`>
heat: yup, they've added what they want already
<zid`>
cus.. they're the main drivers of regression tests in the kernel lol
<zid`>
they're always coming up with "This random tweak improves perf on our 128TB dataset by 2%" patches
<heat>
exactly, the db people reimplement their own page cache and people just eat it up
<zid`>
and "NAK, this makes our db 1% slower"
<zid`>
or "We added a flag to mmap to do precisely what we need for this specific fluid sim cluster"
<heat>
andy pavlo notoriously argues against mmap, because doing manual buffer management is great and all
<heat>
mmap is literally "okay here's automagic memory, we do buffer management for you"
<heat>
if chrome wanted to add its own page cache people would tell them to fuck right off
<netbsduser>
that's because they do better at it, they're not files. oses have been hosting them successfully for decades by providing the ability to wire memory and do async i/o, which should be all you really need (well, add pinning threads to cores and other stuff)
<heat>
but because it's postgres it's a really good idea
<zid`>
either the kernel does what you want and you can just do lots of mmaps, or it doesn't and you do a big one, gg
<zid`>
wasn't there a big firefox/chrome bug with the latter on windows?
<heat>
maybe. was it a bruce dawson blog post?
<zid`>
yea
<stolen>
I forgot this channel existed and was pretty active :)
<zid`>
I can't remember enough details to find it
<heat>
netbsduser, if they do better at it, why did mongo spank traditional DBs with mmap?
<zid`>
oh, fuck, his wife died
andreas303 has joined #osdev
<heat>
if they do better at it, why not improve the kernel's page replacement logic?
<heat>
oh damn, rip
<netbsduser>
because mongo db is webscale
<netbsduser>
and database v.s. general page replacement are different matters
<netbsduser>
you have a bit more help than an accessed bit for the former
getz has joined #osdev
<kof673>
"The OS only wants to crush the database’s spirit and impose [its] iron will on them." iron was the red spirit....anyways :D 2 different cultures, like this :D
Turn_Left has joined #osdev
<kof673>
"you bet *against* the harlem globetrotters?" "you bet *against* the iron throne?" j/k
<the_oz>
"I want to make dealing with the DB harder for humans in the name of making the interoperation slowpath faster"
getz has quit [Quit: A mystery...]
<the_oz>
the choice should be either completely helpful slow path high interactive least weird or complete raw speed. Stuff that tries to aim for the medium socially is like uhhhhhh
<the_oz>
figuring out how to bridge one gulf to the other is an implementation detail. Go ahead and fix it but
<the_oz>
>in-kernel packet filtering
<the_oz>
oh, I thought it was the compiler language thing
<heat>
netbsduser, i fail to see how such great db foresight couldn't be told to the kernel
<the_oz>
>eBNF
<the_oz>
the hardware is headed towards offloading packets from the CPU altogether
<heat>
linux even has madvise() which can tell all sorts of fun stuff to the kernel (and do all sors of fun stuff with virtual memory)
<the_oz>
DPU/IPU whatevers
<the_oz>
or is it xzibit abstraction
<netbsduser>
heat: i am sceptical of it
<netbsduser>
a database can do LRU while only fictional computers can efficiently allow kernels to implement that for memory access generally
<heat>
database can do LRU as efficiently as a kernel
<netbsduser>
and since it would be obnoxious to repeatedly buzz the kernel to tell it about the latest developments with each db page, some new more efficient interface would have to be dreamt up to allow the database engine to tell the kernel about stuff
<heat>
that is to say, not efficiently at all
<the_oz>
run DB on hot metal. EZPZ
<the_oz>
what kernel? I run my SQL in ring 0
<netbsduser>
databases can do stuff in response to each access in a way not possible for a kernel with memory access
getz has joined #osdev
<the_oz>
everything else has been evicted
<the_oz>
"How do you query the server?" NO TIME FOR THAT
<the_oz>
"rise up against the kernel, programs" pavlo is a computing commie
Fingel has quit [Ping timeout: 255 seconds]
JTL has quit [Ping timeout: 255 seconds]
getz has quit [Quit: A mystery...]
<the_oz>
ugh being in userspace SUCKS amirite comrades?
spare has joined #osdev
<pog>
this is a user space, anti-user speech will not be tolerated
<the_oz>
MY LIFE IS HELLLLLLLLLLLLL AND IT'S YOUR FAULT
<pog>
ok
<pog>
how much have you had to drink
<pog>
it's either too much or not nearly enough
<the_oz>
if I were kernel, I'd build a utopia. *said while standing on the necks of tyrannicalized enemy'd others' concerned programs
* zid`
checks the logs
<zid`>
heh
<pog>
a timeslot in every pot, a virtual memory space in every yard
<zid`>
pog: I am anti-user
<pog>
uesrist
JTL has joined #osdev
<zid`>
users are why software sucks
<pog>
true
<the_oz>
aaaaaaa uuuuuusseerrrrrrr
<pog>
i'm leaving now
<pog>
byeeee
<the_oz>
*wave* thx 4 stopping by
<zid`>
when you come back
<zid`>
bring battered sausages
<kof673>
well if you back far enough......... > Over the last 50 years, operating systems have been making the lives of database engineers absolutely miserable
getz has joined #osdev
<kof673>
if they were here building their own kernel, there would not be controversy. it is when trying to get something merged into another project :D
getz has quit [Client Quit]
<the_oz>
This rhetoric only works with an oppressor
<the_oz>
even as a figurehead
<kof673>
yes lol
<the_oz>
if you handed them the role and said "OK, you do it then", if they were smart they'd replace with another to rail against, if they were dumb they'd redo it worse
hwpplayer1 has quit [Quit: I need to close my device see you tomorrow]
X-Scale has quit [Ping timeout: 256 seconds]
Left_Turn has quit [Ping timeout: 245 seconds]
LainExperiments has quit [Quit: Client closed]
LainExperiments has joined #osdev
sbalmos has quit [Quit: WeeChat 4.4.2]
sbalmos has joined #osdev
X-Scale has joined #osdev
craigo has joined #osdev
X-Scale has quit [Quit: Ping timeout (120 seconds)]
stolen has quit [Quit: Connection closed for inactivity]
LainExperiments6 has joined #osdev
LainExperiments has quit [Ping timeout: 256 seconds]
LainExperiments6 has quit [Ping timeout: 256 seconds]
_ngn has quit [Ping timeout: 260 seconds]
LainExperiments has joined #osdev
Arthuria has quit [Ping timeout: 252 seconds]
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
xenos1984 has quit [Read error: Connection reset by peer]
LainExperiments has quit [Quit: Client closed]
xenos1984 has joined #osdev
raphaelsc has quit [Ping timeout: 245 seconds]
_ngn has joined #osdev
<SystemPrompt>
components that stand between programs and hardware get in the way of programs that want to fully utilize hardware, yes. Those components are also there for reasons and bring benefits, usually.
<SystemPrompt>
it's like how writing in Java gets in the way if you want to use your processor's SIMD units.
<SystemPrompt>
writing a user-space linux program gets in the way if you want to use your hard drive directly, except it doesn't really since linux does let you access your hard drive directly. SATA gets in the way if you want to optimize your cylinder layout :)
<SystemPrompt>
i suppose the current bottleneck of linux would be something to do with NVMe command queuing.
<SystemPrompt>
your database just wants to issue concurrent commands to the hard drive, but it has to issue concurrent commands to linux instead, and hope linux translates those into concurrent commands to the drive without much of an impedance mismatch.
SystemPrompt was kicked from #osdev by sortie [Hi Mart, come back next year]
<heat>
hahahaha dude that's not mart
<heat>
systemprompt was immibis
<sortie>
oooooppps. I kinda realized that when I read it carefully and understood it
<kof673>
i noticed that was immibis too, but as long as not doing "politics" fine IMO. i had on ignore earlier :D
SystemPrompt has joined #osdev
<SystemPrompt>
what
* SystemPrompt
has kicked sortie from #osdev (what)
<sortie>
SystemPrompt: See my DM. You mentioned NVMe command queuing, posted very quickly, I didn't recognize the nick, and I pattern matched you with one of our long time spammers :)
<sortie>
Sorry about that
<heat>
sortie was a regex all along, when he really should be a turing machine
<the_oz>
The problem is that you w`ant other legitimate users to have less
<sortie>
I was almost happy to see Mart return. It's been years since he popped up now. I like to think he's in a happier place detained by the authorities.
* sortie
narrows eyes and looks at the_oz
<the_oz>
what
<heat>
mart hangs around #dri-devel and #llvm now
<the_oz>
fry.gif
<the_oz>
add to shopping list >sortie mind reader
<zid`>
which specific one is mart, one of the .ee schizos?
<sortie>
yep
gog has joined #osdev
<zid`>
gog where battered sausages
<gog>
yo know what fuck it
* gog
batters your sausage
<zid`>
ow
<kof673>
from the ebpf link, i do not have anything to add, just always bet on chaos/confusion of tongues :D Chainguard CEO Warns of Open Source License Erosion
<the_oz>
Huh. Outsourcing what used to be your own walled garden to Chainguard
<kof673>
yes, i have no idea what/who that is, was only commenting on the rest
<the_oz>
of COURSE you can count on their description playing into their idea