Seems like that functionality would better be included as separate madvise() advice than a new syscall, but probably a good addition either way.
Doubly difficult from within library code that needs to work in arbitrary programs, and thus cannot mess with signal handling.