Hi Jens, Thanks for doing those fixes! On 3/14/23 18:16, Jens Axboe wrote:
One issue that became apparent when running io_uring code on parisc is that for data shared between the application and the kernel, we must ensure that it's placed correctly to avoid aliasing issues that render it useless. The first patch in this series is from Helge, and ensures that the SQ/CQ rings are mapped appropriately. This makes io_uring actually work there. Patches 2..4 are prep patches for patch 5, which adds a variant of ring mapped provided buffers that have the kernel allocate the memory for them and the application mmap() it. This brings these mapped buffers in line with how the SQ/CQ rings are managed too. I'm not fully sure if this ONLY impacts archs that set SHM_COLOUR, of which there is only parisc, or if SHMLBA setting archs (of which there are others) are impact to any degree as well...
It would be interesting to find out. I'd assume that other arches, e.g. sparc, might have similiar issues. Have you tested your patches on other arches as well? Helge