Message ID | 20230118225447.2809787-1-bvanassche@acm.org (mailing list archive) |
---|---|
Headers | show |
Series | Add support for segments smaller than one page | expand |
On 1/18/23 3:54?PM, Bart Van Assche wrote: > Hi Jens, > > Several embedded storage controllers need support for DMA segments that are > smaller than the size of one virtual memory page. Hence this patch series. > Please consider this patch series for the next merge window. Before any real reviews are done, I have to ask "why?". This is pretty hairy code in the middle of the fast path for some obscure controller. Why would anyone ship that with > 4k page sizes rather than ship it with a controller that is sane?
On 1/18/23 17:18, Jens Axboe wrote: > On 1/18/23 3:54?PM, Bart Van Assche wrote: >> Hi Jens, >> >> Several embedded storage controllers need support for DMA segments that are >> smaller than the size of one virtual memory page. Hence this patch series. >> Please consider this patch series for the next merge window. > > Before any real reviews are done, I have to ask "why?". This is pretty > hairy code in the middle of the fast path for some obscure controller. > Why would anyone ship that with > 4k page sizes rather than ship it with > a controller that is sane? Hi Jens, The new config variable CONFIG_BLK_SUB_PAGE_SEGMENTS has been introduced to make sure that the hot path is *not* affected if that config variable is disabled. Regarding the question "why": the Google Android team would like to improve performance by switching from 4 KiB pages to 16 KiB pages. One of the widely used UFS controllers (Exynos) has a maximum segment size of 4 KiB. Hence this patch series. This patch series is not only useful for phones but also for Tesla cars since Tesla cars use an Exynos UFS controller. A contributor to the MMC driver told me that this patch series would allow to simplify the MMC driver significantly (I have not yet double checked this). Bart.