marcan changed the topic of #asahi to: Asahi Linux: porting Linux to Apple Silicon macs | General project discussion | GitHub: https://alx.sh/g | Wiki: https://alx.sh/w | Topics: #asahi-dev #asahi-re #asahi-gpu #asahi-offtopic | Keep things on topic | Logs: https://alx.sh/l/asahi
crabbedhaloablut has quit [Ping timeout: 265 seconds]
crabbedhaloablut has joined #asahi
hothotleg[m] has quit [Ping timeout: 240 seconds]
Tokamak has joined #asahi
foxlet has quit [Ping timeout: 244 seconds]
hothotleg[m] has joined #asahi
AONeiLL[m] has quit [Ping timeout: 240 seconds]
Alice[m] has quit [Ping timeout: 240 seconds]
Bennett[m] has quit [Ping timeout: 244 seconds]
TellowKrinkle[m] has quit [Ping timeout: 244 seconds]
daniel[m]2 has quit [Ping timeout: 244 seconds]
peterkovar[m] has quit [Ping timeout: 258 seconds]
Bastian[m] has quit [Ping timeout: 258 seconds]
irradiated_lemmi has quit [Ping timeout: 244 seconds]
AONeiLL[m] has joined #asahi
TellowKrinkle[m] has joined #asahi
irradiated_lemmi has joined #asahi
daniel[m]2 has joined #asahi
Bennett[m] has joined #asahi
peterkovar[m] has joined #asahi
foxlet has joined #asahi
Bastian[m] has joined #asahi
Alice[m] has joined #asahi
aquijoule__ has joined #asahi
aquijoule_ has quit [Ping timeout: 264 seconds]
vimal has quit [Ping timeout: 240 seconds]
vimal has joined #asahi
leah2 has quit [Ping timeout: 260 seconds]
leah2 has joined #asahi
anarsoul has joined #asahi
anarsoul has quit [Quit: ZNC 1.7.5 - https://znc.in]
mbrennwa[m] has quit [*.net *.split]
josiahmendes[m] has quit [*.net *.split]
dpatterbee[m] has quit [*.net *.split]
anarsoul has joined #asahi
mbrennwa[m] has joined #asahi
dpatterbee[m] has joined #asahi
josiahmendes[m] has joined #asahi
delroth has quit [Ping timeout: 264 seconds]
manawyrm has quit [Ping timeout: 272 seconds]
Swant has quit [Ping timeout: 606 seconds]
Swant has joined #asahi
manawyrm has joined #asahi
delroth has joined #asahi
nicolas17 has quit [Quit: Konversation terminated!]
phiologe has joined #asahi
PhilippvK has quit [Ping timeout: 260 seconds]
jobbe has quit [Ping timeout: 246 seconds]
aodaki[m] has joined #asahi
balrog has quit [Ping timeout: 264 seconds]
jobbe has joined #asahi
marvin24_ has joined #asahi
marvin24 has quit [Ping timeout: 260 seconds]
balrog has joined #asahi
aodaki[m] is now known as AkihikoOdaki[m]
suskun has joined #asahi
odmir has quit [Remote host closed the connection]
Jasper[m] has quit [Ping timeout: 240 seconds]
Jasper[m] has joined #asahi
_whitelogger has joined #asahi
suskun has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
suskun has joined #asahi
Emantor has quit [Remote host closed the connection]
Emantor has joined #asahi
Tokamak has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
VinDuv has joined #asahi
jeff_miw has joined #asahi
Emantor has quit [Remote host closed the connection]
thresh has quit [Ping timeout: 265 seconds]
thresh has joined #asahi
Tokamak has joined #asahi
Emantor has joined #asahi
jeff_miw has quit [Quit: Connection closed]
kubes has quit [Quit: Leaving]
suskun has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
VinDuv has quit [Quit: Leaving.]
Yuzu has quit [Ping timeout: 272 seconds]
Yuzu has joined #asahi
korzq4 has joined #asahi
korzq4 has joined #asahi
korzq4 has quit [Changing host]
korzq has quit [Ping timeout: 240 seconds]
korzq4 is now known as korzq
raster has joined #asahi
enverb[m] has quit [Quit: Idle for 30+ days]
affieuk[m] has quit [Quit: Idle for 30+ days]
flokk[m] has quit [Quit: Idle for 30+ days]
Tokamak has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jordan_ has quit [Quit: WeeChat 3.0]
jordan has joined #asahi
jordan is now known as Guest63876
ephe_meral has joined #asahi
odmir has joined #asahi
odmir has quit [Ping timeout: 245 seconds]
macc24 has quit [Ping timeout: 272 seconds]
macc24 has joined #asahi
amw has quit [Ping timeout: 240 seconds]
Guest63876 has quit [Quit: WeeChat 3.0]
jordan has joined #asahi
jordan is now known as Guest20635
jaalsa has joined #asahi
ephe_meral has quit [Ping timeout: 260 seconds]
suskun has joined #asahi
brandas_ has joined #asahi
brandas has quit [Read error: Connection reset by peer]
glytchbinary has joined #asahi
klaus has joined #asahi
vimal has quit [Quit: Leaving]
<klaus> on the task list here: https://github.com/AsahiLinux/docs/wiki/Tasks , at what point is this project currently working on ? is it storage driver & filesystem ?
suskun has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
dlnx_`` is now known as dlnx``
vimal has joined #asahi
<marcan> klaus: I'm working on getting the basic stuff checked there upstreamed first
<marcan> maz: current status: back at agonizing over memory ordering
<marcan> I now have a theory that the atomic_lse.h implementation on arm64 is incorrect vs the atomics documentation
<marcan> please prove me wrong :D
<marcan> atomic_t.txt says "RMW operations that have a return value are fully ordered"
<marcan> those ops are implemented using e.g. ldsetal
<marcan> however, the *al instructions are defined as having load-acquire semantics for the load, and store-release semantics for the store, AFAICT
<marcan> that is weaker, isn't it?
<marcan> nothing stops the store-release operation from moving after subsequent operations, and vice versa for the load
<marcan> which means those are not fully ordered as atomic_t.txt says
<marcan> I tried writing a litmus test for this, but I think RMEM doesn't support the LSE atomic memory ops...
<maz> marcan: I'd be surprised, given that atomic.txt, the LSE atomics and the ARMv8 memory model have the same author...
<maz> marcan: but hey, bugs everywhere at the moment! :D
<maz> marcan: I'm pretty sure herd7 does support LSE atomics.
<marcan> ah yeah, that one does work
<marcan> and herd7 says I'm right :-)
<marcan> maz: try this: https://mrcn.st/p/m1ZaX7Lm
<marcan> tests positive; adding a dmb ish between the ldsetal and the ldr makes it negative
<marcan> the docs say
<marcan> Fully ordered primitives are ordered against everything prior and everything
<marcan> subsequent. Therefore a fully ordered primitive is like having an smp_mb()
<marcan> before and an smp_mb() after the primitive.
<marcan> so this is clearly inconsistent: adding an smp_mb() is stronger
<klaus> @marcan thanks for telling
ifthenelse has quit [Quit: Ping timeout (120 seconds)]
ifthenelse has joined #asahi
<marcan> maz: fire of an email to the list and CC Will I guess?
flokk[m] has joined #asahi
<luca020400> is this after deacon changed the default barriers for io reads or unrelated?
<marcan> this has nothing to do with io reads, it's purely an atomics thing
<luca020400> ah ok
<luca020400> missed this part, was thinking about memory model ops
<marcan> basically I convinced myself that the IO op ordering stuff was fine, only to now fall into another pit of ordering stuff related to atomics
<marcan> :)
ephe_meral has joined #asahi
<luca020400> well have fun.
<luca020400> :)
Guest20635 has quit [Quit: WeeChat 3.0]
tomtastic has quit [Quit: ZNC - https://znc.in]
tomtastic has joined #asahi
suskun has joined #asahi
suskun has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
<klaus> is there a way to follow on acceptation of this project's submitted elements to upstream ?
<j`ey> klaus: easiest way is to check Linus' tree, or you can try check the linux-arm-kernel mailing list
<klaus> is there a way to follow on acceptation of this project's submitted elements to upstream ?
<klaus> what would be a convenient page to check on linux tree ?
<klaus> for example, that would be a valid place : https://github.com/torvalds/linux/pulls ?
<j`ey> there isn't such a place
<klaus> how do one check out evolution of things happenings around linux kernel tree then ?
<j`ey> by following the mailing lists
<maz> marcan: yup, interesting litmus test.
<jn__> fetching the linux-next tree can also be useful
<j`ey> but I guess there's sites like phoronix that do high level overviews too
<dhewg> git fetch && git log --grep apple --grep marcan origin/master ?
<klaus> phoronix won't report often on asahi linux, probably at milestones but that would be like following evolution from afar, i'd like to get much more fresh news, often
<j`ey> follow marcan on twitter :P
<klaus> i don't use any social networks :)
<dhewg> check the mailing lists then
<klaus> even using them gives me allergies
<jn__> i also suggest following the branches at https://github.com/AsahiLinux/linux
<klaus> jn__ that last link, yes of course i look at it often, but i was talking about inclusion into upstream
<dhewg> that even lets you poll via atom feed
<klaus> dhewg that looks more like it, many thanks for the link :)
<dhewg> np :)
<jn__> klaus: ah right, sorry
<klaus> no problem, thanks for the help anyway
<marcan> klaus: fwiw nothing is merged yet, but the first series should go into 5.13 if things don't drag on too much.
<j`ey> I think some of the prelim FIQ stuff might go in 5.12?
<marcan> If only I didn't keep running into "this can't possibly be a bug, can it" bugs :-)
<marcan> j`ey: I think some cleanup, but not any patches by me
<marcan> but yes, it qualifies as some stuff indirectly prompted by the M1 series
<klaus> marcan yes that what you were saying on your patreon post i think, that is why i was interested in checking how weel or fast inclusion process was progressing
<klaus> *well
<j`ey> indirectly prompted, directly helpful :P
<marcan> well yes :)
<marcan> I'm going to start writing that progress update post for jan/feb too, that's long overdue
<marcan> I wonder what level of technical detail I should go into...
<klaus> general overview, not that much technical i'd say. more technical details could be given to contributors that are actively participating, committing or working with code.. basically devs that'd need more details. once in a while do one of those workflow video for the rest. that way you could focus more on coding, less about explaining ..
korzq has quit [Quit: Ping timeout (120 seconds)]
korzq has joined #asahi
korzq has quit [Changing host]
korzq has joined #asahi
ephe_meral has quit [Ping timeout: 264 seconds]
bisko has joined #asahi
ephe_meral has joined #asahi
<dottedmag> marcan: It's cans of worms all the way down.
<dottedmag> re: "can't possibly be a bug"
<maz> j`ey: no much will go in 5.12, only small cleanups. the core FIQ stuff definitely is 5.13 material.
<j`ey> oh ok, guess I misunderstood
odmir has joined #asahi
<maz> j`ey: I'm planning to take the first two patches of that series for -rc2 (because they are obvious fixes), but the rest needs to simmer in -next for a bit.
<maz> (and it gives me more time to sort out the KVM changes!)
<marcan> maz: so my current plan is I'll send v3 tomorrow, using explicit barriers in the IPI code based on my current understanding of the architecture and that apparent atomic bug, and let's see how that goes
<maz> marcan: SGTM!
<marcan> good thing I can tell myself this was all worth it to have a better understanding of the memory model for everything that's to come :-)
<maz> marcan: definitely. it is a maddening part of the architecture... someone even said that it is an adversarial architecture, and I can't really say otherwise.
<marcan> ha :D
<marcan> I swear though, the ARM ARM... I can't help but think surely there *must* be a better way of describing all this
<maz> marcan: the architecture is shifting to a "rule system" to describe all that, but I'm not sure it is any better.
<marcan> like for my latest question I'm pondering about atomics ordering vs MMIO... I'm basically jumping around 8 places in the doc and trying to piece together a coherent story, involving things like "oh, the word 'coherent' here probably means this only applies to the shareability domain it is mapped as... and then I guess there are no guarantees against other domains"
<marcan> but I'm nowhere near certain I'm interpreting things right
<marcan> things get very sticky once you involve shareability domains and device memory; AIUI the litmus tests don't cover any of that and just assume IS
<marcan> but yeah, I think this in combination with the atomics issue means it's probably time to stop here, throw a few barriers in (reasonable ones, still weaker and better thought out than I was using before) and if someone wants to suggest a better way of doing it and prove it with docs-lawyering they can do so :)
<maz> yup. now imagine trying to get both HW and SW people to agree on the meaning of these things, with different interpretations of the English text. Fun. Not.
BaughnLogBot has quit [Ping timeout: 245 seconds]
<marcan> figures :)
<marcan> I will say Will's talks on this subject are great
<maz> he's great fun to watch.
BaughnLogBot has joined #asahi
delroth has quit [*.net *.split]
br377 has quit [*.net *.split]
inglor has quit [*.net *.split]
KindOne has quit [*.net *.split]
baryluk has quit [*.net *.split]
bdju has quit [*.net *.split]
m42uko has quit [*.net *.split]
opticron has quit [*.net *.split]
xarkes has quit [*.net *.split]
nspaced has quit [*.net *.split]
Jangal has quit [*.net *.split]
jaXvi has quit [*.net *.split]
Tokamak has joined #asahi
delroth has joined #asahi
bdju has joined #asahi
br377 has joined #asahi
baryluk has joined #asahi
xarkes has joined #asahi
opticron has joined #asahi
m42uko has joined #asahi
nspaced has joined #asahi
jaXvi has joined #asahi
inglor has joined #asahi
Jangal has joined #asahi
KindOne has joined #asahi
VinDuv has joined #asahi
hthh has quit [Remote host closed the connection]
ephe_meral has quit [Ping timeout: 256 seconds]
choozy has joined #asahi
dibas has quit [Read error: Connection reset by peer]
dibas has joined #asahi
dibas has joined #asahi
dibas has quit [Changing host]
Bublik has joined #asahi
<marcan> maz: ok, so I have two options, pick your poison.
<marcan> 1) atomic_fetch_or_release(); atomic_read_acquire();
<marcan> that one relies on guarantees that ARM makes beyond Linux atomic ops (there is ordering between release-acquire pairs in the ARM ARM)
<marcan> 2) just atomic_or(); smp_mb__after_atomic(); atomic_read();
<marcan> that one is obviously arch-independent
<marcan> note that atomic_fetch_or_acquire() does not cut it, as I need to order the *write* side of that, and _acquire applies to the *read* side.
<maz> I'm vaguely partial to (1), but that's only me. I bet that performance wise, they are strictly equivalent.
<marcan> I was leaning towards (1) too
<marcan> atomic_fetch_or(); atomic_read() is what would've worked if I hadn't run into that issue :)
odmir_ has joined #asahi
odmir has quit [Ping timeout: 245 seconds]
klaus has quit [Quit: Textual IRC Client: www.textualapp.com]
aquijoule__ has quit [Ping timeout: 256 seconds]
richbridger has joined #asahi
raster has quit [Quit: Gettin' stinky!]
nicolas17 has joined #asahi
Raqbit has quit [Quit: Ping timeout (120 seconds)]
Raqbit has joined #asahi
CDFH has quit [Ping timeout: 276 seconds]
CDFH_ has joined #asahi
Calchan has joined #asahi
bgianf has quit [*.net *.split]
Thomas__ has quit [*.net *.split]
segher has quit [*.net *.split]
Mary_ has quit [*.net *.split]
theracermaster has quit [*.net *.split]
minicom has quit [*.net *.split]
massoud has quit [*.net *.split]
dgb has quit [*.net *.split]
j`ey has quit [*.net *.split]
HotSwap has quit [*.net *.split]
xMopx has quit [*.net *.split]
maximus64 has quit [*.net *.split]
MoxZ_ has quit [*.net *.split]
kakobrekla has quit [*.net *.split]
segher has joined #asahi
xMopx has joined #asahi
MoxZ_ has joined #asahi
massoud has joined #asahi
maximus64 has joined #asahi
theracermaster has joined #asahi
Mary_ has joined #asahi
HotSwap has joined #asahi
dgb has joined #asahi
bgianf has joined #asahi
kakobrekla has joined #asahi
j`ey has joined #asahi
Thomas__ has joined #asahi
Tokamak has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<kettenis> what? the M1 only supports 8-bit ASIDs?
Tokamak has joined #asahi
VinDuv has quit [Quit: Leaving.]
choozy has quit [Remote host closed the connection]
<kettenis> certainly explains why I was seeing crashes with OpenBSD as our kernel assumed 16-bit ASIDs were available
modmuss50 has left #asahi [#asahi]
jn__ has quit [Remote host closed the connection]
jn__ has joined #asahi