Re: [RFC] Variable Kernel Page size support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



How do you handle speculation issues this raises.  Right now, we can
ensure that speculation only occurs on a granule boundary.  mspec converts
granules to uncached.  With this patch, we would have to allocate a chunk,
determine the size of page table backing that chunk, if it does not span
the entire, free it and ask for a larger chunk.  Alternatively, we would
need to allocate a series of granule size chunks until none were found,
then double that size and repeat.

Have you shown a benefit from this work yet?  In my and IIRC Jack's
experience, nearly every place in the kernel that I have seen operating
on vmem_map and struct page * that is performance critical have adequate
TLB pressure to cause TLB replacement for the vmem_map.  With your patch,
how much extra work is the kernel going to need to do when replacing an
entry which will essentially end up being used once?

Please show a benfit before introducing this patch so we can ensure we
do not introduce silent data corruption problems in the mspec allocations.

If you want vmem_map to have variable page sizes, how about specifying the
min and max at something crazy like base page size for ia64.  Then you
could still make the code generic and get it into the mainline kernel
and not affect ia64.

Thanks,
Robin
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Sparc Linux]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux for Ham Radio]

  Powered by Linux