Bootlin's Pursuit To Let 32-bit ARM NAS Devices Support More Than 16TiB Of Storage
Bootlin working under contract for an unnamed NAS vendor has been working to update the Large Page Support for 32-bit ARM and ultimately coming up with an upstream-friendly way to be able to support more than 16TB of storage on 32-bit ARM devices.
While 64-bit ARM has been available for years, there still are network attached storage (NAS) devices available that rely on 32-bit ARM SoCs. The problem is 32-bit ARM with the mainline kernel only allows addressing up to 16 TiB of storage. Some NAS vendors as a result have carried the out-of-tree Large Page Support patches to allow supporting greater amounts of storage. Bootlin this year updated the Large Page Support for 32-bit ARM.
Those patches were made back in June but only written about now on the Bootlin blog and not yet merged to the mainline Linux kernel. The Large Page Support for 32-bit ARM will likely not be mainlined. With large pages, each file in the page cache uses at least one page and ultimately a lot of memory is wasted as the page size increases. Linus Torvalds as a result has been against this approach.
The more optimal approach rather than having Large Page Support for the entire system is using 64-bit (pgoff_t) offsets for file-systems addressing the memory instead. Some NAS vendors reportedly have this in their own kernels but yet to be mainlined.
Those still relying upon 32-bit ARM hardware with large amounts of storage can read about Bootlin's work in this area via their blog.
While 64-bit ARM has been available for years, there still are network attached storage (NAS) devices available that rely on 32-bit ARM SoCs. The problem is 32-bit ARM with the mainline kernel only allows addressing up to 16 TiB of storage. Some NAS vendors as a result have carried the out-of-tree Large Page Support patches to allow supporting greater amounts of storage. Bootlin this year updated the Large Page Support for 32-bit ARM.
Those patches were made back in June but only written about now on the Bootlin blog and not yet merged to the mainline Linux kernel. The Large Page Support for 32-bit ARM will likely not be mainlined. With large pages, each file in the page cache uses at least one page and ultimately a lot of memory is wasted as the page size increases. Linus Torvalds as a result has been against this approach.
The more optimal approach rather than having Large Page Support for the entire system is using 64-bit (pgoff_t) offsets for file-systems addressing the memory instead. Some NAS vendors reportedly have this in their own kernels but yet to be mainlined.
Those still relying upon 32-bit ARM hardware with large amounts of storage can read about Bootlin's work in this area via their blog.
1 Comment