4 ms·
https://en.wikipedia.org/wiki/Page_(computer_memory) https://en.wikipedia.org/wiki/Page_(computer_memory)
by auscompgeek 6y ago
https://en.wikipedia.org/wiki/Page_(computer_memory) https://en.wikipedia.org/wiki/Page_(computer_memory)
- Jonnax 6y agoThanks! So I'm guessing the issue might be that Android mandates 4kb page sizes whilst the A10 CPU has a minimum of 16kb. Whilst Ubuntu and other standard distros don't care?
- spijdar 6y agoA lot of software breaks when you're not running 4kb pages. I run a POWER9 desktop, and the default page size is 64kb. A lot of ... interesting problems manifest. Some filesystems like Btrfs and XFS (iirc) have elements that are page size dependent, and can only be opened on systems with the same page size as the one that made them. Some stuff like Wine (and windows in general AFAIK) assumes 4k "alignment" and doesn't like it when it differs) Of course, on P9 you can just change the page size to 4k and be done with it. Apple appears to have only implemented 16KB pages and nothing else, presumably to minimize silicon cost/maximize performance (?)
- gpderetta 6y ago> Apple appears to have only implemented 16KB pages and nothing else, presumably to minimize silicon cost/maximize performance I think it is because, due to quirks of the interaction of virtual address resolutions with cache addressing, it allows Apple to use a larger L1 cache.
- volta87 6y ago> A lot of software breaks when you're not running 4kb pages. The page size on windows is 64kb as well so portable software already needs to deal with supporting 4kB and 64kB pages.
- hrydgard 6y agoNo the page size on Windows is 4kb, however some things like file mapping do require 64kb alignment, due to ancient compatibility concerns with DEC Alpha.
- my123 6y agoDepends on the architecture. Windows on Itanium runs with 8KB pages for example, but that's the exception that confirms the rule.
- gtirloni 6y agoThat's interesting. Would mind sharing what machine is that (p9)?
- lmz 6y agoOne of these maybe? https://www.raptorcs.com/content/base/products.html https://www.raptorcs.com/content/base/products.html
- spijdar 6y agoIndeed, I've got a Blackbird board in a micro-ATX tower as my main bedroom computer. Got it a couple years back to replace the bulky secondhand rackmounts I'd been using as build hosts/hypervisors/fileservers etc. I appreciate the open platform and documentation behind it -- the OpenPOWER people publish a lot of detailed technical docs, and all the source code is available, with everything down to the FPGAs controlling power-up easily modifiable, without having to reverse-engineer all the bits like cough other platforms. It's just a shame it started off expensive and has gotten even more so the past couple of years. I suppose it's just what happens when you're producing such complex boards at such a tiny scale, and for such a niche audience.
- tyingq 6y ago"Android mandates 4kb page sizes" I think the language they used is misleading. It's more likely Android has introduced some bugs from assuming page sizes are always 4kb. "Whilst Ubuntu and other standard distros don't care?" Many of the various different architectures Linux runs on have page sizes that aren't 4kb. It's typically defined in a constant called "PAGE_SHIFT" in the arch/<ARCH>/include/asm/page.h file for the architecture. For example, PAGE_SHIFT is 13 for OpenRisc: https://github.com/torvalds/linux/blob/fcadab740480e0e0e9fa9bd272acd409884d431a/arch/openrisc/include/asm/page.h#L21 https://github.com/torvalds/linux/blob/fcadab740480e0e0e9fa9... A quick way to convert that to the page size: $ echo "2^13" | bc 8192