Re: Change PAGE_SIZE from minimum 4k to 12k

From: Kevin McKinney
Date: Thu May 25 2017 - 17:03:28 EST


On Thu, May 25, 2017 at 4:08 PM, Alan Cox <gnomes@xxxxxxxxxxxxxxxxxxx> wrote:
> On Thu, 25 May 2017 19:05:26 +0200
> Pavel Machek <pavel@xxxxxx> wrote:
>
>> On Tue 2017-05-16 11:27:08, Kevin McKinney wrote:
>> > Hi Everyone,
>> >
>> > Would it be possible to have a custom block device driver read/write
>> > in increments of 12k instead of reading/writing data in 4k increments?
>> > In other words, I would like to change the default page size on a
>> > x86_64 platform (4.4.0 kernel) from 4k to 12k as the minimum page
>> > size? I understand I may have negative performance due to
>> > fragmentation. Any help would be appreciated.
>> >
>> > If this is the wrong mailing list, please let me know the right one to use.
>>
>> I won't say "no" but ammount of work neccessary is likely measured in
>> man-years. Plus, hardware page size _is_ 4KB.
>
> Or a few other much larger sizes. Not that it actually matters. You can
> implement a larger software page size for a platform but it would still
> neeed to be a power of two, and you'd have trouble running some existing
> binaries for x86.
>
> What problem are you *actually* trying to solve ?

Thanks for responding! I work for a company that created custom
hardware with 4 banks of drives. Each bank is 12 terabytes; and each
bank is controlled by a separate RAID controller. We created a custom
block device driver that is responsible for moving data to each bank.
The RAID controller will then stripe the data across the appropriate
disks for the specified bank. The problem we are having is by moving
in increments of 4k, we are unable to utilize all 48 terabytes; we are
only able to utilize 32 terabytes. If we could move in increments of
12K that would allow us to use the full 12 terabytes for each bank.

Kevin

>
> Alan