--- Log opened Thu Dec 05 00:00:54 2013 | ||
stekern | http://www.clifford.at/yosys/ | 03:51 |
---|---|---|
hansfbaier | stekern: looks interesting | 04:28 |
ysionneau | http://www.edaplayground.com | 10:04 |
ysionneau | can do synthesis with iverilog/yosys and Python (Migen framework) | 10:04 |
stekern | ysionneau: nice | 10:10 |
stekern | I saw the ML post about yosys being able to do lm32, that's cool | 10:10 |
stekern | makes me want to test it on mor1kx as well | 10:10 |
ysionneau | hehe :) | 10:11 |
ysionneau | yosys is still pretty young it had some issues with generate statements and localparams etc | 10:11 |
ysionneau | but it seems promising! | 10:11 |
stekern | sure does | 10:11 |
stekern | the author seemed pretty responsive as well (that's my deduction from the ML post) | 10:12 |
stekern | (to clarify, I'm speaking about the milkymist/m-labs mailing list) | 10:13 |
ysionneau | yes so I bet that if you find issues when synthetizing mork1x, he would fix them right away :) | 10:14 |
ysionneau | does mork1x mmu support address space ids? | 10:15 |
stekern | no, but the or1k architecture does | 10:15 |
stekern | Linux doesn't make use of them though | 10:16 |
ysionneau | so you flush tlb at context switch? | 10:16 |
stekern | yes | 10:16 |
ysionneau | ah? I didn't know Linux had a poor support of asid | 10:16 |
ysionneau | NetBSD uses them | 10:16 |
stekern | I mean't the or1k port of Linux doesn't make use of them | 10:17 |
stekern | that's arch specific stuff | 10:17 |
ysionneau | ah ok so it's a choice of the port maintainer | 10:17 |
stekern | iirc ARM use the ASID stuff that they have in linux | 10:17 |
ysionneau | so what do you do? an ASID for kernel and one for user space? | 10:18 |
ysionneau | or just one asid and total flush | 10:18 |
stekern | I'm not sure, haven't looked very closely at what arm does in that regard | 10:20 |
ysionneau | i'm trying to add asid to lm32 mmu, but I don't have a clear mind about how it's implemented in other archs | 10:21 |
stekern | but aren't the asid just used to map PIDs into them? | 10:22 |
ysionneau | especially what happens uppon exception (does the hardware need to switch the current asid?) and uppon return from exception (eret) (does the hardware need to switch back current asid to what it was before?) | 10:22 |
ysionneau | well PIDs or another algorithm yes | 10:22 |
ysionneau | you ASID are limited by the number of bits you have for them, so you wanna make sure you attribute ASID to the mostly used PIDs | 10:23 |
ysionneau | and to those who do inter process stuff a lot | 10:23 |
ysionneau | and to unassign an ASID from a sleepy PID | 10:23 |
ysionneau | etc | 10:23 |
stekern | hmm, yes... but can you (easily) do tricky stuff like that? | 10:24 |
stekern | I think I will read up a bit on this stuff in the evening, it's interesting | 10:25 |
ysionneau | well you can try, I mean you have to allocate anyway ASID to PIDs even if they don't take so much cpu time ("nice" too high etc, not real time) | 10:26 |
ysionneau | because you want them to run anyway | 10:26 |
ysionneau | but you can at least try to evict from the tlb the ASID associated to the less important PID | 10:26 |
ysionneau | not the one waking up very often, doing a lot of job etc | 10:26 |
ysionneau | and for instance you never want to evict asid 0 which is usually the kernel | 10:27 |
stekern | ok, yes, but isn't that unrelated to the ASID? you want to evict the less important TLB (which probably boils down to the same thing) | 10:28 |
ysionneau | ah yes, you're right, asid and tlbe are unrelated | 10:29 |
ysionneau | you could associate an asid to a PID | 10:29 |
ysionneau | which has no entry at all in the TLB | 10:29 |
ysionneau | but you want to minimize those cases | 10:29 |
ysionneau | you want to allow a maximum of PID to share the TLB | 10:30 |
ysionneau | but in the end, if your tlb is too small, you may end up with the tlb being full with only one ASID | 10:30 |
ysionneau | which defeats the goal of ASIDs :/ | 10:31 |
ysionneau | sorry I think I'm not explaining it very well :) | 10:34 |
stekern | no, I think it's a perfectly fine explanation | 10:35 |
stekern | I understand what you are saying ;) | 10:35 |
ysionneau | :) | 10:36 |
--- Log closed Fri Dec 06 00:00:56 2013 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!