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
stolen has joined #osdev
Nixkernal has quit [Ping timeout: 252 seconds]
Nixkernal has joined #osdev
nyah has quit [Quit: leaving]
sauce has quit [Ping timeout: 246 seconds]
goliath has quit [Quit: SIGSEGV]
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
MiningMarsh has joined #osdev
heat has quit [Ping timeout: 260 seconds]
netbsduser` has quit [Ping timeout: 258 seconds]
MiningMarsh has quit [Ping timeout: 260 seconds]
MiningMarsh has joined #osdev
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
MiningMarsh has joined #osdev
[itchyjunk] has quit [Ping timeout: 246 seconds]
[itchyjunk] has joined #osdev
MiningMarsh has quit [Read error: Connection reset by peer]
MiningMarsh has joined #osdev
MiningMarsh has quit [Client Quit]
MiningMarsh has joined #osdev
[itchyjunk] has quit [Remote host closed the connection]
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
MiningMarsh has joined #osdev
netbsduser` has joined #osdev
Osmten has joined #osdev
stolen has quit [Quit: Connection closed for inactivity]
netbsduser` has quit [Ping timeout: 264 seconds]
Ameisen has quit [Ping timeout: 252 seconds]
Ameisen has joined #osdev
rusty_ has joined #osdev
rustyy has quit [Ping timeout: 244 seconds]
netbsduser` has joined #osdev
blop_ has quit [Remote host closed the connection]
blop_ has joined #osdev
netbsduser` has quit [Ping timeout: 246 seconds]
cloudowind has joined #osdev
* cloudowind greets everyone
valshaped742488 has quit [Ping timeout: 258 seconds]
rusty_ has quit [Quit: leaving]
rustyy has joined #osdev
netbsduser` has joined #osdev
valshaped742488 has joined #osdev
grumbler has joined #osdev
netbsduser` has quit [Ping timeout: 258 seconds]
netbsduser` has joined #osdev
grumbler has quit [Quit: It's time]
terminalpusher has joined #osdev
grumbler has joined #osdev
stolen has joined #osdev
netbsduser` has quit [Ping timeout: 245 seconds]
knusbaum has quit [Ping timeout: 252 seconds]
doppler has quit [Ping timeout: 240 seconds]
doppler has joined #osdev
tixlegeek has joined #osdev
knusbaum has joined #osdev
zxrom has quit [Quit: Leaving]
skipwich has quit [Ping timeout: 264 seconds]
skipwich has joined #osdev
danilogondolfo has joined #osdev
skipwich has quit [Ping timeout: 252 seconds]
skipwich has joined #osdev
duderonomy has quit [Ping timeout: 260 seconds]
Hammdist has quit [Quit: Client closed]
duderonomy has joined #osdev
Hammdist has joined #osdev
skipwich has quit [Ping timeout: 252 seconds]
skipwich has joined #osdev
Burgundy has joined #osdev
skipwich has quit [Ping timeout: 258 seconds]
GeDaMo has joined #osdev
skipwich has joined #osdev
gog has joined #osdev
skipwich has quit [Ping timeout: 260 seconds]
skipwich has joined #osdev
[itchyjunk] has joined #osdev
terminalpusher has quit [Remote host closed the connection]
terminalpusher has joined #osdev
skipwich has quit [Ping timeout: 252 seconds]
Left_Turn has joined #osdev
tixlegeek has quit [Quit: tixlegeek]
skipwich has joined #osdev
Hammdist has quit [Quit: Client closed]
janemba has quit [Ping timeout: 244 seconds]
[itchyjunk] has quit [Remote host closed the connection]
pg12 has quit [Remote host closed the connection]
pg12 has joined #osdev
janemba has joined #osdev
skipwich has quit [Ping timeout: 260 seconds]
Vercas has quit [Quit: Ping timeout (120 seconds)]
Vercas has joined #osdev
skipwich has joined #osdev
gildasio has quit [Ping timeout: 252 seconds]
gildasio has joined #osdev
cloudowind has quit [Quit: Lost terminal]
Burgundy has quit [Ping timeout: 264 seconds]
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
skipwich has quit [Ping timeout: 240 seconds]
skipwich has joined #osdev
gildasio has quit [Quit: WeeChat 4.0.2]
stolen has quit [Quit: Connection closed for inactivity]
Osmten has quit [Quit: Client closed]
gildasio has joined #osdev
gildasio has quit [Remote host closed the connection]
orccoin has joined #osdev
gildasio has joined #osdev
orccoin has quit [Ping timeout: 245 seconds]
netbsduser` has joined #osdev
Terlisimo has quit [Quit: Connection reset by beer]
grumbler has quit [Quit: It's time]
Terlisimo has joined #osdev
Burgundy has joined #osdev
terminalpusher has quit [Remote host closed the connection]
terminalpusher has joined #osdev
goliath has joined #osdev
zxrom has joined #osdev
tixlegeek has joined #osdev
nyah has joined #osdev
heat has joined #osdev
<heat> heat_unremove()
<sham1> heat_deincrement
<Ermine> heat: heat_unpart
<gog> gog_unpet
<bslsk05> ​grok.dragonflybsd.org: uvm_amap.c (revision ee88722e) - OpenGrok cross reference for /netbsd/sys/uvm/uvm_amap.c
<sham1> gog_pet
<Ermine> gog: may I gog_pet() you
<Cindy> gog_pet(&gog);
<gog> EPRR;
<sham1> Wait, that's an error‽
<Ermine> why E
<sham1> Must be one of those elusive negative errno values
<Ermine> strerr(EPRR) = ?
<sham1> prr
<sham1> Obviously
<heat> negative errno >> positive errno
<sham1> That's not very cash money of you
<Ermine> Negative errno is to make most significant bit 1, no?
<sham1> Well the sign bit, but yes
<heat> negative errnos can be encoded in pointers and regular integer returning functions/syscalls (0 is success, -1 is usually error)
<heat> positive errnos can't be encoded if you want to return an actual result from that integer, but I guess could /technically/ fit into pointers
<heat> TL;DR fuck BSD all my homies use linux
<heat> just kidding, all my homies use windows
<heat> but I USE ARCH
<heat> BTW
<Ermine> My homies use windows too
<Ermine> with no prospect of moving to linux
<heat> everyone's homies use windows because THEYRE NOT FUCKIGN NERDS
<Ermine> true
<sham1> Could always be proudly nerds
<heat> they want to open fucking google chrome not go on endless debates on IRC about init systems and how red hat is taking over our worlds
<Ermine> I want them to open google chrome too
<heat> i want everyone to open google chrome
<sham1> Absolutely proprietary
<Ermine> or whatever browser
<heat> drop your alternative, worse browsers, and open google chrome NOW
<Ermine> and not call me to deal with inexplicable crypto bugs
<sham1> Chrome is pessimal
<heat> chrome is optimal
<Ermine> All browsers are pessimal
<heat> microsoft edge is optimal^2
<Ermine> My mom's laptop is noisy af when browsers are running
<heat> that always happens on linux
<Ermine> But it's windows
<heat> because gpu acceleration is something linux people find unnatural
<Ermine> gpu accel works for me I think
<Ermine> even video decoding
<Ermine> But anyway
<heat> discord hogs a core, steam hogs a core
<heat> chrome doesn't at least
<Ermine> Under windows I definitely don't want to deal with mysterious rendering bugs which get fixed by removing nvidia driver
<sham1> I don't want ads on my desktop
<heat> do you want to use nouveau the totally great and free drivers that definitely works
<sham1> I want to use AMDGPU
<Ermine> There's no nouveau in windows
<sham1> nvidia--
<heat> on the offchance the nvidia binary driver is covert spyware
<heat> OR OR OR OR OR imagine this
<heat> patents and upstreaming is hard
<sham1> Patents are immoral anywag
<bslsk05> ​'Soy programador fp' by Garrosh Hellscream (00:00:33)
<heat> programadora*
<Ermine> Also I don't want usb wi-fi drivers to stop working because certificates
<heat> este eres tu jefe gog?
<ChavGPT> soy programmers use php
<ChavGPT> and c++ for kernel dev
<heat> SOY BOYS
<heat> yo ChavGPT have you seen my latest pet peeve
<Ermine> At least those rendering issues prove that discrete laptop gpus is an unsolved problem even under windows
<FireFly> meow
<heat> never had issues with nvidia on microcrap windoze
<Ermine> And I had
<gog> soy programadora buea
<gog> no, mí jefe esta mejor guapo
<heat> és más guapo?
<Ermine> heat: also, patents are not really an issue because all patented stuff is part of the firmware I guess
<gog> sí; yo olvidé como decir
<heat> well, now it is, which is why they open-sourced it
<gog> decirle*
<heat> biggest barrier between these companies and open-sourcing really is legal (and sometimes code quality)
<heat> and it really makes no sense for them to discard all legacy code and write a new thing, because then it'll just be buggy and worse in most ways
<heat> the intel memory training code supports from DDR to DDR5 on thousands of different boards and memory layouts
<Ermine> Well, driver workitude is included in GPU's price
<ChavGPT> heat: no
<heat> ChavGPT, amap_unadd
<Ermine> no workitude = no money
Hammdist has joined #osdev
<heat> unfuckingadd
<ChavGPT> makes sense
<ChavGPT> first you add
<ChavGPT> then you unadd
<ChavGPT> same way you can uncommit
<ChavGPT> albeit one can argue, if you add and unadd, why not save time and to nothing
<ChavGPT> s/to/do/
<Ermine> heat: do you cook something on pedro/vm branch?
terminalpusher has quit [Remote host closed the connection]
<ChavGPT> looks like he is implementing a NETBDSD IDEA LMAO
<mcrod> hi
terminalpusher has joined #osdev
<gog> hi mcrod
* mcrod hug
* gog hug
* ChavGPT hugs bsd reno source code
<heat> Ermine, yes im cooking
<heat> IRL and in that branch
<heat> i want to unfuck the vm_object and filemap situation atm
<heat> easiest way is probably to have some sort of amaps, it's what i'm looking at
<heat> harder but potentially better way would be to pull a linux
<sham1> You should unadd them
<ChavGPT> unpull the requst
<gog> i'm gonna get unhired
* ChavGPT unhugs gog
<gog> :(
bauen1 has quit [Ping timeout: 258 seconds]
<Ermine> Hopefully I won't get unhired
<kof123> "you can't unhire me because i unstay"
xenos1984 has quit [Read error: Connection reset by peer]
zxrom has quit [Ping timeout: 240 seconds]
grumbler has joined #osdev
grumbler has quit [Max SendQ exceeded]
grumbler has joined #osdev
zxrom has joined #osdev
xenos1984 has joined #osdev
blop_ has quit [Remote host closed the connection]
goliath has quit [Quit: SIGSEGV]
<immibis> welcome to capitalism gog
<immibis> as long as you make the shareholders more money than you make, you get hired. when that stops being true, you get unhired.
stolen has joined #osdev
<gog> i think i'm ok for the moment :D
<gog> i'm one of the three people who knows how this shit even works anyway
<gog> we have a fourth now but he doesn't know anything yet
<Ermine> gog: take off other two and your job is secured
<immibis> nah the manager would happily fire all 4 to cut costs
<immibis> the business can keep running for a while after that before it goes bankrupt
<immibis> managers these days are completely stupid
<immibis> they can't manage. they just got there by nepotism
<Ermine> Except that they are not that stupid
<Ermine> otherwise everything would go bankrupt by this time
Jari-- has joined #osdev
<Jari--> hello
<gog> nah, if we're gone the business would grind to a halt pretty fast
<gog> our software is fragile and anything that changes with the data we import often causes problems because of the sheer number of products we're dealing with
<immibis> Ermine: plenty of businesses are going bankrupt right around now. Have you noticed all the tech businesses raising prices or cutting features? e.g. the end of unlimited cloud storage?
<immibis> that's because if they didn't, they think they'd go bankrupt
<immibis> /r/sysadmin thinks a lot of businesses are all moving off the cloud right now, same reason
<gog> fortunately for us our business growth i steady. the only real threat is another covid wave that fucks up tourism
<gog> in which case the state will pay 75% of my salary :D
<Ermine> immibis: you are baiting me to go and take a look at their financial reports
<Ermine> There may be different reasons
<Ermine> E.g. energy prices, which afaik are linked to gas prices in Europe
Hammdist has quit [Quit: Client closed]
TheCatCollective has quit [Quit: Ping timeout (120 seconds)]
TheCatCollective has joined #osdev
MaxLeiter has quit [Read error: Connection reset by peer]
terminalpusher has quit [Remote host closed the connection]
xenos1984 has quit [Ping timeout: 260 seconds]
xenos1984 has joined #osdev
<heat> netbsdnetbsdnetbsdnetbsd
<heat> copying linux was too lame, im now a netbsd clone
dude12312414 has joined #osdev
qubasa has quit [Remote host closed the connection]
<gog> me too
<Ermine> How come
<netbsduser`> heat: good choice
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
gog has quit [Quit: Konversation terminated!]
gog has joined #osdev
gog` has joined #osdev
gog has quit [Client Quit]
xenos1984 has quit [Ping timeout: 260 seconds]
<heat> netbsduser`, you're the least biased person here
<heat> Ermine, because ____amap_remove < amap_unadd
<heat> and that's that
elastic_dog has quit [Ping timeout: 240 seconds]
xenos1984 has joined #osdev
stolen has quit [Quit: Connection closed for inactivity]
elastic_dog has joined #osdev
xenos1984 has quit [Ping timeout: 245 seconds]
grumbler has quit [Quit: It's time]
xenos1984 has joined #osdev
danilogondolfo has quit [Quit: Leaving]
gog has joined #osdev
gog` has quit [Read error: Connection reset by peer]
Burgundy has quit [Ping timeout: 258 seconds]
<heat> netbsduser`, you implemented uvm right?
<heat> what do they use per-page refs for? are amaps shared on MAP_SHARED?
grumbler has joined #osdev
Jari-- has quit [Ping timeout: 246 seconds]
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
frkazoid333 has quit [Ping timeout: 258 seconds]
<mcrod> hi
goliath has joined #osdev
deriamis_ has quit [Quit: deriamis_]
Ermine has quit [Remote host closed the connection]
Ermine has joined #osdev
blop_ has joined #osdev
Burgundy has joined #osdev
rustyy has quit [Ping timeout: 260 seconds]
agent314 has joined #osdev
Ermine has quit [Remote host closed the connection]
Ermine has joined #osdev
gorgonical has quit [Ping timeout: 245 seconds]
rustyy has joined #osdev
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
Ermine has quit [Remote host closed the connection]
Ermine has joined #osdev
deriamis has joined #osdev
vdamewood has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
CaCode has joined #osdev
darkstardevx has joined #osdev
darkstardevx has quit [Remote host closed the connection]
darkstardevx has joined #osdev
darkstardevx has quit [Client Quit]
<heat> mcrod, u trying to get banned or what
<heat> you should start saying "hi openbsd"
<mcrod> jesus it only took 3 hours for someone to respond
<ChavGPT> are you ok mate
<ChavGPT> people have work to do
<ChavGPT> excluding heat
<heat> that's somewhat true yeah
<heat> typical lazy iberian
<heat> i'm on a permanent siesta
<ChavGPT> clean your room
<mcrod> hey heat
<mcrod> panic time?
<mcrod> fuck qt though.
<heat> i'm calling all three letter agencies
<ChavGPT> LOL, OMG and WTF
<heat> NSA FBI CIA NWA WWE WWF
<ChavGPT> did i leave out anything
<heat> NBA
<mcrod> DHS
<heat> DHL
<Ermine> Wow guys you have a lot of siloviki
<ChavGPT> GOG
<ChavGPT> i win
<heat> BSD
<heat> i win^2
<ChavGPT> OH
<Ermine> GNU
<ChavGPT> last thing on my mind mate
<ChavGPT> GNU is not an acronym Ermine
<Ermine> Sure
<Ermine> ?
<Ermine> GNU's Not Unix
<ChavGPT> HURD^H
<heat> GNU's Not Unadd
<Ermine> DOS
<ChavGPT> ZSH
<ChavGPT> fuckerz
<heat> CSH!
<Ermine> KSH!
<ChavGPT> GCC
<ChavGPT> :X
<Ermine> ONX
<heat> buy $ONX not a scam i swear
<ChavGPT> did you mean GNU/Onyx?
<heat> I mean Sortix/Onyx
<ChavGPT> check out the kernel polyglot
<ChavGPT> patchen in sortix, onyx and LINUKKZ
<heat> i don't have linux patches
<ChavGPT> however, literally nothing in openbsd!
<heat> why do you keep reminding me
<sortie> heat, you should dev Onyx on Sortix
<ChavGPT> we went over this mofo
<ChavGPT> i literally linked one
<heat> oh yeah lol
<heat> but it's not a patch just a commit
<ChavGPT> i never claimed your contributions are anything but meaningless
<ChavGPT> i am saying there is something in there
<heat> FUCK YOU
<ChavGPT> OH
<ChavGPT> sortie tell him something
<heat> YOU OBNOXIOUS C
<sortie> Hello. I am sortie (stateless). Can I be of assistance?
<netbsduser`> heat: i did something approximating it but it's changed a bit now. when you say per-page refs, do you mean the refcnt in an uvm_anon?
<sortie> My favorite part of the glamorous osdev life is how all the beautiful popstars throw themselves at you
<netbsduser`> and an amap is indeed shared for all its MAP_SHARED mappings, and also initially for its private mappings (the amap structure itself is also a Cow)
levitating has quit [Ping timeout: 260 seconds]
<heat> netbsduser`, in uvm_anon and also the am_ppref in amaps
levitating has joined #osdev
<heat> yeah that first bit sounds silly, thanks
<heat> would rather use a vm_object for shared mappings
<netbsduser`> in uvm_anons it's how CoW is achieved: every amap that refers to it increases its reference count
<moon-child> heat: onyx is written in c++
<moon-child> nt is written in c++
<moon-child> therefore onyx is an nt clone
<moon-child> not linux or netbsd
<moon-child> HTH.HAND
<sortie> 8.3 GLORY
<netbsduser`> so if you have a write-fault on an uvm_anon with refcnt > 1 you must make a copy of it
<ChavGPT> HEATFUCK.YOU
<ChavGPT> perfect
<heat> NT is not entirely in C++
<ChavGPT> call it c++ mate
<Ermine> You guys like each other
<ChavGPT> it's so bad
<netbsduser`> nt is mostly in C if reactos is anything to go by
<heat> i honestly don't know how much c++ it has, i know it has some
<heat> Ermine, oh i love ChavGPT
<heat> it's just banter
<mcrod> JESUS
<mcrod> why does Qt do silly things sometimes
<netbsduser`> as to amap_ppref, that one i have seen but i have nothing analogous and i'm not sure of its functionality
<heat> ChavGPT is in my top 244 of online #osdev people
<ChavGPT> noice
<netbsduser`> oh i see
<ChavGPT> i refuse to even classify you heat
<heat> :(
<heat> i am cry
<netbsduser`> amap_ppref is for tracking reference counts to the pages *within* an amap, as in, places where they are mapped
* ChavGPT pet go^Wheat
<heat> netbsduser`, but why
<sortie> heat, please leave, the following is classified
<moon-child> heat: for what it is worth you are in my top 242 of online #osdev people
<moon-child> also my top 241
<netbsduser`> heat: so that if you partially unmap an area described by an amap, and you are the last mapper, those pages can be abolished, rather than sitting around forever unmapped and unmappable
<heat> why wouldn't the anon's refcount cover it?
<heat> or am i missing something?
<heat> moon-child, damn i'm moving up!
<netbsduser`> the anon's refcnt is for describing what amaps reference it rather than what mappers do
<netbsduser`> it's like with a vm_object_t of other kernels
<heat> OTHER UNKNOWN KERNELS THAT MAY OR MAY NOT BE FREE
<heat> MACINTOSH VM
<netbsduser`> if you generate a vm_object_t for anonymous mappings then partially unmapping it from a place where it's mapped won't actually abolish the pages even if they are now impossible to remap (i.e. the vm_object_t is describing regular anonymous memory and not e.g. a tmpfs file)
<Ermine> VMMACINTOSH VM *
<netbsduser`> or rather the pages are theoretically impossible to remap because there is no exported API to get that vm_object_t, it's just an implementation detail used to provide mmap's MAP_ANONYMOUS
<heat> my idea is somewhat uvm-ish but there are some concepts i don't really like
<heat> ideally to me amaps would remain a MAP_PRIVATE-only thing and would be responsible for storing CoW'd pages, pages would have a mapcount and a refcount (refcount meaning just temporarily pinned pages, mapcount being virtual references that can fuck off at any time)
<heat> ideally i could even alias the amap layer like linux but for the time being i'm not really focused on that
<heat> anyway, like a file MAP_PRIVATE mapping region would have a backing vm_object and an amap (lazily allocated as soon as I CoW fault something in)
<heat> like i don't even really see the need for anons, in this case I can just use a plain radix tree and probably store swap as values vs pointers
<heat> i would essentially use the amap as a page table
<netbsduser`> one of the features of my refactoring branch is that amaps get folded into a process' page table
<heat> oh that's very linux-esque
<netbsduser`> now anons only exist when there is multiple mappings of a virtual page, and get converted into private PTEs when CoW'd
<heat> but how do you use them on MAP_SHARED?
<netbsduser`> there's no MAP_SHARED anonymous memory in the refactoring branch yet, but it will probably be as simple as the private case except they have their own table
<netbsduser`> they can become vm_object_t's
<heat> yeah
<heat> fwiw the linux design is that all MAP_SHARED implicitly map "vm_object_t's"
<netbsduser`> and they can just be tables of page-or-swap addresses and won't need a refcount being not subject to CoW (if someone wants to map it privately, then it's served by the amap-over-object case)
<heat> in their case, they "map /dev/zero" with a shmemfs behind it, essentially (if not literally!) the same code as tmpfs
<netbsduser`> i heard a rumour that it was only the raciness of file creation + unlinking that led them to invent memfds, and until then it was all done exactly like mapping a tmpfs file
<heat> tbf O_TMPFILE has solved the races there for a good bit
<mcrod> hi
bauen1 has joined #osdev
<moon-child> no
<mcrod> yes
<ChavGPT> be happy with shorter response time
gbowne1 has joined #osdev
gbowne1 has quit [Remote host closed the connection]
levitating has quit [Ping timeout: 258 seconds]
gbowne1 has joined #osdev
levitating has joined #osdev
[itchyjunk] has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
tixlegeek has quit [Quit: tixlegeek]
gog has quit [Quit: byee]
heat has quit [Ping timeout: 260 seconds]
agent314 has quit [Ping timeout: 244 seconds]
Burgundy has quit [Ping timeout: 260 seconds]
heat has joined #osdev
deriamis has quit [Quit: ZNC 1.8.2+deb3.1 - https://znc.in]
deriamis has joined #osdev
Left_Turn has quit [Ping timeout: 260 seconds]
Left_Turn has joined #osdev
Left_Turn has quit [Read error: Connection reset by peer]
heat has quit [Ping timeout: 260 seconds]
deriamis has quit [Quit: ZNC - https://znc.in]
deriamis has joined #osdev