Epiphany III interrupt to ARM host
Posted: Mon May 01, 2017 4:06 pm
Does the hardware and/or driver support generating an interrupt to the ARM?
I have currently written code that shares data and makes requests of the ARM from the Epiphany via shared external memory. Currently, I poll shared memory via a mutex that I share between the ARM and Epiphany III. This works well, but necessarily generates quite a bit of mesh traffic. I can throttle the polling, but that impacts performance. Does the hardware and/or driver support an interface that would allow the Epiphany to generate an interrupt or signal to the ARM? Even a single interrupt that I could share with a type field in memory would reduce the mesh traffic.
I understand that I could spin up an ARM thread to poll a single shared memory location, but that really doesn't alleviate the mesh traffic--it just localizes it. Interrupt generation amongst/between the Epiphany cores works well. My experience suggests that I could generate an interrupt from the ARM to the Epiphany. Generation of an interrupt from the Epiphany to the ARM would allow me to treat the ARM and Epiphany III cores as peers, albeit heterogeneous ones.
I have currently written code that shares data and makes requests of the ARM from the Epiphany via shared external memory. Currently, I poll shared memory via a mutex that I share between the ARM and Epiphany III. This works well, but necessarily generates quite a bit of mesh traffic. I can throttle the polling, but that impacts performance. Does the hardware and/or driver support an interface that would allow the Epiphany to generate an interrupt or signal to the ARM? Even a single interrupt that I could share with a type field in memory would reduce the mesh traffic.
I understand that I could spin up an ARM thread to poll a single shared memory location, but that really doesn't alleviate the mesh traffic--it just localizes it. Interrupt generation amongst/between the Epiphany cores works well. My experience suggests that I could generate an interrupt from the ARM to the Epiphany. Generation of an interrupt from the Epiphany to the ARM would allow me to treat the ARM and Epiphany III cores as peers, albeit heterogeneous ones.