<goliath>
node1, "Von Neumann vs Harvard Architecture" and "RISC vs CISC" are two different topics entirely (and several decades apart historically)
<node1>
So your saying RISC , CISC, MIPS, SPARS are not achitecture?
<goliath>
RISC vs CISC are general _design ideas_ for an instruction set architecture
<goliath>
MIPS _is_ a specific instruction set architecture
<node1>
Exactly. mips is variant of RISC
<node1>
Your MIPS do step by step instructions, likely your CISC do most things on fly
eddof13 has joined #osdev
<GeDaMo>
That sentence makes no sense :|
<node1>
Mine or his?
<GeDaMo>
Yours
<node1>
What does not make sense??
<node1>
For me his sentance was not clear
<goliath>
I think you are confusing different abstraction levels (abstract vs instance): RISC is an abstract idea, MIPS is an instance.
<node1>
The idea of CISC is to do it all the instructions in one "complex instructions" and the complex instructions is a magic ;)
<heat>
netbsduser, wait how the fuck does that work
<heat>
how did they patent futexes after futexes
<node1>
smoke
<node1>
by passed register with smoke :D
<heat>
anyway there's a new patchset for linux where a guy just breaks down common headers into <header>.h and <header>_types.h to help break down header deps
<heat>
and i like the idea
<heat>
if you only need the type for a struct or interface or something, you include _types.h
<node1>
goliath i'm not i am very Crstal clear. MIPS(Microprocessor without Interlocked Pipeline Stages), is a specific implementation of the RISC principles.
<node1>
Your mips require fewer stages to execute instructions than any x86.
mkwrz has quit [Ping timeout: 256 seconds]
gog has joined #osdev
node1 has quit [Quit: Client closed]
mkwrz has joined #osdev
mkwrz has quit [Client Quit]
srjek|home has quit [Ping timeout: 268 seconds]
gog has quit [Ping timeout: 255 seconds]
gog has joined #osdev
<netbsduser>
heat: i also wondered
<heat>
i read a bit of it and it seems they detail their own API, so maybe they patented just that? idk IANAL
<netbsduser>
patents are known to be a heap of shit nowadays with solicitors adept in writing bs to inflate the importance and novelty of the "invention"
<netbsduser>
i asked some probing questions of someone familiar with windows and he suggested that the patent might stand because this is only describing within-process inter-thread synchronisation and not generally inter-thread
<mjg>
bsds have separate headers for types
<mjg>
(not everywhere, but it is a thing)
<heat>
it might be a good idea to avoid crippling header webs
<heat>
but the mofo doesn't give out any numberz
rhburt has quit [Ping timeout: 276 seconds]
xenos1984 has quit [Read error: Connection reset by peer]
Turn_Left has joined #osdev
masoudd has joined #osdev
Left_Turn has quit [Ping timeout: 255 seconds]
<immibis>
if they patented something that already existed, the patent is invalid
xenos1984 has joined #osdev
rhburt has joined #osdev
dude12312414 has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
masoudd_ has joined #osdev
rhburt has quit [Quit: leaving]
masoudd has quit [Ping timeout: 276 seconds]
gbowne1 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!]
Turn_Left has quit [Ping timeout: 276 seconds]
Turn_Left has joined #osdev
Turn_Left has quit [Ping timeout: 268 seconds]
<geist>
as a side note, we havne't mentioned that here, but gentle reminder: please dont talk about patents in #osdev
<geist>
some of us have a job doing this stuff and very much dont want to be polluted by them
<geist>
abstractly talk about it sure, but dont link specific ones or whatnot
<geist>
havne't mentioned it here in a while, at least
epony has quit [Remote host closed the connection]
eddof13 has quit [Quit: eddof13]
Turn_Left has joined #osdev
epony has joined #osdev
goliath has quit [Quit: SIGSEGV]
<heat>
gosh why do i feel such a strong will to discuss patents in-depth and paste GPL source code in this channel
epony has quit [Remote host closed the connection]
<mjg>
lol here is an except from Windows 11
<mjg>
fuckMyLifeByHandleEx
<heat>
FuckMyLifeByHandleEx*
<heat>
they would never start an identifier with a lowercase
zxrom has quit [Ping timeout: 245 seconds]
<mjg>
SunOS architects would though!
<sortie>
heat, it's because you're an asshole that just want to be annoying when people express their needs :)
epony has joined #osdev
<heat>
ouch
<heat>
joke over head i guess
<sortie>
:)
* sortie
pokes heat, a dear friend
<mjg>
there was a nicer way to say it
<mjg>
but you are an asshole
<mjg>
:X
<sortie>
oh no
<sortie>
I'm the asshole
<mjg>
GNU/Asshole
<sortie>
Or as I've come to call it, iANAL
sortie was kicked from #osdev by sortie [bad sortie]
<mjg>
funny story, recently firefo started continuously eating cpu on my trusty HASWELL
<mjg>
to the point where things would lag
<mjg>
this is where i found that it has 4.5G "cached"
<mjg>
according to perftop it was doing something stupid in a loop in libxul
<mjg>
anyhow i cleared that shit et voila, now it only continuously wastes about 10%
<gog>
there is no UI, only xul'
zxrom has joined #osdev
<mjg>
and eats very little ram (in comparison)
masoudd_ has quit [Ping timeout: 268 seconds]
<heat>
libxuul
<mjg>
still fucking webtards gave it 20,4g virt
<mjg>
and "only" 5G rss
<mjg>
then again, i found evern low end machinery today has liek 32G ram
<clever>
mjg: i think haskell just throws 1tb of virt at things, so it can avoid the overhead of asking for more later, lol
<mjg>
did you mean firefox?
<clever>
nope haskell
<clever>
another case of virt just being insane
sortie has joined #osdev
<mjg>
lol i misread it as hasWell
<mjg>
;)
<heat>
have you seen chrome?
<mjg>
ye the FP languages are all stupid
<mjg>
in terms of their runtime
<heat>
chrome does 1TB virt on average
<heat>
i... i don't know why
<mjg>
i tried chrome, also was eating cpu but afair 20%
<heat>
that's because chrome is a good browser
<mjg>
that aside it had rendering artifacts
<mjg>
so i ditched that sucker
<mjg>
also ibus-daemon likes to generate traffic
<mjg>
i don't know whatthat fuck is doing, but it takes 5%
srjek|home has joined #osdev
<geist>
VAX > HASWELL
* geist
fite
<mjg>
ERLANG > HASKELL
<heat>
VAXEN > HASWELLEN
<mjg>
VAX > HASKELL
<mjg>
i said my piece
<mjg>
ey sortie do you know how to trigger heat
<mjg>
VAX > ITANIUM
<heat>
screw you
<heat>
you killed itanium
<mjg>
sortie: see?
<heat>
cold bloody murder
<heat>
ok mjg real talk
<sortie>
That's 16-bit talk
<heat>
do you know anything about IO optimization or do you just deal with CPU stuff?
<mjg>
i know very little about i/o
<heat>
dang
<mjg>
but you can safely assume whatever code you ran into is suffering a case of the stupid
<heat>
the code i'm running into is not yet written!
<heat>
i'm wondering how many requests i can throw to a blockdev before it passes out
<heat>
and if there's an actual benefit in not just mindlessly flooding the io queues
<mjg>
that depends on magic dev innit
<mjg>
it used to be that drives would queue some of the i/o on their own
<mjg>
and try to make best decisions based on the queue
<heat>
well, yeah, it'll queue stuff
<heat>
problem is that, lets say you have a lot of dirty pages and you start flushing them out
<mjg>
however, low end crappers will love to run into trouble if you mix reads and writs
<heat>
non-urgent writeback can take the place in the queue of urgent(er) reads/writes
<heat>
same thing for, lets say, readahead
<heat>
"Gorman's patch set starts by noting that "even if congestion throttling worked, it was never a great idea"."
<mjg>
i don't know anyone who was dealing with storage and does not consider the entire area utterly fucked
<heat>
ok so that sucks
<mjg>
firmware lying to you
<mjg>
and having bugs
<mjg>
hm... now there is something i genuinely don't know how to do on linux
<mjg>
without diggingo into kmem
<mjg>
ibus-daemon is reading form one eventfd and writing into another
<mjg>
in a loop
<mjg>
i don't see a way to find out who else is using said eventfds
<mjg>
userspace-friendly
<mjg>
worst case i can whip out a debugger and print a bunch of stuff
<heat>
grab the eventfd's name and grep all other fds for it?
<mjg>
there is no name
<heat>
don't they have anon inode names?
<mjg>
anon_inode:[eventfd]
<heat>
aw shite
<mjg>
lsof does not add any magic either
<heat>
can't you stat it and look for the inum?
<mjg>
now that may be a legit idea
<mjg>
i don't know ye dos not work
<mjg>
inode number is from procfs
<heat>
is it?
<mjg>
i'll probably bpftrace it later
<heat>
stat -L seems to correctly deref things
<heat>
but i didn't try with an anon inode
<mjg>
nope
<mjg>
however, patching the sucker to have unique inodes would probably be beneficial
<mjg>
inode = anon_inode_inode;
<mjg>
lmao
<mjg>
there is literally one global
<heat>
yeah
<heat>
and then they override the file_operations IIRC
<heat>
it's optimal
<heat>
literally
<heat>
my vfs design is kind of busted in that regard, i have all my vfs ops in file_ops
<heat>
there's no distinction between fd - inode - dentry - address_space
<heat>
/*
<heat>
* We didn't write back all the pages. nfs_writepages()
<heat>
* sometimes bales out without doing anything.
<heat>
*/
<heat>
uh oh, someone has been
<heat>
horsing around
zxrom has quit [Quit: Leaving]
Matt|home has joined #osdev
nur has quit [Remote host closed the connection]
Turn_Left has quit [Read error: Connection reset by peer]