vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Beato has joined #osdev
Terlisimo has quit [Ping timeout: 255 seconds]
onering has quit [Ping timeout: 255 seconds]
Terlisimo has joined #osdev
gog has quit [Ping timeout: 260 seconds]
V_ is now known as V
gbowne1 has joined #osdev
MrBonkers has quit [Remote host closed the connection]
geist has joined #osdev
MrBonkers has joined #osdev
[itchyjunk] has joined #osdev
Arthuria has joined #osdev
brynet has joined #osdev
Arthuria has quit [Remote host closed the connection]
[itchyjunk] has quit [Remote host closed the connection]
stolen has joined #osdev
elastic_dog has quit [Ping timeout: 258 seconds]
elastic_dog has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
admiral_frost has quit [Quit: It's time]
Matt|home has joined #osdev
dude12312414 has joined #osdev
rustyy has joined #osdev
xenos1984 has joined #osdev
Burgundy has joined #osdev
netbsduser`` has joined #osdev
gbowne1_ has joined #osdev
gbowne1 has quit [Ping timeout: 255 seconds]
frkzoid has joined #osdev
netbsduser`` has quit [Ping timeout: 255 seconds]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
Hammdist has joined #osdev
netbsduser`` has joined #osdev
netbsduser`` has quit [Ping timeout: 255 seconds]
Burgundy has quit [Ping timeout: 272 seconds]
netbsduser`` has joined #osdev
Vercas8 has joined #osdev
Vercas has quit [Ping timeout: 252 seconds]
gildasio has quit [Ping timeout: 252 seconds]
Vercas8 is now known as Vercas
dza has quit [Quit: ]
gildasio has joined #osdev
dza has joined #osdev
dza has quit [Client Quit]
gildasio has quit [Remote host closed the connection]
netbsduser`` has quit [Ping timeout: 255 seconds]
gildasio has joined #osdev
dza has joined #osdev
SGautam has joined #osdev
dza has quit [Client Quit]
dza has joined #osdev
dza has quit [Client Quit]
dza has joined #osdev
<geist>
oh hey new rpi5 looks nice
<kazinsal>
ooh, they announced it?
<zid>
we just had a new rpi!
<zid>
got a link?
<kazinsal>
2.4 GHz quad-core A76, 4 or 8 GB LPDDR4X
<kazinsal>
1xGbE, 802.11ac. BLE 5.0
<kazinsal>
that as a compute module on a cheap PCIe backplane seems like a wonderful appliance
<zid>
found some stuff
<zid>
apparently it has a pch now :o
<zid>
I miss their original design philosophy a bit though
netbsduser`` has joined #osdev
<Hammdist>
should gic distributor be initialized first or controller? I've seen controller initialized first but my sense is if the distributor has arbitrarily broken config that will generate undesired interrupts vs initializing the distributor first
sprock has quit [Ping timeout: 255 seconds]
<Hammdist>
fwiw either way seems to work in QEMU but that's not a reliable indicator of anything
sprock has joined #osdev
<Hammdist>
neither does the datasheet of the gic-400 indicate how to initialize
netbsduser`` has quit [Ping timeout: 255 seconds]
<Hammdist>
while my code works in QEMU, on the actual hardware I keep reading iar==0 and doing eoir=iar in an attempt to clear all pending interrupts in a loop. any idea why does interrupt 0 keep firing?
gbowne1_ has quit [Quit: Leaving]
Left_Turn has joined #osdev
<Hammdist>
ah wait I had not plugged in the addresses of the gic and gicd let me do that ...
<geist>
Hammdist: when you say controller, what do you mean?
<geist>
like the per cpu local part of the GIC?
GeDaMo has joined #osdev
<Hammdist>
yeah. I call them gicc and gicd they are two separate reg ranges
<geist>
yeah figured that's what you eant. well, i guess it would make sense to at least zero out the gicc part so that if the gicd is misconfigured nothing fires
<geist>
i dont think it's a big deal honestly
<Hammdist>
I assume they are both off to begin with. well I have plugged in the correct addresses now and I get past the clear-pending-interrupts loop, so iar is working a bit. however, the cpu never wakes from wfi for now ... will continue investigating
<geist>
hmm, the rpi5 PCH is a bit weird though
<geist>
like now there's another blob of firmware that you have to deal with
<geist>
performance wise it seems to be about 2x a rpi4
xenos1984 has quit [Read error: Connection reset by peer]
<zid>
seems it basically *requires* a fan too
<geist>
yeah, though for all practical purposes i think the 4 does too
danilogondolfo has joined #osdev
<zid>
I like fewer blobs and fewer fans, so why it looks like.. a cheap full computer, it isn't an *rpi* anymore imo
<zid>
soul is gone
<zid>
*shakes fist at clouds*
<geist>
true dat
<geist>
there there
<clever>
geist: lspci -v on the pi5 (talking to a dude on discord) reports pcieport for the pcie controller, that doesnt sound like the crappy 1x lane thing from before?
<geist>
dunno
<zid>
it says it's a 1x 2.0
<zid>
rather than 1.0 at least
<clever>
zid: 4x to the rp1 chip, 1x to the FFC connector
<clever>
and many custom peripherals for other stuff
zxrom has quit [Ping timeout: 240 seconds]
goliath has joined #osdev
netbsduser`` has quit [Ping timeout: 255 seconds]
Benjojo has joined #osdev
Vercas has quit [Quit: Ping timeout (120 seconds)]
Vercas has joined #osdev
Burgundy has joined #osdev
zxrom has joined #osdev
zxrom has quit [Client Quit]
bauen1 has quit [Ping timeout: 260 seconds]
nuvls has quit [Ping timeout: 240 seconds]
nuvls has joined #osdev
<Ermine>
wow, pi5
<zid>
We need a pi5.5 now
<zid>
so I can call it the piss
zxrom has joined #osdev
bauen1 has joined #osdev
gog has joined #osdev
nur has joined #osdev
bnchs is now known as Cindy
pg12 has quit [Ping timeout: 240 seconds]
pg12 has joined #osdev
Hammdist has quit [Quit: Client closed]
Hammdist has joined #osdev
<Hammdist>
yes! I find the bug! I was offsetting the next cval from the "first" cval which is undefined. when I changed it to offset from cntpct it started to work
<zid>
So what tragedy do we think befell heat?
<sham1>
Living in Portugal
<zid>
I mean, that one is just implied
<zid>
It's a state of being, not a new development
nuvls has quit [Ping timeout: 255 seconds]
nuvls has joined #osdev
goliath has quit [Quit: SIGSEGV]
admiral_frost has joined #osdev
FireFly has joined #osdev
Hammdist has quit [Quit: Client closed]
bauen1 has quit [Ping timeout: 255 seconds]
bauen1 has joined #osdev
zxrom has quit [Ping timeout: 255 seconds]
<mcrod>
hi
goliath has joined #osdev
MrBonkers has quit [Quit: ZNC 1.8.2+deb2build5 - https://znc.in]
MrBonkers has joined #osdev
SGautam has quit [Quit: Connection closed for inactivity]
<sham1>
Hi
FreeFull has joined #osdev
<mcrod>
sham1 may I pet you
<sham1>
Um, sure
* mcrod
pets sham1
* sham1
wags tail
<mcrod>
tgmath is kind of a funny header
Hammdist has joined #osdev
<mcrod>
seems like it was just an attempt to make _Generic a thing years ago
<zid>
"Disambiguation" redirects here. For other uses, see Disambiguation (disambiguation).
zxrom has joined #osdev
<zid>
I found The Good Shit parts of wikipedia today
stolen has quit [Quit: Connection closed for inactivity]
bauen1 has quit [Ping timeout: 255 seconds]
<mcrod>
i've seen some crazy stuff on the front page in the "did you know" section
Vercas4 has joined #osdev
zxrom has quit [Quit: Leaving]
Vercas has quit [Quit: Ping timeout (120 seconds)]
<gog>
i'm half concerned that this is going to cause the industry to contract and hurt jobs and half concerned i'm wrong about it and that it is the future
<gog>
to contract when the whole thing falls apart*
<mcrod>
yeah too many people are jumping on the AI train
<mcrod>
and most people are morons
<sham1>
It'll be interesting to see
<sham1>
Of course the fact that it's called ""AI" is a misnomer
<zid>
It's not a misnomer at all, AI means whatever you want it to meaan
<zid>
The serious researchers talk about NN, recursive descent models, etc etc, nto AI
<zid>
AI is the marketting term with a specific non-meaning
<sham1>
But the thing is, it's not intelligent. Like at all
<zid>
And neither is my dust buster vacuum
<zid>
busting any dust
<sham1>
Right
<sham1>
I'd also call a vacuum cleaner a misnomer
<zid>
it doesn't clean any vacuums?
<zid>
I lost the lawsuit I filed against the people who made my toothbrush :(
<sham1>
Sadly not
<zid>
Turns out a reasonable interpretation is NOT that it should have been made of teeth
<zid>
bastards
MrBonkers has quit [Remote host closed the connection]
<puck>
what's with this "userland" function and how is it using 70% cpu,,
<heat>
what is that?
<Ermine>
gog: may I pet you
gxt has quit [Ping timeout: 252 seconds]
<gog>
yes
<zid>
conversely, 30% spent in syscalls is bad :P
* ChavGPT
pets gog first
<ChavGPT>
got em
* gog
prr
<Ermine>
RACE CONDITION DETECTED
<ChavGPT>
heat: make -j 8 from kernel build
* Ermine
takes gog mutex
* Ermine
pets gog
gxt has joined #osdev
* gog
prprr
<mcrod>
now i'll never be able to pet
* Ermine
drops the mutex
CapEnt has joined #osdev
* mcrod
takes gog mutex
* mcrod
pets gog
* mcrod
drops gog mutex
<heat>
i dont see anything horrendous except uvm_fault taking maybe too much cpu time
<ChavGPT>
their mtx_enter accounts for over half of sys time
<ChavGPT>
and this is only -j 8
<Ermine>
one of nvidia modules has 'uvm' in its name
<ChavGPT>
and, contention aside, it is artificially worse than it has to be because their code is stupid
<heat>
ChavGPT, no it doesn't
<heat>
Matched: 17.1%
<ChavGPT>
and kernel is 31.52
<heat>
mate it's proportional
<heat>
if you do it without the zoom on kernel, it says 5.4%
<ChavGPT>
oh my bad, so about 15% of sys time
<heat>
mtx_enter and mtx_enter_try being on separate stack frames is LUL
<pitust>
Ermine: uvm is the virtual memory thing used in BSDs
<ChavGPT>
it is a separate func to try
<heat>
nvidia uvm = unified virtual memory
<heat>
whereas the netbsd/openbsd uvm means nothing
<ChavGPT>
what is ified virtual memory?
<heat>
idk, its some nvidia GPU stuff
<heat>
maybe their memory manager?
<Ermine>
pitust: thank you, but it's obvious from the context, I just had to make a stupid remark
<ChavGPT>
i'm disappoint
<ChavGPT>
add
<ChavGPT>
unadd
<ChavGPT>
ify
<ChavGPT>
unify
<ChavGPT>
YOU FUCK
<heat>
haha
<heat>
hilarious
<heat>
i found your joke unfunny
<ChavGPT>
want a cheap laugh, talk to genz
<ChavGPT>
sorry, this was meant to go to #millenials
<heat>
their tooling looks fucked
<heat>
offsets are not being discarded
<ChavGPT>
that is easy to add
<heat>
it's kind of tampering with the results
<ChavGPT>
check this out, uvm_pagezero_thread getting in the way
<Ermine>
What are you trying to achieve btw?
<pitust>
pagezero threads are bad
<pitust>
they dont help
<pitust>
in fact they make things worse
<pitust>
so thats cool
<ChavGPT>
Ermine: me? some lulz
<heat>
DEBATABLE
<ChavGPT>
i'm not having that flame again
<heat>
flame some flamegraphs
<Ermine>
heat: this was question for you
<pitust>
DragonflyBSD removed their implementation because it was slower
<heat>
Ermine, achieving with what?
goliath has joined #osdev
<Ermine>
heat: ... with looking at bsd uvm source?
<heat>
i wasn't looking at bsd uvm source
<heat>
this is not even my flamegraph
<heat>
now, i have been looking at the uvm thesis, for inspiration
flom84 has joined #osdev
<mcrod>
i am building gcc
<mcrod>
what a process.
<Ermine>
A sight to behold
<geist>
all told it's at least not terribly compute intensive, unlike clang
<geist>
well, i mean relatively easier to build
* gog
clangs
<heat>
no dont clang never clang
<heat>
you'll take too long to build
<Ermine>
But then clang builds stuff faster?
<heat>
yea usually
<heat>
but if you really want to minimize build time you just build clang with full LTO on and wait a bunch of hours
<mcrod>
very soon
<mcrod>
I will have access to an EPYC
<mcrod>
and it will be glorious, glorious I tell you
<geist>
if it even completes, it's ram it mostly needs a crapton of
<heat>
yeah the cpu/mem ratio is nuts for full lto
<zid>
gcc is mainly converted to C++, rather than being full balls to the wall Boost at least
<zid>
cuts down on the memory and compile speed fairly significantly
<geist>
yah it's just not super fancy C++
dude12312414 has joined #osdev
<heat>
tbf llvm's C++ isn't too fancy either
<heat>
it's not balls-to-the-wall header-only
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
nyah has joined #osdev
admiral_frost has joined #osdev
<geist>
probably uses some stdc++ though and this brings in a fair amount of templates
<heat>
yeah
<heat>
including C++ stdlib files is an ez blow up of compile time
<heat>
so is any header-only lib (i.e google test headers)
<Ermine>
header-only libs bad
<Ermine>
but there's no other way for inline functions
<heat>
L T O
<heat>
but srsly the real problem with header-only libs are the incessant use of templates I think
<heat>
you can have plenty of inline functions and not have horrendous compile time
<geist>
yeah.
<geist>
it has to at least lex/parse the inlines, but doesn't go through the really expensive part until it instantiates it, but templates cause it to instantiate a lot of stuff, multiple times
<heat>
something i find really awkward though is how many large C/C++ projects have horrendously tangled headers
<heat>
mine included
<heat>
compile time suffers, and if you touch a header file you need to rebuild huge portions of the thing
<heat>
trying to have more efficient code through exposing types and inlines in headers inherently suffers from this issue
<heat>
(because then opaque types don't really work in many cases)
<Ermine>
time for fast headers patches?
<heat>
yeah but it's a PITA
<heat>
and i'm honestly not sure how unfuckable everything is
<Ermine>
That makes me think whether languages where you import modules, like rust or hare, are better in this regard
<pitust>
are they better?
<heat>
probably
<pitust>
touching any code is like changing a header
<pitust>
and you can't parallel build code
<pitust>
unless you basically do code -> header in the compiler
<heat>
it's not
<heat>
if you do incremental linking or whatever
<heat>
but this obviously all heavily relies on LTO to do inlining for you
<Ermine>
you have a point
<pitust>
if you are doing LTO
<pitust>
any argument about compile performance goes out the window
<heat>
well yes but you're not forced to do LTO
<heat>
in fact C++ got modules in C++20 because they're strictly advantageous
<heat>
essentially on-demand precompiled headers
flom84 has quit [Quit: Leaving]
Cindy is now known as bnchs
elastic_dog has quit [Ping timeout: 272 seconds]
stolen has quit [Quit: Connection closed for inactivity]
masoudd_ has joined #osdev
admiral_frost has quit [Quit: It's time]
admiral_frost has joined #osdev
elastic_dog has joined #osdev
heat has quit [Remote host closed the connection]
zxrom has quit [Quit: Leaving]
sbalmos has quit [Quit: WeeChat 3.0]
admiral_frost has quit [Quit: It's time]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
gbowne1 has joined #osdev
gbowne1 has quit [Remote host closed the connection]
gbowne1 has joined #osdev
<clever>
geist: oh, youve mentioned before, about how arm recommends a large spacing between peripherals? all of the bits of the RP1 are 64kb spaced
<geist>
perfect
<geist>
it's so if you use 64k pages you can still put them in their own page