<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?
<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]