Messages in this thread | | | Subject | Re: [PATCH] uio: add UIO_MEM_CUSTOM support | From | Xiubo Li <> | Date | Thu, 16 Feb 2017 13:33:13 +0800 |
| |
>> For example, the TCMU will use the map area as ISCSI commands & data ring >> buffer(uio0 --> map0). Currently the TCMU will using the fixed small >> size map >> area as the ring buffer, but this will be the bottleneck for high iops. >> >> Without knowing how large it is enough, so the new scheme will use the >> fixed >> small ring buffer area(about 64M ~ 128M) + dynamically "growing" ring >> buffer >> area(about 1.5G). > The following code is in uio_mmap() in uio.c: > > if (idev->info->mmap) { > ret = idev->info->mmap(idev->info, vma); > return ret;
Yes, just missed this return. > } > > switch (idev->info->mem[mi].memtype) { > case UIO_MEM_PHYS: > return uio_mmap_physical(vma); > case UIO_MEM_LOGICAL: > case UIO_MEM_VIRTUAL: > return uio_mmap_logical(vma); > default: > return -EINVAL; > } > > We already have the equivalent of a CUSTOM memtype because TCMU sets the > info->mmap fn, overriding uio's default handling choices in favor of its > own. > > HTH -- Regards -- Andy >
| |