*** tpb <[email protected]> has joined #openrisc | 00:00 | |
*** wxwisias1f <[email protected]> has quit IRC (Quit: Lost terminal) | 00:19 | |
shorne | zx2c4: I put some debugging inside of the openrisc IPI driver, it definitely looks like its losing the IPIs | 08:40 |
---|---|---|
shorne | https://gist.github.com/stffrdhrn/94d92b831c5f38bfc2d60dc13f978f00 | 08:44 |
shorne | I can see at the kernel side, but code looks ok to me | 08:44 |
shorne | checking qemu side | 08:44 |
shorne | I can see the same in qemu too, irq line is raised by IRQ is not firing | 11:27 |
*** wxwisiasdf <[email protected]> has joined #openrisc | 16:53 | |
wxwisiasdf | Hello! | 16:53 |
wxwisiasdf | How can I tell gcc to use mod/div instructions from OpenRISC instead of using libgcc-generated ones? | 16:53 |
*** wxwisiasdf <[email protected]> has quit IRC (Quit: Lost terminal) | 18:51 | |
shorne | gone... but, check out : or1k-elf-gcc --target-help | 19:35 |
*** wxwisiasdf <[email protected]> has joined #openrisc | 20:26 | |
wxwisiasdf | so qemu can't use vector or1k stuff right | 20:26 |
shorne | you make have missed it, check out : or1k-elf-gcc --target-help | 20:30 |
shorne | wxwisiasdf: I don't know of any platforms supporting vector stuff yet, sorry | 20:30 |
wxwisiasdf | ow, okay | 20:31 |
wxwisiasdf | does llvm support or1k? | 20:32 |
wxwisiasdf | the only llvm i see is from 2014 which is, not good since i use c++23 for the kernel and bootloader | 20:33 |
shorne | wxwisiasdf: yes, there is an or1k port, its not upstream though... see here | 20:36 |
wxwisiasdf | shouldn't be hard to merge with current llvm.... right? | 20:36 |
shorne | https://github.com/openrisc/llvm-or1k | 20:37 |
shorne | wxwisiasdf: it might not be too hard, I haven't looked at it much. last I talked to whitequark they said merging to llvm upstream required to provide a lot of ongoing support | 20:38 |
shorne | I think it should not be too hard to update the port | 20:38 |
wxwisiasdf | Okay.. | 20:39 |
shorne | zx2c4: I placed an interrupt patch on my or1k-virt-2 branch in qemu, I dont see RCU stalls in the wireguard tests anylonger | 20:54 |
shorne | but its not running perfectly yet | 20:54 |
wxwisiasdf | oh non, the naked attribute not support on gcc | 21:18 |
shorne | wxwisiasdf: what is that? | 21:22 |
wxwisiasdf | shorne: i use naked functions for writing bootloaders in c | 21:32 |
wxwisiasdf | sorry, not c, c++ | 21:32 |
wxwisiasdf | naked functions means that the function doesn't use the stack, thus no epilogue and prologue, allowing for me to do funky stuff | 21:33 |
wxwisiasdf | i already patched the s390 target to support naked functions (yes i wrote a bootsector in c++), so i guess or1k shouldn't be that hard either | 21:33 |
shorne | wxwisiasdf: ok, I would have thought it's supported out of the box with gcc, if you want to send patches for gcc please cc me | 21:38 |
wxwisiasdf | ?? | 22:14 |
wxwisiasdf | shorne: how do i send patches? | 22:14 |
shorne | zx2c4: oh, test do pass with SMP=4 now | 22:14 |
shorne | wxwisiasdf: git send-email, https://gcc.gnu.org/contribute.html | 22:14 |
tpb | Title: Contributing to GCC - GNU Project (at gcc.gnu.org) | 22:14 |
shorne | zx2c4: [ 734.852000] reboot: Restarting system, very slow though on SMP | 22:15 |
zx2c4 | shorne: awesome! What's not running perfectly? | 22:15 |
zx2c4 | Ahhh speed | 22:15 |
zx2c4 | 734sec wow | 22:15 |
shorne | let me try a few more times, if its stable at least thats a start, we can figure out speed later | 22:15 |
shorne | yeah I was not waiting long enough | 22:16 |
shorne | something is wrong as its much faster on UP | 22:16 |
wxwisiasdf | ah well i don't know since i ran clang-format | 22:17 |
wxwisiasdf | i think they wont mind... right? | 22:17 |
shorne | zx2c4: maybe my 4way tlb patches could be dropped, the extra tlb flush work could hurt performance | 22:17 |
shorne | wxwisiasdf: they would mind, don't reformat code for patches, gcc code is already in the gnu standard format | 22:18 |
shorne | zx2c4: but good step forward I think | 22:18 |
wxwisiasdf | damn | 22:19 |
zx2c4 | shorne: that'd be a bummer | 22:20 |
zx2c4 | I suspect there's something else other than tlb flush though | 22:20 |
zx2c4 | Like some sort of contention | 22:20 |
zx2c4 | Some mutex qemu is taking | 22:21 |
zx2c4 | Just a hunch though | 22:21 |
shorne | zx2c4: yeah, it could be, I added some mutex's to timers its possible its causing slowness | 22:23 |
shorne | ill see if profiling qemu UP vs SMP shows anything | 22:23 |
shorne | got to go to work now... | 22:24 |
zx2c4 | Your latest in your branch? Ill be home in 40 min and will play | 22:24 |
*** wxwisiasdf <[email protected]> has quit IRC (Ping timeout: 240 seconds) | 22:26 | |
*** wxwisiasdf <[email protected]> has joined #openrisc | 22:28 | |
shorne | zx2c4: yeah, just qemu needs updates I think | 22:37 |
shorne | zx2c4: just in case there is one patch for cache flush here: https://github.com/stffrdhrn/linux/commits/or1k-wireguard | 22:38 |
shorne | I put it on top of your work, I am not sure it helps much and if it does I want to clean it up | 22:39 |
shorne | I did another run and it passes | 22:39 |
shorne | [ 499.916000] reboot: Restarting system | 22:39 |
shorne | qemu: https://github.com/stffrdhrn/linux/commits/or1k-virt | 22:40 |
shorne | linux: https://github.com/stffrdhrn/linux/commits/or1k-wireguard | 22:40 |
shorne | (linux stuff probably not needed, I think you have what you need on your jd/openrisc branch) | 22:41 |
zx2c4 | Alright | 22:47 |
zx2c4 | shorne: btw i moved the jd/openrisc branch into the wireguard repo because that's were itll be submitted from eventually https://git.zx2c4.com/wireguard-linux/log/?h=jd/openrisc | 23:30 |
tpb | Title: wireguard-linux - WireGuard for the Linux kernel (at git.zx2c4.com) | 23:30 |
zx2c4 | hey it's not hanging | 23:32 |
zx2c4 | ratelimiter selftests takes 13 seconds though... i guess it keeps having to retry because it's too slow or the timer is inconsistent or something? | 23:32 |
zx2c4 | ahh and the test that creates a big string in bash takes forever | 23:34 |
zx2c4 | hmm... memory write slowness? hm | 23:34 |
zx2c4 | 5.88% qemu-system-or1k [.] tlb_flush_page_by_mmuidx_async_0 | 23:34 |
zx2c4 | 13.62% qemu-system-or1k [.] helper_lookup_tb_ptr | 23:34 |
zx2c4 | yea this one test takes the majority of the time | 23:38 |
wxwisiasdf | well there we go, this is my first patch to gcc but ey, i hope it good | 23:57 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!