<bslsk05>
www.teckelworks.com: teckelworks » C Programming on a bare metal PDP-11
<kof123>
*other than multiplication, division, and xor, what else do you need?
GeDaMo has joined #osdev
<geist>
to a modern programmer i doubt pdp11 is particularly strange looking, but that is also because it's kinda the prototype of fairly modern design
<vaxuser>
but does it run DOCKER
<kof123>
oh i was not mocking, that looks like a legit target to simulate for me, except how much ram is the only question
<geist>
was gonna say it runs CLUSTER
<geist>
but actually that's a VMS thing,
<kof123>
if it is vaguely c 89, i am in
<geist>
CLUUUUUUSTER
<geist>
you can still compile gcc for it
<vaxuser>
pdp11 running an itanium emulator
<vaxuser>
implement yesterday, get hello world booted next century
<geist>
yah this machine has 1.5MB, a bit hard to fit an itanium in there
<vaxuser>
have you heard of SWAP on TAPES
<gog>
that's probably the size of its register file lmao
<geist>
register file of a CRAY-1 is kinda like that
<bslsk05>
www.theregister.com: Arm breaking into Intel's PC heartlands and worse is to come • The Register
* Ermine
wants to try out swap on tapes
<vaxuser>
swap on nfs is a sufficient failure i think
<GeDaMo>
That page has a link to an interview with Dave Cutler
<sham1>
C89? Eh, better than pre-ansi but still, ew
zxrom has joined #osdev
bauen1 has joined #osdev
agent314 has quit [Ping timeout: 260 seconds]
agent314 has joined #osdev
<kof123>
c89 doesn't mandate as much bit widths or representations. > Fixed width integer types (since C99) that is when it all went wrong :D
<kof123>
> _BitInt(N)` - A Fundamental Type for N-bit Integers will be added to C23
<kof123>
they had to swing back around 33 years later lol
<kof123>
i rest my cat
<Ermine>
Fixed width is how things should have been since the beginning
<Ermine>
It is sad to see only 1 task running on 4 cores machine
<kof123>
well, it would seemingly need some hardware standard, C was just piggybacking/mimicing whatever various hw existed
<kof123>
a deadly game of cat [hw] versus other cat [sw] -- cave johnson
<kof123>
which one should be dictating these things?
MiningMarsh has joined #osdev
<kof123>
i would say something "Integrated" probably always has more potential to be optimized....but then the next step is instruction set tailored to a specific language, etc.
<kof123>
see burroughs machines lol
<kof123>
"lol" just because i think they had some C-ish implementations too IIRC
<kof123>
> The C Machine in its CRISP implementation, and the Hobbit that followed directly, both aim to support the types of memory access that programming languages ...
<kof123>
how "Integrated" do you want :D
<mcrod`>
hi
<sham1>
Hi
edr has joined #osdev
ZipCPU has quit [Ping timeout: 248 seconds]
vai has joined #osdev
Turn_Left has quit [Remote host closed the connection]
Turn_Left has joined #osdev
ZipCPU has joined #osdev
leon has quit [Remote host closed the connection]
agent314 has quit [Quit: No Ping reply in 180 seconds.]
skipwich has quit [Quit: DISCONNECT]
awita has joined #osdev
ZipCPU has quit [Ping timeout: 255 seconds]
agent314 has joined #osdev
Turn_Left has quit [Remote host closed the connection]
ZipCPU has joined #osdev
Turn_Left has joined #osdev
heat has joined #osdev
<ddevault>
immibis: did you ever have any progress towards bringing up the video out on a pinephone
leon has joined #osdev
<vaxuser>
btw, did you know mutt eats over 1G of rss with 1 million e-mails?
<vaxuser>
disappointing
<heat>
sir, i use gmail
<heat>
gogle has all the rams in the world!
<vaxuser>
zsh: command not found: gmail
<vaxuser>
what distro is it
<heat>
rhel
<vaxuser>
do you btw use arch?
<heat>
i use arch, btw
<vaxuser>
i would totally create a fork named arch btw
<vaxuser>
it would be all the same except with an installer
<vaxuser>
let mut res = CACHE.load(Ordering::Relaxed);
<vaxuser>
if res == 0 {
<vaxuser>
res = init();
<vaxuser>
CACHE.store(res, Ordering::Relaxed);
<vaxuser>
}
<vaxuser>
res
<heat>
>blocking the current thread until it can be acquired.
<vaxuser>
wtf
<heat>
but threaden are not blocken
<vaxuser>
fucko ffen
<vaxuser>
chekco ut the above anti-pattern in play
<gog>
patternen
sbalmos has joined #osdev
<vaxuser>
is there one of you or is it GOGEN
<mcrod`>
gog: i want a fish
* gog
tosses a fishy to mcrod`
* mcrod`
chomp
<heat>
vaxuser, wait what's the problem with that snippet?
<heat>
it looks reasonable?
<immibis>
it may compute the cache multiple times, but that's probably reasonable if there are no side effects
<vaxuser>
fucked fences
<heat>
why fucked?
<heat>
it doesn't need fences there
<immibis>
why waste time spinning for the cache to be populated when you may as well populate it
<heat>
there's no spinning
<vaxuser>
you need fences to synchro against whatever init is doing
<immibis>
sounds like init just does computation
<heat>
why?
<immibis>
> Another option, if the state fits into usize and the initializing function is idempotent and relatively quick, is to do a racy initialization:
<heat>
this looks like a harmless race
<vaxuser>
ok if all you ever read there is the one var then indeed this works
<vaxuser>
this justl ooks like the classci anti pattern
<vaxuser>
if (lolptr == NULL) { lolptr == init(); }
<heat>
why is it an anti pattern?
<vaxuser>
/* use lolptr here */
<vaxuser>
oh therey ou go, actual crate the guy talks about *is* employing fences
<bslsk05>
github.com: once_cell/src/race.rs at master · matklad/once_cell · GitHub
<heat>
ok
<heat>
so you need a smp_rmb + smp_wmb to make sure stores aren't reordered on weird archs
<heat>
that's what I wanted to know
<vaxuser>
i'm positiviely surprised a rust crate is fine
<heat>
what crate?
<vaxuser>
once_cell linked above
<immibis>
but it's rusty
<heat>
is it fine? I can't read any of that shitten
<vaxuser>
i don't think plural form works here
<vaxuser>
GRAMATICALLY SPEAKING
<heat>
i don't caren if it doesn't worken, this is addicten
<vaxuser>
less talking about kissing girls on irc and more learning rust
<vaxuser>
or actually go kiss a girl
<vaxuser>
you nerd
<heat>
fuck you
<vaxuser>
gogs do you have any single friends who are desperate
<vaxuser>
asking for a fellow channel member
<heat>
vaxuser is feeling lonely ever since bsdgirl420 left him :(
<heat>
that was, in 2005
<vaxuser>
it was 9/11 2001
<vaxuser>
i just noticed
<vaxuser>
nine elevEN
<sham1>
Oh ffs
<sham1>
And that's not the filesystem
<vaxuser>
is it find first bit set?
<sham1>
Sadly not
<vaxuser>
ok, i give up
<heat>
what does ffs mean?
<vaxuser>
what is it
<sham1>
urban dictionary it
<vaxuser>
alias ffs=sudo !!
<vaxuser>
pro tip
<vaxuser>
:X
<Ermine>
vaxuser: I'll write that down
<mcrod`>
wtf
<mcrod`>
why does the most basic shit always break on me?
<Ermine>
alias wtf=man
<mcrod`>
oh shut up
<mcrod`>
:(
<vai>
:D
<Ermine>
Got to learn cmake :(
<vaxuser>
does it run on minix tho
<Ermine>
some ancient version probably
<Ermine>
iirc I've even used it to build something
<Ermine>
weechat probably
<Ermine>
vaxuser: netbsd build system is probably worse than cmake
<vaxuser>
you take an issue with a bunch of shell?
<heat>
./build.sh
<vaxuser>
./makeitslow.sh
<vaxuser>
./fastkurwa.rs
<Ermine>
bunch of shell and bsd make
<sham1>
I like shell :(
* vaxuser
slaps sham1
<sham1>
Although only for bootstrapping a real build system. That or as part of redo
<heat>
powershell
* sham1
slaps heat
<kof123>
> is there one of you or is it GOGEN cats, rabbits, frogs, gazelles...could both crouch, as well as jump. this has been your daily kof hieroglyphic lesson in CONWAY'S LAW
<sham1>
> I am a strong believer that Bourne-derived languages are extremely bad, on the same order of badness as Perl, for programming, and consider programming sh for any purpose other than as a super-portable, lowest-common-denominator platform for build or bootstrap scripts and the like, as an extremely misguided endeavor.
<Ermine>
stack traces leading inside glib are more frightening
<heat>
clever code, musl vibes indeed
<sham1>
I'm too antisocial to be a doctor, and that's saying something, given some of the doctors around
zxrom has joined #osdev
<heat>
become social
<heat>
then become doctor
<mcrod`>
it's so nice to use CI without needing to wait 50 hours
<sham1>
Oh, not really into musl either. It's just lesser of the two pessimal libraries. Like I do appreciate glibc when it's working and as a user, but when writing C? Eh
<mcrod`>
honestly
<mcrod`>
i respect musl
<heat>
glibc clears musl in almost every aspect except static linking
<heat>
sorry
<mcrod`>
i know
<mcrod`>
that's why I said respect
<mcrod`>
i respect what they want to do, they have a lot of good ideas
<heat>
musl does not work frequently due to sheer upstream stubbornness. have you had to debug musl code? fuck that
<bslsk05>
'Sting - Shape of My Heart (Official Music Video)' by StingVEVO (00:04:41)
<Ermine>
heat: good to hear
goliath has quit [Quit: SIGSEGV]
joe9 has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
rustyy has joined #osdev
vai has quit [Ping timeout: 255 seconds]
gabi-250_ has quit [Remote host closed the connection]
gabi-250_ has joined #osdev
xenos1984 has joined #osdev
<zid>
heat_: how many patches in 6.6 do you hjave?
<zid>
pablo.. peng.. peter.. no pedro :(
<heat_>
for 6.6? i'm not sure if any of them caught the merge window
<heat_>
probably not. should have at least 2 in 6.7 though
<zid>
okay good
<zid>
you had better or I'm disowning you
<Ermine>
what in 6.6
<zid>
nothing in 6.6, he slacker
<heat_>
i have one interesting thing i should look at. but the more i think about it, the less it seems that it matters
<mcrod`>
that's the senile kicking in
<heat_>
i would call it wisdom
<mcrod`>
call it what you will
<mcrod`>
i'll be taking you to the nursing home soon pops
<heat_>
fuck you
<nicesj>
oops
<nicesj>
calm down
<Ermine>
I'd prefer euthanasia to getting brought to nursing home
<zid>
what if it's a nice o ne
<zid>
with a LAN
<heat_>
what game are we playing?
<zid>
sc2 ofc
<heat_>
i've never played starcraft
<zid>
we'll get the elderly korean lady to do commentary
<Ermine>
What is the interesting thing you're looking at?
<zid>
I played a bunch of sc2 at launch, for the first series etc
<heat_>
Ermine, fork() doesn't copy over MAP_PRIVATE file mappings at all. i'm wondering if saving a page fault there (at least for executable mappings) makes sense
<Ermine>
As per mmap(2), MAP_PRIVATE is copy-on-write
<heat_>
yes, this applies to MAP_PRIVATE mappings that did not get write-faulted
<heat_>
* Don't copy ptes where a page fault will fill them correctly. Fork
<heat_>
* becomes much lighter when there are big shared or private readonly
<heat_>
* than faulting.
<heat_>
* mappings. The tradeoff is that copy_page_range is more efficient
<zid>
heat is there any ever pressure to simplify kernel mappings to make process creation cheaper?
<heat_>
the counterpoint to this idea is that 1) executable mappings usually aren't very large 2) you'll page fault *immediately after* returning from fork
<heat_>
zid, wdym?
<zid>
what I said, if you don't understand I guess the answer is either no or you don't know
<heat_>
what's a kernel mapping?
<Ermine>
Good question
<heat_>
the gold standard for process creation does not involve touching mmap regions at all. just vfork/clone(CLONE_VM) and exec
<heat_>
but i guess you know that
<zid>
no and I don't care
<zid>
that's why I don't know
<zid>
I don't even know what an mmap region is
<heat_>
linux has these structs called VMAs (vm areas) arranged in a btree
<zid>
bit off topic
<zid>
esp cus I said I don't care
<heat_>
i mean, define kernel mapping? i can't answer you if I don't know what you're referring to
<zid>
A mapping
<zid>
for
<zid>
the kernel
<heat_>
in the MMU sense?
nicesj has quit [Ping timeout: 252 seconds]
vdamewood has joined #osdev
<Ermine>
What about benchmarking it?
<heat_>
Ermine, yeah that's the challenging part
<Ermine>
we have vaxuser for that
Turn_Left has quit [Ping timeout: 246 seconds]
Turn_Left has joined #osdev
dude12312414 has joined #osdev
<vaxuser>
i onlyb enchmark to flex on others
<gog>
how much do you bench press
xenos1984 has quit [Ping timeout: 246 seconds]
xenos1984 has joined #osdev
<vaxuser>
3 gogs body weight
<vaxuser>
on my rest day
<gog>
dang
<gog>
that's 210kg
<vaxuser>
you are one fat cat
<Ermine>
gog: may I pet you
<gog>
Ermine: yes
<gog>
vaxuser: that's right
* Ermine
pets gog
* gog
prr
<gog>
fattest cat in the land
<vaxuser>
you have a weight-related fetish Ermine
<vaxuser>
my grandma had a turbo fat cat
<vaxuser>
size-wise he was a dog
<vaxuser>
and they were scared of him accordingly
<Ermine>
Well, people found 100kg doggo in Nizhny Novgorod recently
<vaxuser>
is that anywher near close to chernobyl
<vaxuser>
:X
<vaxuser>
("fun" fact: there are dogs living in the zone)
<Ermine>
there are people living in this zone afaik
<vaxuser>
they are descendants of pets left behind during evacuatin
<gog>
there are melanistic frogs that live there and they weren't mealinistic before the incident
<vaxuser>
oh man
<vaxuser>
asimov published an essay "relativity of wrong"
<vaxuser>
then i learned he wrote an entire book
<vaxuser>
which i put on my todo and promptly forgotten about
<vaxuser>
and now here it is agin
<heat_>
nizhny novgorod is IIRC pretty far north
<heat_>
i'm wrong
<heat_>
TIL
<heat_>
(i didn't know i could be wrong)
<mcrod`>
hi
valshaped7424880 has quit [Quit: Gone]
<Ermine>
What about opening the map?
<zid>
play more eu4, heat
<Ermine>
heat_: you're thinking of Veliky Novgorod probably
<zid>
nah he only knows about nizhny novgorod because of eu4 in the first place, it's an important province
<zid>
he just forgot where it was
<zid>
cus he's dumb
<zid>
to be fair, nizhny novgorod is owned by muscovy at game start, not novgorod itself
<heat_>
yes zid
<zid>
That's Sir zid, to you
valshaped7424880 has joined #osdev
gxt has quit [Remote host closed the connection]
gxt has joined #osdev
bauen1 has quit [Ping timeout: 246 seconds]
gog has quit [Quit: Konversation terminated!]
PublicWiFi has quit [Quit: WeeChat 4.0.3]
PublicWiFi has joined #osdev
agent314 has quit [Ping timeout: 240 seconds]
agent314 has joined #osdev
foudfou has quit [Ping timeout: 256 seconds]
dude12312414 has quit [Ping timeout: 256 seconds]
agent314 has quit [Ping timeout: 255 seconds]
foudfou has joined #osdev
err has quit [Remote host closed the connection]
err has joined #osdev
justache is now known as justHaunted
gog has joined #osdev
gbowne1 has joined #osdev
bauen1 has joined #osdev
gxt has quit [Remote host closed the connection]
gxt has joined #osdev
joe9 has quit [Read error: Connection reset by peer]
gxt has quit [Remote host closed the connection]
gxt has joined #osdev
joe9 has joined #osdev
joe9 has quit [Client Quit]
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
xenos1984 has quit [Ping timeout: 246 seconds]
goliath has joined #osdev
xenos1984 has joined #osdev
enyc has joined #osdev
gbowne1 has quit [Remote host closed the connection]
gbowne1 has joined #osdev
rorx has quit [Ping timeout: 258 seconds]
rorx has joined #osdev
<zid>
Ascendance of a Bookworm Part 05 Volume 08 PREPUB [2/8]
<zid>
yisss
<gog>
oh it's mondauy
<geist>
yay mondays
<geist>
just another manic monday
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
joe9 has joined #osdev
<gog>
geist: were you kissing valentino by a crystal-blue italian stream?
<geist>
teehee
<zid>
Damnit, *next* chapter is the payoff chapter.
awita has quit [Ping timeout: 272 seconds]
<zid>
wtb coma
awita has joined #osdev
Gooberpatrol66 has quit [Quit: Leaving]
heat_ is now known as heat
<sham1>
Meson is python. Python is pessimal
<sham1>
Therefore meson is pessimal
<vaxuser>
wake me up in a post-performance era
<heat>
meson is literally python
<gog>
wake me up inside (can't wake up)
<zid>
A shame he seemed and honest man
<zid>
and all the fears you hold so dear
<zid>
will turn to whisper in your ear
moon-child has joined #osdev
pieguy128 has joined #osdev
tomaw_ has joined #osdev
terrorjack4 has joined #osdev
dennisschagt_ has joined #osdev
dinkelha1 has joined #osdev
HeTo_ has joined #osdev
divine_ has joined #osdev
nj0rd_ has joined #osdev
pieguy128_ has quit [Ping timeout: 264 seconds]
friedy has quit [Ping timeout: 264 seconds]
dinkelhacker has quit [Ping timeout: 264 seconds]
HeTo has quit [Ping timeout: 264 seconds]
dennisschagt has quit [Ping timeout: 264 seconds]
asarandi has quit [Ping timeout: 264 seconds]
nj0rd has quit [Ping timeout: 264 seconds]
simpl_e has quit [Ping timeout: 264 seconds]
puck has quit [Ping timeout: 264 seconds]
Irvise_ has quit [Ping timeout: 264 seconds]
divine has quit [Remote host closed the connection]
childlikempress has quit [Quit: !]
terrorjack has quit [Ping timeout: 264 seconds]
bslsk05 has quit [Excess Flood]
terrorjack4 is now known as terrorjack
Irvise_ has joined #osdev
asarandi has joined #osdev
tomaw has quit [Ping timeout: 624 seconds]
tomaw_ is now known as tomaw
Gooberpatrol66 has joined #osdev
gog` has joined #osdev
gog has quit [Ping timeout: 252 seconds]
awita has quit [Remote host closed the connection]
puck has joined #osdev
KitsuWhooa is now known as mvchtz
mvchtz is now known as KitsuWhooa
linearcannon has quit [Remote host closed the connection]