klange changed the topic of #osdev to: Operating System Development || Don't ask to ask---just ask! || For 3+ LoC, use a pastebin (for example https://gist.github.com/) || Stats + Old logs: http://osdev-logs.qzx.com New Logs: https://libera.irclog.whitequark.org/osdev || Visit https://wiki.osdev.org and https://forum.osdev.org || Books: https://wiki.osdev.org/Books
<SystemPrompt> heat: "how is wayland so bad" second system effect
<SystemPrompt> btw with that "every frame is perfect" stuff... nobody stopped to think that means you can't resize a window that's not responding
<gog> oops
<SystemPrompt> because then it wouldn't look perfect
<Matt|home> hi gog o\
<gog> every frame a painting
<gog> hi Matt|home
<SystemPrompt> if a frame is wasted, god gets quite irate
<gog> dropping frames is fine
<gog> just don't dip me below 30fps pls
<heat> the human eye cannot see above 24 frames per second
<Matt|home> i was just about to ask that lol
<karenw> A stable 30fps beats a flustuating 50-60 fps any day
<heat> hmm no
<Matt|home> 30 fps = good target
<the_oz> intermittent etc
<heat> 30 sucks and you feel the input lag
<Ermine> so wayland just has wayland propaganda at each 25th frame
<karenw> A stable 60 is even better though
<heat> if you fluctuate between 50-60 that's okay
<heat> even 40 is (i feel) miles better than 30
<the_oz> computer monitors vs film
<Ermine> most displays are 60Hz though
<heat> input lag though
<karenw> It's personal preference, I prefer stable fps to higher but unstable, others are different.
<the_oz> fps isn't enough information
<karenw> Just like run everything at 144fps, problem solved.
<Ermine> idle kwin can do 0fps btw
<heat> i'd be pretty upset if my compositor did frames per second
<SystemPrompt> btw insisting on perfect frames adds latency. You have the data now, but you want to wait until vblank to present it?
<heat> yes.
<SystemPrompt> (the real solution is to schedule the whole system so the frame is done being computed at exactly the end of vblank but good luck with that)
<SystemPrompt> (some systems and I think even some Wayland compositors try to do this)
<Ermine> oh, that was not kwin, that was plasmashell actually
<the_oz> the real solution is to offload in between frames in non-causal timespace
<the_oz> fps: instantly every time!
<karenw> The real solution is to just use a text terminal not a monitor.
<the_oz> >no use a printer
<Ermine> The real solution is to stop using computers and go out and touch grass
<heat> AMEN BROTHA
<the_oz> I need to mow actually :(
<heat> no screen tearing here
<Ermine> Is this Portugal rn?
<karenw> Yeah, but if I go out and touch grass I just get rained on. It's bad for my laptop.
<SystemPrompt> Go in and touch glass
<heat> that's portugal but definitely not right now
<Ermine> which kind of winter do you have ?
<heat> 22C tomorrow
<heat> a little cloudy
<SystemPrompt> Post climate change winter
* kof673 people........... <points at libyan/libra desert sea of glass> go out and touch glass <points at mad mallard> <points at baron munchausen sailing through the sand>
* kof673 shakes head in disappointment
<Ermine> We have 7C rainy tomorrow
<Ermine> with -1C at night
<SystemPrompt> woah, negative temperatures, the thermometer is going backwards!
<Ermine> we even had some snow
<heat> in soviet russia, winter temperature too low to make joke
<Ermine> hence Portugal doesn't qualify for Eastern Europe
<heat> portugal is definitely eastern europe
* kof673 points at "The famous line "My God, it's full of stars!" were Dave Bowman's final words as he entered the monolith in the book version of 2001: A SpaceOdyssey."
<heat> croatia for instance also has decent weather
<heat> serbia is also decent but instantly just a little greyer
<Ermine> croatia is southern europe though?
<heat> croatia is generally considered eastern europe i'd say
vdamewood has joined #osdev
<Ermine> "Croatia is a country in Central and Southeast Europe"
<heat> like, geographically speaking even romania isn't in eastern europe i believe
vdamewood is now known as vampiredamewood
<heat> bosnia is _definitely_ eastern europe
<the_oz> walk like a bohemian
<heat> (lots of this has to do with being poor countries and the old iron curtain, even though yugoslavia wasn't in it)
<the_oz> flak trooper reportink
<Ermine> looked in wikipedia, and there are multiple definitions of Eastern Europe actually
<nikolar> the most common term for balkans (other than balkans) is southeastern europe
<nikolar> eastern europe is like russia, ukraine, belarus
<heat> southeastern europe is eastern europe with extra steps
<the_oz> steppes? eh? EH?
<heat> no thats asia
<Ermine> re iron curtain -- Warsaw pact is more relevant here
<nikolar> heat: not really
<heat> yes really, i'd challenge you to find someone in france or the uk that says serbia is in southeastern europe
<heat> vs eastern europe
<nikolar> that's just a general lack of geographic knowledge
<nikolar> they'd thinkg estonia is in the balkans or something
<heat> i very well know where serbia is and that's still eastern european for me
<heat> it is a cultural thing
<heat> greece? southern europe.
<heat> serbia? eastern europe.
<nikolar> how so
<nikolar> serbia and greece are culturally quite connected
<heat> no one says greek people are eastern european because you're not imagining them doing slav squats with adidas tracksuits
<spiderella> Serbia is slav
<nikolar> so eastern europe=slav for you
<spiderella> Yes
<nikolar> so just say slav
<heat> it's a cultural thing
<heat> not _entirely_ slav
<heat> but iron curtain, russian/turkish influence, etc most definitely
<nikolar> i am pretty certain official eu documents refer to balkans as south eastern europe btw
<nikolar> (or just balkans)
<heat> probably
<Ermine> Serbians are southern slavs though
<nikolar> sure, so?
<nikolar> poles are western slavs, yet no one calls them western europe
<Ermine> it was re eastern europe=slav
<heat> poles are more western europe than serbia
<nikolar> poles are central europe
<Ermine> UN statistics division considers them as Eastern Europe
<heat> yep, still eastern europe
<the_oz> Greece is Western Philosophy :D
<nikolar> along with germany, czechs, etc
<heat> but more culturally western
<heat> czechs are also on the eastern europe boat
<heat> austria isn't
<nikolar> Ermine: does the un statistics division split europe in 2 or something
<Ermine> no
<the_oz> 2 Papacies
<nikolar> So we're southern Europe
<the_oz> in time even the terrain will invalidate
<the_oz> like the rising of Atlantis in the now desert
heat has quit [Ping timeout: 246 seconds]
Turn_Left has joined #osdev
Turn_Left has quit [Read error: Connection reset by peer]
<bslsk05> ​blog.toast.cafe: What’s New in POSIX 2024 – XCU
eluks has quit [Ping timeout: 252 seconds]
thinkpol has quit [Ping timeout: 252 seconds]
gog has quit [Quit: byee]
thinkpol has joined #osdev
wereii has quit [Ping timeout: 252 seconds]
eluks has joined #osdev
wereii has joined #osdev
aethlas_ has joined #osdev
aethlas has quit [Ping timeout: 252 seconds]
Arthuria has quit [Ping timeout: 260 seconds]
youcai has joined #osdev
eluks has quit [Remote host closed the connection]
eluks has joined #osdev
Nixkernal has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
hwpplayer1 has joined #osdev
vin has joined #osdev
<vin> Is there 1GB THP support in linux? Also I don't understand why the MMU support 2MB and 1GB pages at the same time?
netbsduser` has joined #osdev
karenw has quit [Ping timeout: 244 seconds]
netbsduser` has quit [Ping timeout: 246 seconds]
Fingel has quit [Quit: Fingel]
<geist> it's just at different levels of the page table
<geist> if it supported one more size it'd be 512GB
<geist> ie, every 4K * 512 == 2MB * 512 == 1GB * 512 == 512GB
<geist> it's each level of the page table, terminated early (each level has 512 entries)
hwpplayer1 has quit [Remote host closed the connection]
goliath has joined #osdev
craigo has joined #osdev
goliath has quit [Quit: SIGSEGV]
vampiredamewood has quit [Read error: Connection reset by peer]
vdamewood has joined #osdev
vdamewood is now known as vampiredamewood
goliath has joined #osdev
hwpplayer1 has joined #osdev
npc has joined #osdev
Artea has joined #osdev
hwpplayer1 has quit [Remote host closed the connection]
JerryXiao has quit [Ping timeout: 252 seconds]
JerryXiao has joined #osdev
zhiayang has quit [Ping timeout: 265 seconds]
kfv has joined #osdev
kfv has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
frkazoid333 has quit [Ping timeout: 276 seconds]
craigo has quit [Ping timeout: 245 seconds]
heat has joined #osdev
the_oz has quit [Remote host closed the connection]
the_oz has joined #osdev
kfv has joined #osdev
GeDaMo has joined #osdev
kfv has quit [Remote host closed the connection]
vdamewood has joined #osdev
vampiredamewood has quit [Ping timeout: 248 seconds]
vdamewood is now known as vampiredamewood
torresjrjr has quit [Remote host closed the connection]
torresjrjr has joined #osdev
vampiredamewood has quit [Ping timeout: 260 seconds]
zetef has joined #osdev
zetef has quit [Client Quit]
Burgundy has quit [Ping timeout: 264 seconds]
edr has joined #osdev
MiningMarsh has quit [Read error: Connection reset by peer]
MiningMarsh has joined #osdev
zhiayang has joined #osdev
Burgundy has joined #osdev
jedesa has joined #osdev
jedesa has quit [Remote host closed the connection]
jedesa has joined #osdev
jedesa has quit [Read error: Connection reset by peer]
kfv has joined #osdev
frkazoid333 has joined #osdev
raphaelsc has joined #osdev
Dead_Bush_Sanpai has quit [Quit: Dead_Bush_Sanpai]
Arthuria has joined #osdev
youcai has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
hwpplayer1 has joined #osdev
X-Scale has joined #osdev
sbalmos has joined #osdev
Left_Turn has joined #osdev
X-Scale has quit [Quit: Client closed]
kfv has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
xenos1984 has quit [Quit: Leaving.]
kfv has joined #osdev
goliath has quit [Quit: SIGSEGV]
emntn has quit [Quit: WeeChat 4.4.2]
Burgundy has quit [Ping timeout: 252 seconds]
youcai has joined #osdev
kfv has quit [Remote host closed the connection]
Fingel has joined #osdev
kfv has joined #osdev
sbalmos has quit [Quit: WeeChat 4.3.1]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 246 seconds]
jedesa has joined #osdev
Arthuria has quit [Ping timeout: 264 seconds]
kfv has quit [Remote host closed the connection]
kfv has joined #osdev
sbalmos has joined #osdev
aethlas_ has quit [Quit: bye]
aethlas has joined #osdev
Matt|home has quit [Read error: Connection reset by peer]
goliath has joined #osdev
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 265 seconds]
kfv has quit [Remote host closed the connection]
YaseenTa has joined #osdev
YaseenTa has quit [Remote host closed the connection]
jedesa has quit [Remote host closed the connection]
kfv has joined #osdev
the_oz has quit [Remote host closed the connection]
the_oz has joined #osdev
raphaelsc has quit [Ping timeout: 248 seconds]
karenw has joined #osdev
hwpplayer1 has quit [Read error: Connection reset by peer]
heat_ has joined #osdev
heat has quit [Ping timeout: 248 seconds]
xal has quit [Quit: bye]
hwpplayer1 has joined #osdev
heat_ has quit [Read error: Connection reset by peer]
heat_ has joined #osdev
kpel has joined #osdev
gog has joined #osdev
theruran has joined #osdev
alexander has quit [Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in]
<nikolar> ILLUMOS
aethlas has quit [Quit: bye]
aethlas has joined #osdev
goliath has quit [Quit: SIGSEGV]
<gog> openohio skibidi rizz we're solaris guys
alexander has joined #osdev
<karenw> Shhh, if you say that too loud, the Oracle Lawyer Truck will hear you.
<gog> before gta vi?
Matt|home has joined #osdev
xenos1984 has joined #osdev
kpel has quit [Quit: _]
kfv has quit [Ping timeout: 245 seconds]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 265 seconds]
goliath has joined #osdev
Burgundy has joined #osdev
cow is now known as First_Time_Bro
First_Time_Bro is now known as cow
netbsduser` has joined #osdev
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 245 seconds]
navi has quit [Remote host closed the connection]
orccoin has joined #osdev
orccoin has quit [Ping timeout: 255 seconds]
hwpplayer1 has quit [Remote host closed the connection]
X-Scale has joined #osdev
X-Scale has quit [Quit: Client closed]
navi has joined #osdev
hwpplayer1 has joined #osdev
_ngn has quit [Ping timeout: 260 seconds]
hwpplayer1 has quit [Read error: Connection reset by peer]
youcai has quit [Ping timeout: 276 seconds]
netbsduser has joined #osdev
netbsduser` has quit [Ping timeout: 252 seconds]
youcai has joined #osdev
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
netbsduser has quit [Ping timeout: 245 seconds]
<Ermine> ALTERNATIVE JRE IMPLEMENTATION
<Ermine> now they will come
<Ermine> btw, are there any lightweight virtual machines that are easy to implement?
<heat_> wdym
<heat_> define virtual machine
<heat_> and lightweight
<Ermine> as in JVM
<heat_> brainfuck
<Ermine> I've expected that coming
<Ermine> hi btw
<heat_> hi
<kof673> used to be kaffe
<kof673> and some others i believe
<heat_> Ermine, i did bpf and bpf was pretty fun (but a little underspecified)
<heat_> i'm in the middle of (slowly) doing ebpf
npc has left #osdev [#osdev]
<Ermine> Oh wow, they are going to standartize it at ietf
<heat_> yep
<heat_> bpf is cute because you can jit the whole program (and it's actually useful to do so)
<heat_> ebpf is cute because it's super close to an actual ISA and probably even easier to JIT
<Ermine> jitting stuff in kernel seems suspicious security-wise
<heat_> why?
<karenw> AML says hi
<heat_> i cannot tell exactly how jitting is less safe than interpreting, except if the jitter is _very_ buggy
<heat_> or spectre-like attacks but lol
<heat_> (and those can be worked around in the jitter)
<Ermine> Can't say for sure, but it reminds me of story when MS Edge devs introduced "super duper secure mode" (or something like this) which disabled jit
<heat_> for side-channel attacks probably, but security people love to handwave
<heat_> just like when theo tried to argue in linux-mm that allowing partial mprotect operation was a security problem
<Mondenkind> what's partial mprotect
<heat_> POSIX leaves the protection of the memory range unspecified in case of an error
<Mondenkind> in general security implication of jitting is that it exacerbates other bugs
<heat_> so it's permissible to leave an mprotect() half-done, and linux does that
<Mondenkind> oob write turns into arbitrary code exec if you can corrupt a codegen buffer
<heat_> depends, if you enforce W^X then the risk is probably minimal
<Ermine> well, okay, maybe it's just my risk aversion which got alarmed
<heat_> i'll also say that oob write for the kernel can usually always be arbitrary code execution, because everything is mapped
<zid`> If you jit and emit call write_checked
<zid`> instead of just doing the write
<zid`> sort of defeats the point of the jit
<zid`> people wanna write a *fast* JIT, not a secure one :P
<heat_> even a secure one will be way faster than interp
<nikolar> Not necessarily
<heat_> for instance bounds checking is not really that expensive
<zid`> not much slower, but it's mental blocky
<zid`> jit -> gotta improve the jit -> gotta make it run faster
<zid`> making it run faster means trying to cleverly avoid bounds checks
<zid`> which you can absolutely fuck up
<karenw> heat_: With correctly functioning SMEP, not all kernel OOBs are ACE. But I agree with the general concept of "JIT makes minor bugs into major bugs"
<heat_> lots of kernel OOBs can give you code execution as long as there's that big writable mapping that you can use to poke all of memory
<heat_> hmm, actually i don't know if any kernel out there unmaps the pages when they're used for kernel code
<zid`> heap sprays are pretty common for turning a write gadget into code execution
<zid`> kernel has a LOT of function pointers
<klys> just in time (tm)
guideX_ has joined #osdev
Patater has joined #osdev
m5zs7k_ has joined #osdev
Fingel has quit [Read error: Connection reset by peer]
frkazoid333 has quit [Remote host closed the connection]
m5zs7k has quit [Ping timeout: 265 seconds]
gog has quit [Read error: Connection reset by peer]
DrPatater has quit [Ping timeout: 265 seconds]
gog has joined #osdev
guideX has quit [Ping timeout: 265 seconds]
Gooberpatrol_66 has quit [Remote host closed the connection]
Gooberpatrol_66 has joined #osdev
m5zs7k_ is now known as m5zs7k
<karenw> I mean, all code has a lot of function pointers. It's just normally hidden away in a vtable.
<karenw> Or whatever your programming language of choice calls it's dynamic dispatch primitives
<zid`> err, no
<zid`> barely any C code contains any function pointers at all
<zid`> kernel is notable for just how many there are, for a C program
<heat_> object-oriented C code generally has plenty of function pointer tables
<zid`> exactly
<zid`> which is a *really* rare paradigm
<heat_> i'm not sure if it's really that rare among larger C programs
<zid`> It's not rare to have *some*, in a sufficiently large program, ofc not
<zid`> but the kernel has *lots*
<zid`> maybe because files exist
<zid`> and files are 'everything'
<zid`> so they end up everywhere
<Ermine> that's how you do virtual funcs in C I guess
<Ermine> Idr how many tables do you need to fill for KMS driver
<heat_> a linux filesystem needs at least 4 separate vtables
<karenw> Fuse gets away with just one vtable though, huh. I guess I'll go look how linux fs drivers work. (I'm sure it's well documented and easy to understand /s)
<nikolar> fuse abstracts a lot
<heat_> you need file_operations, inode_operations, super_operations, address_space_operations
<heat_> file_operations controls how the various syscalls are handled, inode_operations handles various operations *on the inode itself*, super_operations handles various fs stuff, address_space_operations lets you connect the page cache to your filesystem
<heat_> dentry_operations lets you control how the dcache connects to your filesystem. all of this is reaaaaaaaaaaally flexible
leon has quit [Ping timeout: 276 seconds]