Sorry, late comment.
Shortening a huge zero page is good from the cache point of view, but maybe bad from DMA point of view, a:
dd if=/dev/zero of=/dev/sda18
may be forced to use 4 Kbytes pages because the huge zero page is not contiguous in physical memory...
Just my £0.02