--- Log opened Sun Nov 02 00:00:05 2014 | ||
stekern | on the multicore I mean | 00:00 |
---|---|---|
poke53281 | #> cat /sys/devices/system/cpu/online | 00:00 |
poke53281 | 0-1 | 00:00 |
poke53281 | :) | 00:00 |
poke53281 | Unfortunately it behaves more like Hyperthreading without speed benefit. | 00:01 |
poke53281 | No shared memory in Javascript. | 00:01 |
stekern | poke53281: did you see this btw: http://1drv.ms/ZDcTDF | 00:01 |
poke53281 | Nope | 00:02 |
poke53281 | Great | 00:02 |
poke53281 | Which emulator? | 00:02 |
stekern | and: http://1drv.ms/1pfwBSn | 00:02 |
stekern | vice | 00:02 |
stekern | it's not really playable though | 00:03 |
stekern | = slow | 00:03 |
poke53281 | Yes, this is what I am thinking. Vice is terrible accurate with the emulation. | 00:03 |
stekern | might be possible to tune the options to get it faster, turning off the very accurate sid emulation did a lot for that at least | 00:03 |
poke53281 | To emulate a C64 cycle accurate is a lot of work and very slow. | 00:03 |
poke53281 | do the same with the VIC if possible. | 00:04 |
poke53281 | There is still a C64 testsuite which fails on VICE. At least five years ago. | 00:05 |
poke53281 | Finally, the big question. How do I show, that I have two cores. | 00:11 |
poke53281 | I need htop first | 00:11 |
poke53281 | Hmm, the cache bits in the UPR register are set to zero. | 00:19 |
stekern | cat /proc/cpuinfo will show both | 00:20 |
stekern | and pressing 1 in top will show all cpus | 00:20 |
poke53281 | Thanks, didn't know this feature | 00:23 |
poke53281 | dcache size is still set to 16 bytes. | 00:25 |
poke53281 | So, let's see if he manages 4 cores. | 00:31 |
poke53281 | cat /proc/cpuinfo shows also offline cpus. | 00:32 |
poke53281 | so this is not enough. | 00:33 |
poke53281 | you have to look at cat /sys/devices/system/cpu/online | 00:33 |
poke53281 | http://jor1k.com/smp.png | 01:05 |
poke53281 | :))))))))))) | 01:06 |
poke53281 | The hexadeca cpu I have seen. | 01:09 |
poke53281 | The first hexadeca cpu I have seen. | 01:09 |
poke53281 | time for a very late lunch | 01:13 |
stekern | poke53281: cool! ;) | 08:45 |
juliusb | poke53281: impressive! | 12:39 |
-!- Netsplit *.net <-> *.split quits: poke53281 | 17:16 | |
-!- Netsplit over, joins: poke53281 | 17:20 | |
poke53281 | *Awesome*, even the doze mode works with 16 cores. Thanks to dynticks I think. | 18:04 |
poke53281 | Just 160kIPS when all cores are Idle. | 18:05 |
stekern | reminds me that I should look into implementing the PM stuff | 19:18 |
stekern | forgot to add that to my TODO list in the slides ;) | 19:18 |
stekern | still struggling with the atomic emulation. current get screwed up somewhere when I try to emulate atomics within the kernel | 19:19 |
poke53281 | Everyone should save energy nowadays. Especially when he is running 16 cores :) | 19:42 |
poke53281 | I have really problems in running a stable system. With 16 cores I have a success rate of < 10% to see the shell. | 19:44 |
poke53281 | What is the maximum allowed doze time for one core on smp machines? I thought it is limited to 1 second. | 19:45 |
poke53281 | but at the moment some cores are idling up to 13 seconds. | 19:46 |
poke53281 | which is the limit of the timer of course. | 19:46 |
poke53281 | Hmm, I wonder if the min_delta of the timer is sufficient with my cpu shaping technique. | 19:53 |
poke53281 | stekern: Do you have problems with stability with 4 cores? | 20:00 |
poke53281 | and I get often ompic errors | 20:07 |
stekern | I've seen those, but then I've had timing violations | 20:35 |
stekern | running at 50 MHz, it's really stable | 20:35 |
stekern | but that doesn't mean that you're not hitting some bug | 20:35 |
stekern | I think idle up to the max res of the timer is expected | 20:36 |
poke53281 | After I see the bash it is very stable. | 20:36 |
stekern | but you got the rcu stalls, thinking a bit more, I'm not sure if those are actually caused by the ompic locking up or the other way around | 20:38 |
poke53281 | Is it Ok if ompic tries to wake up the cpu that is doing the request? | 20:56 |
stekern | well, that shouldn't happen | 21:01 |
poke53281 | But it happens. Very often. | 21:01 |
poke53281 | Can you check this? | 21:02 |
stekern | it's ok if the requester is not in the locked section | 21:02 |
stekern | the opposite is what shouldn't be able to happen | 21:02 |
stekern | iow, it's ok to have several IPIs in flight at the same time | 21:04 |
poke53281 | False alarm. I mixed this with the IRQ acknowledge | 21:04 |
poke53281 | With more and more cores I increase the chance of being stalled during the boot process. | 21:06 |
poke53281 | And I don't have a clue why | 21:07 |
poke53281 | are the lwa and swa instructions somehow connected between the cores? | 21:12 |
poke53281 | I mean the saved address | 21:16 |
poke53281 | and is the snoop hit important here? | 21:16 |
stekern | snoops are only important if you have dcache | 21:21 |
stekern | which you don't | 21:21 |
stekern | sorry, wrong | 21:21 |
stekern | you of course have to use the snoops to break the atomic link | 21:22 |
stekern | in case of a store to the linked address | 21:22 |
poke53281 | is there one linked address for each core? Or one for the whole cpu? | 21:26 |
poke53281 | well, this shouldn't matter in my implementation. Only if you jump between an lwa and swa it could switch the core. | 21:27 |
poke53281 | Sorry if this is really a stupid question. I think I know the answer. But I want to be very sure here. | 21:32 |
stekern | one per core | 21:32 |
poke53281 | even 8 cores are very stable. | 21:57 |
poke53281 | 10 is already too much | 21:59 |
poke53281 | Ok, let's push the patches. | 22:04 |
poke53281 | now I need a nice framebuffer demo :) | 22:21 |
poke53281 | maybe a nice old school plasma demo. | 22:23 |
poke53281 | but probably just an fractal. | 22:24 |
stekern | here's the fading starfield demo if you want to give that a go: http://oompa.chokladfabriken.org/openrisc/fade-starfield-linux/ | 22:27 |
stekern | I still have one old demo effect I originally wrote in the 90's that I haven't tried running on openrisc, water | 22:32 |
stekern | I already ported it to SDL sometimes during the 00's | 22:33 |
stekern | http://oompa.chokladfabriken.org/openrisc/water/ | 22:36 |
poke53281 | Let's see | 23:19 |
poke53281 | thanks for the code. | 23:20 |
poke53281 | first htop :) | 23:22 |
poke53281 | Hmm, I can try to publish on Hacker news after everything works. Any ideas? for title, website updates? | 23:28 |
poke53281 | "Online Emulator runs multicore OpenRISC machine" | 23:36 |
poke53281 | htop runs | 23:36 |
poke53281 | Ok, it is still unstable after a while. Also with 4 cores. | 23:57 |
--- Log closed Mon Nov 03 00:00:06 2014 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!