Messages in this thread | | | From | Jeff Moyer <> | Subject | Re: [PATCH 3/4] Staging: zram: allow partial page operations | Date | Tue, 14 Jun 2011 10:49:26 -0400 |
| |
Jerome Marchand <jmarchan@redhat.com> writes:
> On 06/10/2011 06:41 PM, Nitin Gupta wrote: >> On 06/10/2011 06:28 AM, Jerome Marchand wrote: >>> Commit 7b19b8d45b216ff3186f066b31937bdbde066f08 (zram: Prevent overflow >>> in logical block size) introduced ZRAM_LOGICAL_BLOCK_SIZE constant to >>> prevent overflow of logical block size on 64k page kernel. >>> However, the current implementation of zram only allow operation on block >>> of the same size as a page. That makes theorically legit 4k requests fail >>> on 64k page kernel. >>> >>> This patch makes zram allow operation on partial pages. Basically, it >>> means we still do operations on full pages internally, but only copy the >>> relevent segments from/to the user memory. >>> >> >> Couldn't we just change struct queue_limits.logical_block_size type to >> unsigned int or something so it could hold value of 64K? Then we could >> avoid making all these changes to handle partial page requests. >> >> Thanks, >> Nitin > > I believe logical_block_size is meant to be small. I don't know if it is > reasonable to set it to such a big value as 64k. I CCed Jens and Martin to > have a more valuable opinion on the matter.
I don't think there's any reason the logical block size can't be increased. For zram, so long as you don't care that the minimum I/O size is 64k on these systems (and by you, I mean the users of zram, like file systems, or anything using the block device directly), then it's a fine trade-off to make.
Jens, Martin, what do you guys think about bumping the size of the queue_limits.logical_block_size?
Cheers, Jeff
| |