Re: [PATCH 1/3] block: loop: use kmap(page) instead of page_address(page)

From: Ming Lei
Date: Tue Mar 24 2015 - 06:49:12 EST


On Tue, Mar 24, 2015 at 6:29 PM, Christoph Hellwig <hch@xxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/