Demand paging is why touching one byte of a 1GB anonymous mmap doesn't cost 1GB of resident memory up front — Linux's memory overcommit accounting and every sparse-array workload depend on exactly this lazy-allocation behavior. Get the present-bit check backwards and every access becomes an unnecessary page fault, or worse, a real fault is silently skipped and you read unallocated memory.