IRC logs for #openrisc Tuesday, 2017-07-11

--- Log opened Tue Jul 11 00:00:09 2017
stekernshorne: AFAIR that needs to be enabled for multicore, but I need to take a look to refresh my memory02:19
promachstekern: would your ILA be able to do something like Figure 1 of ?02:33
stekernyes, by modifying the "post trigger count"02:49
promachstekern: but in the README02:53
promachSet trigger and start logging02:53
promachFigure 1 is looking 'back' into the *past*02:54
promachstekern: how does modifying the "post trigger count" will emulate Figure 1 ?02:57
shornestekern: thanks, thats what I see too.  I just couldn't find any orpsoc-cores examples where you have it enabled, so I thought a bit strange03:16
shorneIll another look03:16
shornestekern: interesting, I found OPTION_DCACHE_SNOOP enabled in only  one project, optimsoc03:35
shorneInterestingly they also have FEATURE_DATACACHE set to NONE03:36
shornewallento: Do you remember why the datacache is disabled in optimsoc?03:36
shorne(the commit log says, temporarily)03:36
-!- psychotr1pe is now known as psychotrope04:03
stekernpromach, by setting it to 004:18
promachIn the README: Set trigger and start logging04:18
promachhow is that possible to look back into past ?04:19
stekern"After that, data is logged into a circular buffer, until the trigger04:19
stekerncondition is met. At this point, logging will continue for the amount04:19
stekernof samples that have been configured in address 0x0001."04:19
promachwait, writing into different addresses have different meaning ?04:20
stekernaddress 0x1 == "post trigger count"04:20
stekernif you set it to 0, the logging stops at the trigger04:20
promachstekern: ok04:20
promachone more question: does your circular buffer allows address space wrapping around ?04:21
promachor you only fill in the circular buffer until it is full ?04:21
promachthen stop04:22
promachand then, you will read data out of the buffer ?04:22
promachlet me rephrase my question: does dilla write and read the circular buffer simultaneously ?04:23
stekernshorne: I changed the logic to be disabled by default here:
stekernshorne: so, the reason you're not seeing it in my multicore repos is that it was enabled by default then04:26
stekernpromach: the definition of a circular buffer is that you wrap around04:27
promachstekern: do you stop writing into circular buffer *before* you could read the data out of the circular buffer ?04:32
promachdoes your circular buffer have read pointer ?04:33
stekernit stops writing when a trigger condition is met. you can read data out of it while it is still running though.04:35
promachso, you do have a read pointer in your implementation of circular buffer04:37
promachwhat about buffer overflow ?04:37
stekernyes, it has a read address. when a trigger condition is met, the read address is offset by the memory position that was written to when the trigger occurred04:41 well as the post trigger count04:42
stekernso you will get the oldest data at read address 004:42
promachstekern: buffer overflow is possible if writing rate > reading rate04:53
stekernwell, it's not really designed to be used like that04:53
promachnot to be used like that ? huh ?04:57
stekernwriting rate will always be > reading rate04:57
stekernyeah, it is not designed to be read before the trigger has occured04:57
stekernit's possible to do that, but it's not a very useful thing to do04:58
promachwait, I have the message that your circular buffer implementation *will never* have buffer overflow issue, right ?05:00
stekerndo you know how a circular buffer works?05:01
promachbuffer with read and write pointer and address space could wrap around05:01
promachI am concerned about buffer overflow in the case of  writing rate > reading rate05:02
stekernI'm telling you that you should read after the trigger has happened, when writing has stopped05:03
stekernthe "read pointer" is updated when that happen05:04
stekernif you read before, the read pointer is 0, and you read out the memory from that offset05:05
wallentoshorne: yes it is temporarily09:59
wallentowe had issues with aliasing and then some other bugs09:59
wallentoand wanted to rule out thats the issue09:59
wallentobut we can re-activate it now10:00
shornewallento: thanks, if you re-enable it let me know how you get along. I tried to enable it and was getting crashes.  Ill start looking into it17:06
wallentooh, good datapoint17:06
wallentois there any indication what goes wrong?17:07
shornefyi, I disabled datacache and now my issue goes away (I was seeing aliasing too)17:19
shorne[    1.200000] Synchronize counters for CPU 1: done.17:19
shorne[    1.330000] smp: Brought up 1 node, 2 CPUs17:19
shorneBut I was seeing aliasing because I had dcache_snoop off17:20
shornewhen enabling dcache_snoop (and of cource datacache) as well I got failures17:20
shornewallento: however, I did not get any indicators, I just saw the kernel was not booting to give any serial17:21
shornewhen I checked the PC / stack via gdb I just saw it running around in 0x200 and 0x800 (if I remember correctly) exceptions17:22
shorne0x200 is bus error17:22
shorneso maybe some issue with the snoop refil/invalidate17:23
wallentooh, I see17:23
wallentolets hope not17:23
shorneyes, it looked very complicated17:23
shorneDisabled for now, and got my smp patches booting on the fpga17:24
shornewhich is first (previously it was on qemu)17:24
shornebut.. now I am getting some serial issue17:24
shorne# ls17:25
shorneb       k  1;34mlib     e  32mstrac17:25
shorne       minit        oot [1;34msy[1;34met      ftests34mproc    0m     4musr17:25
shorne(that is the output of ls command)17:25
shornelooks like something wrong with my serial timer setup17:25
shorneI am going through jtag serial17:25
shornestekern: the timer sync stuff seems to work well so far (which would mean no need for the separate global timer), however a global clocksource would be a nice thing to have17:28
shorneI am just trying to minimize the patch set17:29
-!- simpsota_ is now known as simpsota18:19
--- Log closed Wed Jul 12 00:00:10 2017

Generated by 2.15.2 by Marius Gedminas - find it at!