<hodbogi>
I mostly wanted it as space to build a temporary B+ tree of non contiguous memory up to a certain size that will be used by the memory manager before the kernel has any form of allocation function available. basically I just have this ugly 64K void in the kernel binary that I can access.
<hodbogi>
Haven't decided if it'd be useful for much else
<sonny>
ah, nice hack
jhagborg_ has quit [Ping timeout: 240 seconds]
<hodbogi>
It came up because I asked myself "crap, I want to create a memory manager, but I need memory to make a memory manager until the memory manager can use its own managed memory to manage memory XD
<hodbogi>
so I was like whatever, maybe a scratchpad could be useful for general purpose junk.
<gog>
it's the memory chicken and egg
<gog>
i have a similar sort of thing
<hodbogi>
At least I don't feel bad for wasting the space then XD
<hodbogi>
Because it's 64K I will never get back
<gog>
memory unused is memory wasted
<gog>
memory used is just used
<hodbogi>
Maybe I could reuse it with the MMU? Hadn't thought of that
<hodbogi>
I could use it as a 64K memory window once memory manager is running
heat has joined #osdev
<hodbogi>
or technically 16 4K windows
<gog>
or you could just track it as part of your trees
<gog>
and if you no longer need it you can mark it as free in your runtime allocator
<heat>
hodbogi, you can totally hand back memory you have in your kernel image
<heat>
i managed to solve your problem by just having a memory map with a max size
<hodbogi>
I thought of that too
<heat>
I allocate ~128 entries for a memory map and from there I do allocation
<heat>
then my real page allocator can do its memory allocation, etc
<dh`>
getting the page allocator up really early in boot so you can malloc freely is not that hard and probably the way to go
<gog>
i have an early page frame allocator and a later one
<heat>
dh`, my page allocator needs memory itself
<heat>
so I did something akin to what linux does with its memblock allocator
<hodbogi>
Do you store a volatile representation of the memory map or do you find available memory contiguations on demand?
<heat>
the arch and platform call bootmem_add_region() to add memory and bootmem_reserve_region() to reserve stuff, then the page allocator just takes bootmem's memory regions
<bslsk05>
github.com: Onyx/bootmem.cpp at master · heatd/Onyx · GitHub
<dh`>
heat: the way I generally do it is that the page allocator allocates from the coremap structure, which is fixed and set up pretty much first thing at boot
<dh`>
but that assumes a small number of physical memory ranges that aren't hotswap
<hodbogi>
So, when searching for usable memory, there's a few different approaches that I can think of on the top if my head, you could theoretically detect continguous memory sections and form a linked list, you could also form a data structure somewhere so that you know where your available memory is up to a certain ammount <-- this is what I was considering, forming a B+Tree or something of the first X ammount of
<hodbogi>
memory starting at some address. The idea would be then to use that data as one half of the database for the memory manager to page memory
<dh`>
sane platforms have only one region of physical ram; insane platforms still only have a small number
<dh`>
making any complicated structure for it is overkill
<hodbogi>
B+Tree is really simple tbh
<hodbogi>
but that's why I put the scratchpad in there
<dh`>
not compared to e.g. an array of four base/length pairs
<heat>
my solution is 179 lines and faster than your B+tree thing
<hodbogi>
On some architectures I have a clear fixed memory map... not always nice because sometimes they're shit and go "you have this random 2KB spot here... this other 4KB here... oh yes this one is usable but don't use it"
<hodbogi>
lo
<hodbogi>
lol*
<dh`>
for those just mark the pages in use
<hodbogi>
well usually those architectures are small enough that no memory manager is even needed
<hodbogi>
just put your shit somewhere
<dh`>
the MI portable variant of os161 has 83 lines of code, after which you can malloc
<heat>
for a bootmem thing an array works
<heat>
for a real page allocator a simple list of pages or a buddy allocator works
<dh`>
depends how elaborate you want to be about multipage allocations
<heat>
right
<dh`>
"there will be none" is a reasonable approach (though it complicates other things in the kernel)
<heat>
my contiguous allocation does a linear walk through the pagemap array
<dh`>
but won't be workable on some platforms where you need contiguous DMA regions larger than one page
<dh`>
right
<heat>
it's not good but I never allocate contiguous memory in a hot path, just driver initialisation
<heat>
and those can be slow, idc
<dh`>
OS/161 does sometimes but OS/161 is slow by default :-)
<dh`>
but for anything that doesn't need to be physically contiguous for DMA you really want to allocate multiple single pages and map them somewhere
<heat>
what do the BSDs use?
<dh`>
otherwise you tend to starve once the system's been running for a while
<heat>
dh`, depends. mapping isn't cheap because you'll need to eventually unmap it
<dh`>
revoking mappings in the kernel heap doesn't need to be synchronous
<dh`>
I don't know what netbsd uses for page allocation
<dh`>
theoretically it can be different in every port as it's behind the pmap interface
<dh`>
and the kernel malloc was rewritten completely about ten years ago
<dh`>
freebsd is completely different and I have no idea whatsoever what they do
<dh`>
openbsd is _probably_ the same as netbsd from 15-20 years ago but idk
Ali_A has quit [Quit: Connection closed]
<gog>
the pmap interface
<gog>
oh
<gog>
hi
<gog>
scroll....
nyah has quit [Ping timeout: 240 seconds]
GreaseMonkey has quit [Remote host closed the connection]
<bslsk05>
openzfsonwindows/ZFSin - OpenZFS on Windows port (72 forks/1097 stargazers)
<geist>
yes. but frankly it would be hard to get ZFS in anything
<geist>
so it's all kinda relative
<sonny>
that's crazy
<geist>
ZFS is a sizable amount of code with a fair amount of dependencies on lots of stuff, so getting it workig in any environment is a fair amount of work
<heat>
sonny, freebsd probably changed a lot and so did mach
<geist>
yah that's what i mean, i'm sure the bsd stuff has diverged in darwin and freebsd
<moon-child>
iirc freebsd had a compat layer for for some solaris kernel bits to run the original openzfs
<geist>
not entirely sure it's even freebsd it sourced stuff from per se, may just be BSD
<clever>
yep, if you define an external function with 8 64bit ints as args, gcc will load the args into those 8 registers for you, then call the function
<SikkiLadho>
clever: so passing these values to a function and making the request from within that function?
<clever>
yep
<SikkiLadho>
Thank you.
<clever>
just define a function that does "smc" and "rts" in a .S file
<clever>
and call it like any other function, as shown in the godbolt link
<heat>
you could also do it in inline asm
<heat>
bit more fiddly though
<clever>
yeah
<clever>
and you cant clearly tell inline asm what registers you want the values in
<clever>
so you wind up with values in 8 random registers, and need a heap of mov's to fix it
<heat>
you can though
<clever>
ive checked multiple times, and cant see a clear solution to that
<bslsk05>
github.com: Onyx/syscall_arch.h at master · heatd/Onyx · GitHub
<zid>
inline asm is also obviously an option
<clever>
SikkiLadho: yeah, it should be as simple as do_smc(smc_fid, .... );
<zid>
It isn't needed in this case, but gcc supports some neat extensions like, register int a1 asm("x0") = 45; asm("syscall"); or whatever, if you don't wanna write it all out in assembly by hand
<SikkiLadho>
I'll try and see. Thank you all.
<clever>
SikkiLadho: and make sure that when your bringing a cpu online, the data cache has been flushd
<clever>
for the new cpu's entry-point
<SikkiLadho>
clever, with cpu_smc_on, it's somehow gets stuck in TF-A secondary cpu hotplug path, smc returns success(0) but cpu doesn't come online.
<clever>
did you give it a physical or virtual addr as the entry-point?
<bslsk05>
github.com: Leo/cpu_entrypoints.S at 07d19e6bda06292fe26c2efd40fc1e42990c1cd0 · SikkiLadho/Leo · GitHub
<clever>
and writing the result into x2
<clever>
then using x1 as your stack
<SikkiLadho>
oops
sonny has left #osdev [#osdev]
<SikkiLadho>
How did I miss that!
<SikkiLadho>
I'll try again.
<clever>
you see what you expect the code to do
<clever>
everybody has that blindness
<heat>
poll: do you think netlink is a good interface?
<SikkiLadho>
I'll try again, but cpu was not coming online at the earliest point in TF-A secondary cpu hotplug path. I tried to print inside TF-A with and without trapping enabled. So cpu probably was not reaching at that point?
<heat>
as in netlink(7)
<clever>
SikkiLadho: it may help to get gdb attached (qemu or jtag) to confirm where its hanging
<SikkiLadho>
code was written for rpi4, would it run on qemu, it doesn't have rpi4 virtualization.
<clever>
but the basics like sending an smc to atf should work, even on a the qemu-pi3
<clever>
or generic aarch64 qemu
<SikkiLadho>
yeah, I'll try with gdb on qemu.
<geist>
would recommend for this 'put stuff in registers' thing: make an asm function to do it
<geist>
so you can absolutely totally ensure that stuff is where you wnt it
<SikkiLadho>
geist int a1 asm("x0") = value; should be fine right?
<geist>
there are restrictions on it, i encourage you to look at the gcc docs
<geist>
it's not as clear cut as you think
<geist>
the answer is yes, but *only* for the purpose of getting things into a asm block
<geist>
(when inside a function)
<geist>
apparently the compiler is otherwise allowed to rearrange it, IIRC
<geist>
global asm registers are a different thing
<geist>
so it seems like it works reasonably well if you have a C function that does one thing, like heat's example
<geist>
but if you start mixing it with other stuff, i dunno precisely what happens
<clever>
geist: but what if the given asm matches the abi, and you can just create a "foo: smc ; rts" routine in .S, and call it with the normal abi?
<geist>
i thnk for the PSCI calls in zircon we ended up moving to a .S function because we had additional requirements, additional registers to save, etc
<geist>
but psci stuff looks basically the same as the SBI calls here
<SikkiLadho>
alright, I'll write an asm function, just to make sure. Thank you.
<heat>
geist, yeah i stole my sbi_call from this guy "Travis Geiselbrecht", dunno if you've heard of him :P
<clever>
:D
<geist>
yah i think i mostly cribbed it from linux and freebsd
<geist>
as in there's really only one way to do it once you've seen it
heat has quit [Ping timeout: 260 seconds]
<zid>
That travis guy gets everywhere eh
<zid>
someone should throw peanuts at him
the_lanetly_052_ has joined #osdev
the_lanetly_052_ has quit [Ping timeout: 276 seconds]
bauen1 has quit [Ping timeout: 248 seconds]
SikkiLadho has quit [Quit: Connection closed]
amj has joined #osdev
<zid>
oh sorry I misread what it said
<kazinsal>
as much as he does not want to be, he is the king of hobby osdev
<zid>
wrong channel
<kazinsal>
(we will eventually find another monarch of hobby osdev, we just need to figure out who they are)
<zid>
I'm not sorry about that travis guy
<zid>
I'm 100% onboard with throwing peanuts and other things at him when he yawns
<kazinsal>
I always feel good when I log in and see him yawn in IRC because it means I'm not the only person turning on a mouse jiggler at 9am and going back to bed for a bit
<moon-child>
what's a mouse jiggler?
<kazinsal>
program that simulates mouse inputs randomly to keep collaboration software from flagging you as AFK
<moon-child>
o.o
<kazinsal>
officially they're to stop desktop locks from kicking in when you're in a secure location eg. your home
<kazinsal>
but realistically it keeps your status on webex as "online" and that's what matters
bauen1 has joined #osdev
bauen1 has quit [Read error: Connection reset by peer]
bauen1 has joined #osdev
Burgundy has joined #osdev
gog has joined #osdev
bauen1 has quit [Ping timeout: 272 seconds]
bauen1 has joined #osdev
Burgundy has quit [Ping timeout: 246 seconds]
GeDaMo has joined #osdev
bauen1 has quit [Read error: Connection reset by peer]
<vdamewood>
I just love how Facebook's security prevents random people from accessing the comment I posted that picture to, but the picture itself is fair game.
<gog>
facebook "security"
<klange>
Facebook lets you login and initiate a password change with an old password.
<klange>
There is no such thing as "security" at Facebook.
<gog>
one of the myriad of reason i've stopped using it
<vdamewood>
I think I understand why they did it that way... It's a bad idea, but I understand it.
<vdamewood>
I mean, if someone hacks your account and changes your password, what are you going to do to fix it?
<gog>
also i can't untag some old photos of "me" which is highly distressing
<klange>
And if your password is compromised in a database leak seven years ago, your account is _forever_ compromised.
<vdamewood>
Yep.
<vdamewood>
Having a reason doesn't change the fact that it's a bad idea.
dude12312414 has joined #osdev
dude12312414 has quit [Remote host closed the connection]
mctpyt has joined #osdev
hodbogi has joined #osdev
<hodbogi>
Woo. Breaking stuff.
<mjg>
vdamewood: not that i will make you feel any better, but i have only seen one pet die of old age. all the rest "lives on a farm now"
<vdamewood>
I have been present for two pets' deaths, and found another.
<mjg>
one time i almost became an owner of a kitty
<hodbogi>
We just got two goslings yesterday
dennis95 has joined #osdev
<vdamewood>
There may be a 4th, but I think I sayed home while that one was Euthenized.
<hodbogi>
they are almost 2 days old
<mjg>
it was standing alone on a busy crossroad and meowing hard
<vdamewood>
hodbogi: Honk!
<mjg>
i was debating taking it in, but as i was on my way to work i figured, nah
<mjg>
when i was coming back home i have seen it ran over by a car
<hodbogi>
Yesterdays's picture, they're in a brooding area now
<vdamewood>
hodbogi: Birdies!
<gog>
birbs
<hodbogi>
They are so attached to us it's kinda funny
<vdamewood>
gog; No claw the birdies!
<hodbogi>
the baby chickens give no shits but the geese are super cuddly
<vdamewood>
No bite, either!
<hodbogi>
Yesterday I held one of the goslings in my hand and it fell asleep in like 10 seconds
<vdamewood>
Snuggle birdy
<gog>
i will not bite or claw birb
<vdamewood>
good gog.
* vdamewood
give gog another fishy
* gog
bits and claws fishy
<hodbogi>
Be careful
<hodbogi>
these geese have teeth
<gog>
yes
<hodbogi>
Or they will
<vdamewood>
Geese are dinosaurs!
<gog>
we only have pink-footed geese here though
<gog>
they're docile
<hodbogi>
We are hoping that a combination of them and the new dog we're trying to get will be good guard against foxes and hawks
<hodbogi>
These are embden geese which are fairly docile but still will create a territory against other wild animals
<gog>
nice
<gog>
pink-footed geese are not territorial, they will flee readily
<gog>
i try to be mindful of them when dog walking because i don't want to stress them further
<hodbogi>
If it can chase hawks away I am happy
<gog>
it's stressful enough being in the city
nyah has quit [Ping timeout: 246 seconds]
<hodbogi>
I could not live in the city
<gog>
i grew up in a small town and have Trauma™ about it :p
<zid>
You now live in the world's tinyiest country though
<vdamewood>
There are smaller ones.
<gog>
the biggest city in the world's tinyiest country
<hodbogi>
I grew up in a town of ~ 600 people in 40 square miles, eventually moved to the city for 15 years, and I got so sick of it I moved back out rurally (but a different area) and I could never go back.
<mjg>
so it's like 4 citizens including the dog?
<zid>
Population 27, must be a shock
<vdamewood>
Shock: Deal 2 damage
<zid>
I need to get up and microwave the chicken sub I earmarked for lunch
<hodbogi>
This town is like, 1500 people in 40 miles, so it's a bit busier but still a farmtown
srjek has joined #osdev
<zid>
but I cbf to stand up
<zid>
My town used to be small but in the past 30 years it is no longer small
<vdamewood>
zid: Such a delicious dinosaur.
<hodbogi>
my hometown went from like 600 to 1000 I was surprised
<zid>
it used to be like, a little bulge on a road, just houses either side of it and a couple of offshoot roads
<gog>
my hometown was like 3000
<mjg>
weird. my small hometown keeps losing people to migration
<mjg>
and i though that's the standard
<zid>
16000 now apparently
<mjg>
migration to bigger cities that is
<hodbogi>
Yeah, that happens
<gog>
it was 2600 when i first moved there
<vdamewood>
gog: atari?
<gog>
yes
<vdamewood>
Cool!
<zid>
for the last couple hundred years the population was only a couple of thousand
<zid>
it blew up a fair bit lately, damn you compounding percent growth
<hodbogi>
A lot of towns here have disappeared due to the modern world taking over. We've had a lot of issues with people coming into our state and enforcing regulations and forcing mills to close and people to move out of towns, many of them don't even have names anymore.
<hodbogi>
I had a few college friends who had no home to go back to after college because their parents had to move away due to mill / quarry closings
<hodbogi>
I actually thought it was just overseas movement but I talked to my neighbor a while back who lived through it in the trainyards, and he had mentioned that the majority of our mills closed because the trains were sold to another state and they throttled all of the freight imports and exports immediately, causing all of the mills to suffer and operate at a loss with truck based transportation until they
<hodbogi>
went under.
zid has quit [Ping timeout: 240 seconds]
<hodbogi>
factories and mills and granite wuarries, etc all went from having multiple train imports and exports a day, to one or two maybe every 3 weeks to a month
<gog>
train good, truck bad imo
<hodbogi>
It is supper expensive to haul by truck.
<gog>
yeah heavy bulk products are not really good for road transport
<hodbogi>
I don't think modern 18 wheelers get any better gas mileage than my 67 ford does
<hodbogi>
I think they're still border 4-7mpg
<gog>
and it's bad for the road and dangerous for other road users
<hodbogi>
and while trains aren't better in that sense they can haul a lot more
nyah has joined #osdev
<gog>
miles is less important than mass per unit of energy
heat has joined #osdev
zid has joined #osdev
<gog>
trains definitely have the edge there
<zid>
Intredasting, sit down, internet dies
* gog
dies
<hodbogi>
Not only that but they don't have traffic stops in the same kind of manner they have train yards
<hodbogi>
they don't have to stop for stop lights
<hodbogi>
and make a bunch of wild ass stopping intersection turns
<hodbogi>
Sure you have the interstate but the interstate can only do so much
<gog>
bring back conrail
<gog>
the world has moved beyond the need for norfolk southern
<bslsk05>
'Train Song: Choo Choo Train for Children, Kids, Babies and Toddlers | Counting Song | Miss Patty' by Patty Shukla Kids TV - Children's songs (00:02:30)
<bslsk05>
'Conrail and Chill: A Vaporwave/Funk Mix for Railroad Consolidation' by Alan Fisher (00:38:03)
<gog>
yes
<gog>
i love alan fisher
<FireFly>
:D
<hodbogi>
LOL
<FireFly>
<gog> train good, truck bad imo <- trains good cars bad *well there's your problem noises intensify*
<gog>
FireFly: i also don't respect fish
<hodbogi>
We actually have a local train company here that goes up to canada and back but it's just one train that comes through twice a day, usually at like 10:30 PM and 6:00 AM
<hodbogi>
and it's cool, we are over a mile away from the tracks and the entire house will start shaking and then you hear the horns
<hodbogi>
it's usually a couple miles long and hauls mostly paper
<gog>
i hope they're all ok, there hasn't been an episode in a couple weeks and there's no posts on their patreon
<hodbogi>
oh no
<zid>
There's a train line that goes sorta through my town, parallel to the main road
<zid>
on cool nights after a warm day, you get acoustic lensing
<zid>
and you can hear the trains gently rocking past
<zid>
and we're far north (shut up gog) so doesn't get dark, only deep twilight
<hodbogi>
The train moves way too fast here for gentleness XD
<bslsk05>
twitter: <wtyppod> working on the next bonus episode and I’m proud to say this has less to do with engineering than any we’ve done before
<hodbogi>
I calculated its length one day with some measurements. It was moving about 60 miles an hour and took just over two minutes to pass, so it's about 2 miles long
<zid>
Come down to this latitute and say that
<zid>
tude*
<hodbogi>
It's a super fast train
<GeDaMo>
No trains near me but lots of helicopters flying over
<zid>
It's passenger trains and small hauls of coal and crap past here
<zid>
I get military flyovers all day
<zid>
I'm near 28932x airbases
<hodbogi>
Yeah passenger trains are a thing of the past thanks to ford motor company :(
<zid>
they never do anything outside of work hours though
<zid>
we have passenger trains, they're just more expensive than flying to rome and back
<hodbogi>
Manymany years ago Ford actively pushed to eliminate mass transit via train.
<zid>
Taxi to airport, Ticket to rome, ticket from Rome to london cheaper than train to london :p
<gog>
FireFly: oh good
<heat>
trais are still alive and well in europe
<heat>
s/trais/trains/
<hodbogi>
Yeah I wish that passenger trains were more common. It is impossible to live where I do without a car or some sort of fast self transportation, but the cities really need a major lift in transportation possibilities
<gog>
we're getting BRT in a few years
<zid>
the bombed out cities and it being broadly illegal to give money to politicians saw to that compared to the US
<gog>
or so they say
<zid>
US just coasted through the war on old infra. and then corruption happened
<zid>
next 0-20 years are going to be amazing for things like overpasses and stuff in the US
<hodbogi>
Oh bus lanes
<hodbogi>
neat
<hodbogi>
OMG we used to have trollys here in the nearest city and they ripped them out like 50 years ago
<hodbogi>
Made no sense
<zid>
street cars is kind of iconically US too
<zid>
it's such a shame
<zid>
You can still buy postcards of plenty of US cities covered in them
<zid>
Dw though, you have stroads now instead, who doesn't love a stroad
<gog>
i hate a stroad
<zid>
everybody who knows what a stroad is hates a stroad
<hodbogi>
It's one of the reasons I moved back out into the country. Though I need a car in order to get anywhere there's literally almost zero traffic
<hodbogi>
Everything is quiet and people have space
<gog>
i live near a stroad but they're slowly downgrading it
<zid>
iceland has enough cars and roads to want a stroad at some point?
<hodbogi>
Most of the vehicles that go by here are dump trucks
<gog>
iceland has almost as may cars per capita as the US
<hodbogi>
what do you know a dump truck just went by
<zid>
is that just effectively '1 each' or what
<gog>
the only other way to get around is by bus
<gog>
zid: nearly
<zid>
where would you go
<zid>
you go to rjek to.. rjek
<zid>
from rjek, while heading toward rjek
<gog>
i mean sometimes i gotta go across town
<gog>
and i could walk for an hour or take the bus for 15 mins
<hodbogi>
I would have thought that in the city everyone would be riding motorcycles
<hodbogi>
and scooters
<hodbogi>
instead everyone just brings their bro trucks
<zid>
If they're all like.. Ford Ka and stuff I can understand it
the_lanetly_052_ has joined #osdev
<heat>
northern europeans use bikes in the city
<FireFly>
zid: is that short for reykjavik?
<zid>
I have infact, used a bike in a city
<gog>
nah there's a few people in my neighborhood that have big jacked up bro trucks
<heat>
come to europe, everyone's either super friendly or super unfriendly, no inbetween
<hodbogi>
I mean I have a ford, but I drive it like twice a year and it's a dump truck for hauling several thousand pounds of shit like mulch or soil, etc for our homestead.
<heat>
gog, weirdos
<zid>
FireFly: It's both my poor attempt, and willingness to draw attention to the fact it was a poor attempt, and spelling it
<FireFly>
ah fair :p
<hodbogi>
I can carry like 14,000 pounds of soil or so
* zid
converts from freedom
<zid>
6.5T I think
<zid>
That can't be good for it
<zid>
You'd need a heavy goods licence for that here and 5 axles
<gog>
zid has an unbridled hatred of the land of fire and ice
<gog>
which i don't hold against him
<zid>
I don't hate it
<zid>
I just think it's quaint
<hodbogi>
zid: no CDL required until you hit 26,000 pounds (there are some other exceptions)
<heat>
iceland looks pretty green to me
<heat>
greenland is the real land of fire and ice
<heat>
mostly ice
<hodbogi>
and the max I can carry in my truck with its own weight is 24,000
<zid>
3.5T is the limit on a normal licence, 3.5T to 7.5T needs a 'C1' licence
<heat>
yup, similar here
<hodbogi>
There's a couple of factors.. other than hazards license there's the weight limit factor, which is 26000 pounds and if commercially registered, if it has more than one rear axle, or if it has air brakes, etc. If it's registered as a farm truck, that changes.
<hodbogi>
which, it is a farm truck
<zid>
my sister had to do a special trucking licence just to tow a horse
<zid>
cus the damn thing weighs 2 tonnes
<hodbogi>
haha
<zid>
and her range rover is another 2
<heat>
why didn't she just ride the horse
<zid>
turns out they don't do well at motorway speeds
<hodbogi>
my truck weighs about 5 tons empty. But again I just use it for agricultural purposes.
<zid>
not enough grip and the refueling stations are too far apart
<hodbogi>
and it's so rare I need it
<zid>
they only get a few miles to the bale
<heat>
tow the bales and ride the horse
<heat>
ez
<zid>
rocket equation comes into play there
<zid>
How many SRBs would you need to strap to the horse
<hodbogi>
You know what the coolest thing is though, you get to piss all of the other people who are driving off if you have to go into town. It's extremely low geared, and takes like a quarter mile to get to 25 mph. turning left at intersections I can take all the sweet time I want and make people wait. :P
<zid>
What you want, is a transit van
<zid>
the ultimate in comfort and practicality
<heat>
ford transit oh yeah
<zid>
Every 3rd vehicle in the UK must be a transit
<hodbogi>
I drive a sedan as a daily driver though
<hodbogi>
But I don't really have the space for one
<hodbogi>
We have like 6 acres
<zid>
I have no fucking idea how big an acre is
<zid>
but we keep horses in like.. 40 square meter paddocks
<zid>
You just have to walk them like a dog
<zid>
But instead of pulling the leash to stop them walking off into traffic like a dog, you try to calm it down after it sees an empty plastic bag and freaks the fuck out
<bslsk05>
jvburnes/node9 - A portable hybrid distributed OS based on Inferno, LuaJIT and Libuv (34 forks/381 stargazers/MIT)
<sonny>
I'm surprised this luakernel thing isn't more popular
<sonny>
this idea has a lot of potential for a easy deployment server
bauen1 has joined #osdev
iomonad has joined #osdev
<heat>
if you compile everything into a single binary, then it's all freestanding
<gog>
yes
<gog>
that's my next thing
<gog>
a single binary os
<gog>
everything in one binary
<gog>
kernel, applications
<gog>
if you want a new application you'll have to recompile
<heat>
anti-microkernel
<gog>
yes
<GeDaMo>
One application should be enough for anyone :P
<bauen1>
GeDaMo: one turing machine is proofably enough for anyone
ephemer0l has joined #osdev
<sonny>
gog: yeah you understand! xD
<gog>
files? we don't need files
<gog>
everything is stored on The Cloud™ these days
<gog>
a cloud is not a file
<heat>
queue pingfs
<gog>
pingfs yes
<gog>
writing a file with the name/address of the host
<gog>
then the filesystem writes back to the file with the ping times
<heat>
no, wrong pingfs
<heat>
send the file contents as pings
<gog>
ohhhh
<gog>
i remember that video
<gog>
the filesystem works by juggling packets forever
<heat>
yes
Starfoxxes has quit [Ping timeout: 240 seconds]
jhagborg has joined #osdev
Mutabah has quit [Ping timeout: 272 seconds]
Mutabah has joined #osdev
<Bitweasil>
Yeah, delay line stuff... via the internet!
sonny has quit [Quit: Client closed]
FatalNIX has joined #osdev
<FatalNIX>
new memory model; Hostile adverse posession of squatted memory.
<FatalNIX>
Just make a pointer and pitch a tent
Celelibi has quit [Ping timeout: 248 seconds]
sonny has joined #osdev
freakazoid333 has quit [Ping timeout: 240 seconds]
<gog>
if you continuously occupy the memory for 10,000 cycles it's yours
Celelibi has joined #osdev
GeDaMo has quit [Remote host closed the connection]
sonny has quit [Remote host closed the connection]
Burgundy has joined #osdev
jhagborg has quit [Remote host closed the connection]
xenos1984 has quit [Read error: Connection reset by peer]
jhagborg has joined #osdev
clever has quit [Ping timeout: 240 seconds]
the_lanetly_052_ has quit [Ping timeout: 276 seconds]
vdamewood has quit [Read error: Connection reset by peer]
vdamewood has joined #osdev
vdamewood has quit [Client Quit]
xenos1984 has joined #osdev
<FatalNIX>
I was kidding but hey
<FatalNIX>
It'd be interesting :P
<FatalNIX>
It'd be one way to try and push as much of the memory management to the end process time as possible
<Bitweasil>
Isn't that basically Core Wars?
<FatalNIX>
The problem is I'm not sure how that'd work on x86 without you having to request access in the first place.
clever has joined #osdev
sonny has joined #osdev
frkazoid333 has joined #osdev
<sbalmos>
requesting access turns into a slew of electrons filing paperwork, memory impact studies, acquiring permits and locks, more studies, public input sessions by other processes... you might get around to getting your memory slice maybe 6 seconds later. But at that point, the memory request already obsolete
frkazoid333 has quit [Ping timeout: 240 seconds]
sonny has quit [Remote host closed the connection]
frkzoid has joined #osdev
frkzoid is now known as freakazoid333
<gog>
and if you ever do get your memory you have to pay a memory tax
<gog>
and the memory tax code is totally incomprehensible
<heat>
that's called the oom killer
<gog>
true
<FatalNIX>
:/
Starfoxxes has joined #osdev
<geist>
oh didn't notice it but riscv released version 1.12 of their priviledged spec back in december
<geist>
you should also see if the epyc can even clock up to 3200mhz ram. it's possible it wont
<geist>
but that's 4 channels per socket
<geist>
my suggestion: if you're building a server, use ECC and accept that the latency of the ram will be lower
<geist>
but you'll have more banks so it'll have much higher bandwidth than a desktop (theoretically)
<geist>
ie, use the type of ram it is designed to work with
dude12312414 has joined #osdev
<klys>
about getting dual sockets: for future CPUs when the prices come down enough
<geist>
note that you'll probably need to get matched ram in that case
<geist>
or depoulate half your sockets and move to the other cpu in that cas
<sbalmos>
by the time the prices come down, it'll be time to build a new box with new CPUs
<klys>
it's 8 channel not 16 channel
<klys>
sbalmos, best cpu for this box is sitting around 6k or not available
<sbalmos>
too rich for my blood
<klys>
there are 16 dimm sockets, and with 8 channel ram, there's no need to depopulate half if you have eight
<klys>
going high ball like 256gb rdimms isn't an option
<klys>
because by the time you've bought all eight, the same model isn't available anymore
<klys>
"All EPYC “Milan” processors offer exceptional memory bandwidth, with all models supporting 3200MHz DDR4 memory. The amount of memory throughput available to each CPU core is an important consideration for some applications, but is simply a function of the number of cores."
<geist>
klys: you'll have to move half of them off one socket to the other
<geist>
because the two sockets each have 4 memory channels (8 dimms)
<klys>
oh just to get it running
<geist>
if you fully populate 8 of them with one socket then when you get a second cpu you'll have to either buy 8 more dimms or move 4 of them between sockets
<klys>
and then when you get eight more just move them back
<geist>
sure, but saying it might be harder in the future to get matched dimms
<geist>
also yeah, what is your budget now? these current epyc cpus are expensive
jhagborg has quit [Remote host closed the connection]
<geist>
yeah so i seriously question whether or not you want to spend that kinda cheddar on it
jhagborg has joined #osdev
<geist>
like, a single socket ryzen based solution will work with ECC, give you far more bang for your buck
<geist>
and far cheaper right now. do you have particular use cases for this?
<klys>
no set use cases yet, possible future resale, just looking into keeping it for sql/vps
<geist>
oh hm, actually it does have 8 channels, so that really does mean you'll probably want to buy 8 more sticks if you get a second cpu
<klys>
yeah so no depopulating half on a permanent basis
lanodan has quit [Ping timeout: 248 seconds]
<klys>
other potential cases may include: vms for remote thin clients; compiler hosting
<geist>
anyway, it's up to you and it's your money
<klys>
well what's a reason to invest in another board if it only has one socket?
<klys>
I own this board
<geist>
ah. you already have the board, well that changes things entirely
<klys>
:)
<geist>
though i hope you didn't buy it for good money
<klys>
I spent about 900
<geist>
you might still be cheaper/better to sell it and get a cheaper thing
<geist>
but honestly... oh damn
<geist>
that seemed like a poor decision to buy before thinking through the overall cost
<klys>
considering getting the ram first because the cpu price might come down
<klys>
there are a couple of factors that have me vascillating between 64gb and 256gb: if I have a fast nvme disk, then it can usually just write back whatever it's doing to disk without that much trouble
Likorn has joined #osdev
<klys>
so for example for compiler hosting, suppose I have 56 threads running from 64gb, that's over 1gb available to each thread
<klys>
and I have not ever seen gcc/clang consume that much ram
<klys>
otoh, if you have 56 users each with a vm, with 56 browsers open, I can see how you would need that much
<klys>
then again, there might be a tactic qemu/kvm can employ to write that ram content back to disk, such as memory ballooning
<heat>
try compiling llvm
<klys>
what did this teach you?
<heat>
nothing
<heat>
computer go beep boop
<heat>
calculate very good lots of math of integer
<heat>
very smart sand
mahmutov has quit [Ping timeout: 276 seconds]
Burgundy has quit [Ping timeout: 272 seconds]
<klys>
makes me wonder if memory ballooing is any better than just using a browser with a virt swap partiiton
nyah has quit [Quit: leaving]
<klys>
for example 2tb of swap on the nvme disk, and just keeping user data on sas/sata
<geist>
kvetch: when someone else installs a linux machine and sets the swap space comically small
<geist>
i like big swaps and i cannot lie
<klys>
=)
<geist>
like 256GB ram w/2GB swap
<geist>
just general use will eventually fill up the swap and thus its not big enough
<kingoffrance>
https://www.freebsd.org/cgi/man.cgi?tuning yeah i used to follow that The swap partitionshould typically be approximately 2x the size of main memory forsystemswith less than 4GB of RAM, or approximately equal to the size of main memory ifyou have more
<kingoffrance>
i dont know what is a good rule nowadays, but its always weird to me to see giant glob of RAM and tiny swap
<geist>
does it really matter? naw. but i tend to set /proc/sys/vm/swappiness to 100, may as well let it get used
<geist>
with that i've seen a long used workstation typically end iup with quite a few GB of swap used, mostly stale, backgrounded tasks
<geist>
seems like a good use of swap space, gets me a few GB back to use for something more useful
haliucinas has quit [Quit: Ping timeout (120 seconds)]
haliucinas has joined #osdev
<geist>
i do get it hat for a general server you probably dont want swap, and set up your machine properly, etc
<kingoffrance>
:/ i feel opposite the server that it is always on providing services for other ppl should have swap, the desktop/workstation that reboots less of an issue
pretty_dumm_guy has quit [Ping timeout: 240 seconds]
<kingoffrance>
maybe an interesting q is how do people handle "crashdumps" ?
<kingoffrance>
i mean for osdev :)
sonny has joined #osdev
<kingoffrance>
the 2 things i see are either a lot of space locally, or some remote machine
<klange>
I should implement coredumps...
<klange>
and, of course, the necessary mechanisms to support them in my debugger
<klys>
1) ramfs containing a .qcow containing a smaller swap partition; 2) all swap done in dom0 with memory balloning in each vps
roan has quit [Quit: Lost terminal]
<klys>
and of course if you have a lot of swap you can make a pretty sizeable ramfs, probably want to be able to hibernate your guest vms
sonny has quit [Ping timeout: 252 seconds]
Matt|home has joined #osdev
srjek has quit [Ping timeout: 250 seconds]
<heat>
kingoffrance, i was planning to do it in userspace with a daemon
freakazoid333 has quit [Ping timeout: 250 seconds]