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
gog has quit [Remote host closed the connection]
<heat> mjg, hello father, does this look ok? https://gist.github.com/heatd/166eaf0f52d5e6b2e364b75bd7f6c0d4
<bslsk05> ​gist.github.com: gist:166eaf0f52d5e6b2e364b75bd7f6c0d4 · GitHub
<heat> i have no idea if this is correct but it seems ok to me
<heat> for branchless 32-byte alignment of rdi
<heat> ok it seems that you branch but that seems silly to me?
<heat> may be neglible I guess
wlemuel has quit [Quit: Ping timeout (120 seconds)]
wlemuel has joined #osdev
<heat> hm no the math doesn't quite check out, i'll need to rethink that. but the idea looks solid to me
<moon-child> I think probably best to compute the aligned end pointer, compute aligned start pointer, and subtract
<moon-child> rather than trying to figure out how many bytes of head/tail there are and subtract those from the length
<moon-child> also don't you need to move up to 32 bytes from each of the head/tail, not just 16?
<heat> end pointer of what?
<geist> heat!!!!1111!
<heat> i'm moving 32
<heat> 4x movq
<heat> geist!1!!!!!11!!!11!!!!!!!!!!!!11
<moon-child> destination
<moon-child> but that's 16 from head and 16 from tail, no?
<heat> no, you can see 2 pairs of 4x movq
<moon-child> I see 4 loads and 4 stores
<heat> yep, and 4x8 = 32
<moon-child> 2 loads+stores from head, 2 loads+stores from tail
<heat> OH
<moon-child> ie, 16 bytes from head, 16 bytes from tail
<heat> yes that's wrong, i took that straight out of tail handling code
<heat> good catch, although I was reworking that anyway, no need to use overlapping stores here
<heat> i've updated the gist. this Should Work I think
<heat> whats your idea here? lea 32(%rdi), %rcx; and $-32, %rcx; sub %rdi, %rcx? and you get unalignment?
<moon-child> does the length not have to be a multiple of 32 too? I forget
<moon-child> s/have/want/
<heat> i don't think so. i distinctly remember switching mallocs into posix_memaligns(32) and things went vrooooooooom. don't remember the size though
<heat> i still think it's super bizarre to only use avx copies on 32-byte aligned buffers. couldn't they have aligned it themselves?
<moon-child> oh ok--good, because I didn't align the tail either in my version :)
<moon-child> heat: hardware designers work in mysterious ways
<heat> ryzen movsb completely fucks off on non-aligned too
<heat> didn't it reach 1GB/s? something tupid like that
<heat> and now linus inlined every rep movsb :)
<moon-child> linorse tivalds
<heat> linusucksatx86assemblyprogramming torvaldsucksatx86assemblyprogramming
<zid> we ran all the movsbs didn't we
<heat> yes
<zid> show txt
<bslsk05> ​gist.github.com: gist:37741bfa625eab3cb926e33bb79b6e1c · GitHub
<zid> It's literally the last thing I gist'd
<zid> 190MB/s to encode a movzx al as a 'rep movsb'?
Vercas6947 has quit [Remote host closed the connection]
gildasio2 has quit [Remote host closed the connection]
Vercas6947 has joined #osdev
gildasio2 has joined #osdev
wlemuel has quit [Ping timeout: 250 seconds]
wlemuel has joined #osdev
elastic_dog has quit [Remote host closed the connection]
elastic_dog has joined #osdev
kivikakk has quit [Killed (NickServ (GHOST command used by asherah[m]!~asherahhr@2001:470:69fc:105::3:5259))]
kivikakk1 has joined #osdev
[itchyjunk] has quit [Remote host closed the connection]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #osdev
Skillingford has joined #osdev
\Test_User has quit [Quit: e]
Skillingford has quit [K-Lined]
\Test_User has joined #osdev
heat has quit [Ping timeout: 256 seconds]
osmten has joined #osdev
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
CompanionCube has quit [Ping timeout: 240 seconds]
Stary has quit [Ping timeout: 260 seconds]
vdamewood has joined #osdev
xenos1984 has joined #osdev
vdamewood has quit [Quit: Life beckons]
<mjg> heat afair there was penalty for stores which overlap with an area you rep to
<mjg> heat that said my code to do aligning is pretty crap but i could not be fucked to do better
<mjg> patchen welcome
pmaz has joined #osdev
slidercrank has joined #osdev
pmaz has quit [Remote host closed the connection]
pmaz has joined #osdev
goliath has joined #osdev
Raito_Bezarius has quit [Ping timeout: 252 seconds]
elastic_dog has quit [Killed (osmium.libera.chat (Nickname regained by services))]
elastic_dog has joined #osdev
wlemuel has quit [Quit: Ping timeout (120 seconds)]
wlemuel has joined #osdev
nyah has joined #osdev
GeDaMo has joined #osdev
awita has joined #osdev
bauen1 has quit [Ping timeout: 264 seconds]
<Brain___> its really quiet in here compared to how i remember it ~12 years ago
gog has joined #osdev
* FireFly shrugs
<GeDaMo> It'll depend who's awake
<kazinsal> there's fewer "how do i print bios!!!???" questions and that cuts down on the overall noise
<mjg> :)
<mjg> it's not the same "here" tho is it
<mjg> with introduction of discord
<kazinsal> yeah, true. "here" primarily consists of those of us who have spent the past 15+ years on IRC and know this is where the no frills debate and discussion happens
foudfou has quit [Ping timeout: 240 seconds]
<kazinsal> the osdev discord is not something I look at often but when I do it feels a lot like a multi-channel version of what this channel was in 2008
<Mutabah> Is that a good thing or a bad thing?
foudfou has joined #osdev
<mjg> the real q is how many people still bother to do osdev
<mjg> and how old they are
<kazinsal> probably mostly good -- it means the youngins (I say, haven't not quite cracked 30) -- are still interested in this field, enough so that there's a discord for it
<mjg> there is a rather worrisome pheonomena were everyone doing actual OS work is people past 30
<mjg> everyone else is doing "backend" at best, where "backend" is not going below DOCKER
<mjg> or whatever other container do jour
<mjg> du
<mjg> afair even LINUKKZ people complained about it
<kazinsal> I joined up in the hobby systems research space early on in my programming career and chose to instead make datacenter engineering my work so that I a) would still have fun doing systems as a hobby and b) wouldn't be trying to compete for the X number of jobs in the systems sphere that appear per year
<kazinsal> zero of which happen to appear north of the 49th...
<kazinsal> and as much as I would love an employer-sponsored visa and green card track I quite like what I do
<mjg> how many are south of 30
<kazinsal> honestly probably very very few
<mjg> my point
<kazinsal> I'm one of the youngest regulars here at 28
<kazinsal> but I've also been here for uh
<kazinsal> more than half my life
<mjg> there is this funny chess quote
<gog> mew
<mjg> "The ability to play chess is the sign of a gentleman. The ability to play chess well is the sign of a wasted life."
* kazinsal headpats gog
* gog prr
* kazinsal scritchies
<mjg> s/play chess/do OS/
* gog prr prr
* mjg barks at gog
<kazinsal> osdev: chess, but less deterministic
<mjg> osdev: where basic sanity comes to die
<gog> i never had basic sanity
<mjg> kind of a shit sandwhich, is inot it
<mjg> you deal with FRONTEND and are appaled at all the shit
<kazinsal> the comp-sci field where all your expectations go to die
<mjg> so you go way lower and then you find out about reliaites of hardware
<mjg> the only escape is to abadnon being a practitioner
<mjg> do LISP instead
<mjg> you would think therew ould be this great abstraction over crap hw, which would be a joy to code in
<kazinsal> turns out it was slow as shit
<Brain___> i made a 'splash image' to promote my os in the github readme: https://user-images.githubusercontent.com/1556794/235880264-55485727-1248-49a9-82db-21449632b52a.png
<Brain___> i dont know if this oversells it, because people might get the impression its some 3D GUI, it isnt
<Brain___> in reality, such things are often impractical to use in the real world
<kazinsal> I recently re-read through andy hertzfeld's folklore blog about the macintosh development with a freshly jaded set of eyes and it was quite eye-opening as to how the microcomputer revolution turned in that 16-32 bit transitionary era
<Brain___> i had all kinds of 3D stuff enabled in X11 years ago
<mjg> > freshly jaded
<mjg> lmao
<kazinsal> it helps to understand steve jobs once your eyes have spent untold years dealing with c-levels
<Brain___> lol that phrase didnt escape me either
<kazinsal> also dealing with mildly psychotic sales guys who know just enough tech to be dangerous
<mjg> sales people are the worst
<Brain___> wait, they know *any* tech?
<Brain___> "buy this one, its got biggerer rams"
<kazinsal> in my field the problem is the sales people listen to the pre-sales engineers blindly
<kazinsal> and the pre-sales people are the ones who know enough to be dangerous
<kazinsal> because they can understand tech numbers etc but haven't actually implemented anything in 5+ years
<kazinsal> I am currently dealing with a statement of work that makes zero sense if you have any sort of hands on experience with the hardware and environment but seems like a piece of cake if you don't
<kazinsal> it *sucks*
<gog> omg i had the desktop cube thing when xcompmgr was new
<gog> it was neat but also totally unusable for everyday stuff
<mjg> kazinsal: the biggest problem is that even people who know something is bad don't care
<mjg> they say what they can to sell the product and blameshift any problems
<kazinsal> ah yes. the ol "I got my commission, fuck you figure it out"
<mjg> if you point something out you land on a shitlist
<kazinsal> I'm glad my company is small enough that there's only one pre-sales engineer who deals in the shit that I do so even if I'm on his shitlist there's nothing he can do about it
<mjg> at red hat there was a high level manager who used a skill-les intern "opinion" to justify tech claims
<kazinsal> he can be mad as hell at me and I just go "yeah what do you want? I could just stop doing your shit projects"
<mjg> intern was probably scared shitless and nodded to anything
<kazinsal> pros of being in a 130 person company
<mjg> this was converted into "engineering team says X"
slidercrank has quit [Ping timeout: 276 seconds]
dayimproper has joined #osdev
slidercrank has joined #osdev
<nikolar> For what it's worth I'm well under 30 and interested in os work
<gog> i'm halfway to 40 :|
<gog> halfway between 30 and 40 i mean
<kazinsal> yeah but you unlocked the magic secret to shave ten years off
<GeDaMo> Lustrum: a five-year period
<Ermine> gog: may I pet you
<nikolar> I guess that few young people being interested in os work means job security for the rest of us kek
<mjg> good thing chatgpt is interested!
<gog> Ermine: yes
<nikolar> It can only handle about 15000 tokens
* Ermine pets gog
<gog> kazinsal: true
<nikolar> I think we're safe for now
<GeDaMo> I think it's more than 30000 now
<nikolar> ¯\_(ツ)_/¯
awita has quit [Ping timeout: 240 seconds]
<Brain___> gog> yeah desktop cube thats what it reminds me of
<Brain___> was showy and impractical like most of the compiz desktop effects
dayimproper has quit [Ping timeout: 240 seconds]
dayimproper has joined #osdev
<gog> yeah, back in the year of the linux desktop
<kazinsal> yeah, I also miss the dear old year of 2173
* mjg burps
<mjg> aight
<gog> nearly 15 years later and i still have issues with rendering and compositing sometimes, only now caused by prime rendering
osmten has quit [Quit: Client closed]
Burgundy has quit [Ping timeout: 250 seconds]
osmten has joined #osdev
<zid> I miss compiz fusion
xenos1984 has quit [Quit: Leaving.]
dayimproper has quit [Ping timeout: 252 seconds]
bauen1 has joined #osdev
kof123 has joined #osdev
awita has joined #osdev
Terlisimo has quit [Quit: Connection reset by beer]
Terlisimo has joined #osdev
Burgundy has joined #osdev
Stary has joined #osdev
CompanionCube has joined #osdev
Raito_Bezarius has joined #osdev
osmten has quit [Ping timeout: 245 seconds]
awita has quit [Ping timeout: 268 seconds]
bauen1 has quit [Ping timeout: 240 seconds]
bauen1 has joined #osdev
elastic_dog has quit [Ping timeout: 246 seconds]
awita has joined #osdev
elastic_dog has joined #osdev
dayimproper has joined #osdev
bauen1 has quit [Ping timeout: 240 seconds]
heat has joined #osdev
bauen1 has joined #osdev
<heat> mjg, re: stores before rep movsb, I wonder if that's a caching thing?
<heat> i know rep movsb post-erms has a rather weak memory ordering or something like that
<heat> so I can imagine it needing to do something like sfence on stores to that region before starting to copy
[itchyjunk] has joined #osdev
dayimproper has quit [Ping timeout: 246 seconds]
<heat> erm, not caching, but just memory ordering. you get what i mean
bauen1 has quit [Ping timeout: 240 seconds]
bauen1 has joined #osdev
bauen1 has quit [Ping timeout: 240 seconds]
bauen1 has joined #osdev
rnicholl1 has joined #osdev
rnicholl1 has quit [Client Quit]
rnicholl1 has joined #osdev
<moon-child> hmmm, I was thinking that avx512 masked stores wouldn't have a problem here, but
<moon-child> 1) you could do the masking manually (like you have to do for misaligned memcpy on shitty arches)
<moon-child> 2) rather than branching, what if you covere the first partial cacheline and first full cacheline with overlapping stores, then erms starting from the following cache line?
<moon-child> oh hmmm
<moon-child> heat: assuming that's the case, what if you write the head with movnti?
<moon-child> then maybe movnti and rep movsb go into the same wc cache and there's no problem
<moon-child> alternately, what if you write the head/tail _after_ the main rep movsb?
<heat> i don't know, I haven't tested any of this
<heat> cc mjg
sikkiladho has joined #osdev
slidercrank has quit [Ping timeout: 240 seconds]
Left_Turn has joined #osdev
k0valski18891 has quit [Quit: Peace out !]
heat has quit [Ping timeout: 240 seconds]
heat has joined #osdev
dzwdz has quit [Remote host closed the connection]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 260 seconds]
pmaz has quit [Quit: Konversation terminated!]
awita has quit [Ping timeout: 268 seconds]
lanodan has quit [*.net *.split]
sebonirc has quit [*.net *.split]
DanielNechtan has quit [*.net *.split]
CalculusCats has quit [*.net *.split]
klange has quit [*.net *.split]
meisaka has quit [*.net *.split]
eschaton has quit [*.net *.split]
nikolar has quit [*.net *.split]
V has quit [*.net *.split]
klys has quit [*.net *.split]
nohit has quit [*.net *.split]
mjg has quit [*.net *.split]
linkdd has quit [*.net *.split]
sebonirc_ has joined #osdev
klange_ has joined #osdev
sebonirc_ is now known as sebonirc
nohit_ has joined #osdev
Yukara has joined #osdev
V has joined #osdev
int16h has joined #osdev
CalculusCats has joined #osdev
pounce has quit [Ping timeout: 240 seconds]
eschaton has joined #osdev
klys has joined #osdev
pounce has joined #osdev
mjg has joined #osdev
linkdd has joined #osdev
gog has quit [Quit: Konversation terminated!]
Matt|home has joined #osdev
dude12312414 has joined #osdev
heat_ has joined #osdev
sikkiladho has quit [Quit: Connection closed for inactivity]
heat has quit [Ping timeout: 265 seconds]
gog has joined #osdev
nikolar has joined #osdev
<gog> hi
wlemuel has quit [Ping timeout: 268 seconds]
wlemuel has joined #osdev
bauen1 has quit [Ping timeout: 276 seconds]
bauen1 has joined #osdev
nohit_ is now known as nohit
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<gog> mood
<zid> DOOM
<moon-child> mOdO
<gog> öömd
<gog> mööd
<moon-child> ḑoom
<zid> wait wrong doom
xenos1984 has joined #osdev
dh` has joined #osdev
<ddevault> writing drivers in C, wat
<ddevault> have enough of a C environment for a serial driver :D
<Ermine> good question, wat?
<zid> C environments are old hat, that's just what, zero'd bss and linear memory. Let's go with random memory shuffling next time.
<geist> wat indeed
<geist> actually i dunno what ddevault was actually saying before
<ddevault> my OS is written in my own language
slidercrank has joined #osdev
<ddevault> just now implementing C support
<Ermine> ddevault: are you writing a driver in C as a proof-of-concept?
<ddevault> yeah
<ddevault> will do a real one later
<bslsk05> ​git.sr.ht: ~sircmpwn/hello-mercury-c: main.c - sourcehut git
<Ermine> cool
<geist> oh
<Ermine> Meanwhile I'm lurking through qbe code
<heat_> hell oits me warmth
<Ermine> Is it some rich English I'm too poor for?
<heat_> yes
awita has joined #osdev
<Ermine> I have no more questions
<heat_> you should look through llvm code
<heat_> just make sure not to build it
heat_ is now known as heat
<Ermine> Probably at some moment
<heat> gogle give me supercompater for kernal programming
<heat> thank
<Ermine> Why people are interested in KERNAL development
frkzoid has quit [Ping timeout: 260 seconds]
<sham1> Because Commodore 64 is interesting
<Ermine> So you need C64 supercomputar
bauen1 has quit [Ping timeout: 250 seconds]
<zid> don't mention kernals imo, heat will leave his mucilage everywhere
<bslsk05> ​hackaday.com: Here’s A 100 MHz Pin-Compatible 6502 Replacement | Hackaday
<zid> now you just need some 100MHz SDRAM
<zid> oh it has internal memory
teroshan9 has quit [Quit: The Lounge - https://thelounge.chat]
frkazoid333 has joined #osdev
awita has quit [Ping timeout: 268 seconds]
awita has joined #osdev
<geist> reminds me i'm so excite about commander x16
<geist> should be for sale relatively soonish
dayimproper has joined #osdev
dude12312414 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!]
<heat> damn hes so lucky
<heat> i wish i went to clown college
dayimproper has quit [Ping timeout: 240 seconds]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
slidercrank has quit [Ping timeout: 240 seconds]
bauen1 has joined #osdev
Ellenor is now known as MelMalik
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
wlemuel has quit [Ping timeout: 240 seconds]
bauen1 has quit [Ping timeout: 268 seconds]
bauen1 has joined #osdev
elastic_dog has quit [Read error: Connection reset by peer]
bnchs has joined #osdev
<bnchs> hi devs
<heat> hello devs
<bnchs> i'm not a dev
<zid> That's hyping us up a fair amount I feel
<bnchs> i'm just a person who bangs code together in a dumb way
<heat> hello not a dev
<bnchs> zid: hyping you all up for a huge disappointment! :D
awita has quit [Quit: Leaving]
elastic_dog has joined #osdev
<zid> I keep disabling various bits of windows update but it's still managing to nag me
<bnchs> zid: micro$oft has the advantage over you
<bnchs> they can hardcodde windows update
Turn_Left has quit [Read error: Connection reset by peer]
frkazoid333 has quit [Ping timeout: 240 seconds]
<gog> hi
<gog> bnchs: banging code together in a dumb way is the essence of development
<gog> because eventually you'll think of a less dumb way
<zid> essence of learning, at least
<zid> not necesssarily of actual development.. we wish
<gog> there are more rigorous approaches
<gog> but sometimes you just gotta get things done
<bnchs> gog: thank you gog, can i pm you?
<gog> sure
<moon-child> goddammit
<moon-child> chrome did that thing again where it makes a duplicate window with all thousand of my tabs
<zid> sounds fun
<moon-child> I'm trying to reduce the number of tabs, not increase it :<
<zid> have you considered
<zid> not having more than like, 4 tabs
<zid> what you seem to want is 'bookmarks' :P
<nortti> not really, as bookmarks lose the place you're at
<nortti> which, for a thing called "bookmark", is kinda ironic
nyah has quit [Quit: leaving]
<nortti> (plus also for me personally, a bookmark is out of sight, and therefore might as well not exist. I will most likely get back to the wikipedia list of film and television accidents I have open in a tab even if I forget, but I only really use my bookmarks through tag search to find a specific thing I already know I want)
<zid> why, if it was a *thousand* tabs ago
<zid> The only way you get to a thousand is if you're adding faster than you're removing
<nortti> I've gotten up to 300+ tabs personally, but atm down to 79
<moon-child> zid, commitment is hard
<zid> You're like a hoarder, but for URLs, but instead of putting them in a filing cabinet, you get them tattoo'd
<nortti> closing a tab is possible, quite easy even, once you're done
<zid> top tip, you can be done before you even think you're done
<zid> and reopen it just as easily as you found it
<zid> (it = the tab)
<nortti> most of my tabs are serendipitous finds. if I discarded them (or bookmarked, see above) I'd probably not find them again
<zid> That isn't true in practice either though?
<zid> even after a few tabs, browsers will de-load the actual page and just re-request it if you tab back
<zid> so all the 'tab' is doing is making your tab bar useless
<nortti> hm?
<nortti> I do not see how autodeloading is relevant here? it still exists as a tab-object that it visible if I'm at that part of my tab bar, and remembers my position in the page
<zid> the position on the page thing is a thing yea, but.. isn't how the web works in my experience, either it's a URL and it works as a URL
<nortti> (also, I use firefox which instead of shrinking tabs down to uselessness makes the tab bar scroll)
frkazoid333 has joined #osdev
<zid> or you have a 'position' and that position is fragile as hell
<zid> because everything is web 7.4 now
<nortti> https://scp-wiki.wikidot.com/log-of-anomalous-items-vol-iii for example of a thing I had open
<bslsk05> ​scp-wiki.wikidot.com: Log Of Anomalous Items, Vol III - SCP Foundation
<zid> It's a shame the headers aren't links to themselves
<zid> there's a nav bar but you can't use it because it scrolls off
<bslsk05> ​scp-wiki.wikidot.com: Log Of Anomalous Items, Vol III - SCP Foundation
<zid> but 'Anomalous Items 661 - 670' is not a link to that url
<nortti> also I have a couple books open, like MacKenzie's Coded Character Sets
<zid> so you can't just click it where you are to update your url for bookmarking
<zid> my pdf reader does actually do this automatically which I do find useful
<zid> if I close a pdf, the next time I re-open it it opens at the same position
<nortti> so does mine
<nortti> ah, you meant specifically that
<zid> so I just dump my pdfs out with ctrl-w once i'm done reading the bit I was reading
<zid> then open the pdf file again rather than trying to navigate any tabs
<zid> (exactly how I use a browser)
<nortti> < zid> so you can't just click it where you are to update your url for bookmarking ← there's also how there's no easy way to update a bookmark once you've navigated off of the specific URL in current browser UIs that I know of. you'd have to hunt it down again or add new bookmark and then remember to delete the old
<zid> Sounds like what we need are bookmark extensions, rather than tab extensions that make them act like better bookmarks :P
<nortti> I mean, yeah, if there was a bookmark object that tracks my location within the page and is automatically updated as I navigate, and can be made easily visible in an always-present bar, I think I would use that
<nortti> for the time being, tabs are almost that
<heat> 300 tabs is nuts
<heat> how do you even keep track of life at that point
<zid> It's a symptom heat
<zid> of a disordered mind and life
<heat> do browsers even do manual "swapping" of tabs to disk or are you relying on kernel swapping and not getting OOM'd in the meanwhile?
<zid> they manually unload