Messages in this thread | | | Date | Tue, 24 Mar 2015 18:49:00 +0800 | Subject | Re: [PATCH 1/3] block: loop: use kmap(page) instead of page_address(page) | From | Ming Lei <> |
| |
On Tue, Mar 24, 2015 at 6:29 PM, Christoph Hellwig <hch@lst.de> wrote: > On Sun, Mar 22, 2015 at 04:14:52PM +0800, Ming Lei wrote: >> The raw page allocated in lo_send() can be a highmem page, >> so kmap(page) should be used for read/write on the page. >> >> Also the patch removes kmap()/kunmap() in lo_send() because >> it isn't needed at all. > > The description seems odd, what it seems to do is to shift the > kmap from lo_send into do_lo_send_write. This does not seem
Looks I ignore the fact which kmap() can setup page_address(), so this change isn't needed, please ignore the patch.
> very useful as it now means a kmap per segment instead of just > a single one per I/O. What would make more sense is to just > not allocate a highmem page.
On 32bit system, this still may cause pressure on page allocation, since requests are handled concurrently now after using workqueue.
But it is a good idea to keep kmap() per segment, and will do that in v2.
Thanks, Ming Lei
| |