LINUXKERNEL is set correctly (otherwise the module would not load at all because of module_layout symbol version disagreement). I modified Gate.c for 3.x kernels by replacing CONFIG_PREEMPT_RT with CONFIG_PREEMPT_RT_FULL and made sure that relevant code section is included during compilation. It didn't make any difference, kernel still hangs when a SysLink example is executed.
I did some debugging and found and kernel hangs after Notify_sendEvent() is called from DSP side. It looks like after this kernel processes interrupt 28 over and over, I don't see bit 28 cleared in SRSR1. Let me know if there is anything more I can check in debugger. I think the problem may be related to this one: http://e2e.ti.com/support/embedded/linux/f/354/t/263573.aspx
What kernel version was used for testing implementation of enchancement SDOCM00090447: Add support for PREEMPT_RT kernel that is mentioned in SysLink 2.20.01.18 ChangeLog?