Fix for compaction bailing out when MAX_RW_COUNT bytes are sent to compaction
Compaction uses process_madvise which internally makes use of iovec
which imposes certain restrictions on the amount of data that can be
sent, previously we had added a constraint of the total vmas sent within
a single syscall determined by UIO_MAXIOV. However, in this CL we also
added a cap on the amount of bytes sent per syscall up to the maximum
supported MAX_RW_COUNT and split the VMA into chunks which end up
being sent in different syscalls.
Test: Verified ZRAM changes during compaction and added logging to
verify that all VMAs where processed
Bug: 205658049
Change-Id: Ib478397a1199d31a85606b0a38ab1b673b2333fc
1 file changed