Hi, using a TI K2H evm we checked on the arm-dsp roundtrip time of MessageQ messages. It seems to be around 70-100 microsecs, even when using MSMCSRAM shared memory. Since we could not find any official data about it, not even in MessageQ performance tuning guides, we tend to beleive in this datum. The roundtrip interval of 100 usec is way too long for us, as we planned to use this mechanism to synchronize dsp cores with PCIe interrupts handled on ARM every 500 microsecs. Carving pci out of arm-linux offered bleak prospects regardless, and this way more than one dsp cores are to be synchronized... These findings turned us towards using the HW semaphore module. The naive way of inluding csl_semAux.h, then playing in user space failed promptly. Do you think there's any support for this on linux side? We are concerned about latency so that we are trying to use the Semaphore modules HW address directly from our PCIe driver. Here we have trouble requesting arm corepack semaphore interrupt SEM_INT8. Are there any tricks that we might be missing? request_irq(8u, &Sem_IRQHandler, IRQF_SHARED | IRQF_DISABLED, gDevName, gDev) fails with error -22 (invalid argument) Do you think this naive kernel space direct semaphore module handling could work? Unfortunately using simple IPC interrupts won't make it because MessageQ infrastructure seems to be using it and we would like to keep those messages for other purposes. I still wonder what could take for 70-100 usecs if IPC is interrupt based and SRAM latencies don't seem to be that long either. Even the vaguest ideas would be most welcome... These difficulties were not planned in our project so we really have got panic on our hands. Regards, |