mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
Linux 5.4
-----BEGIN PGP SIGNATURE----- iQFSBAABCAA8FiEEq68RxlopcLEwq+PEeb4+QwBBGIYFAl3bIQceHHRvcnZhbGRz QGxpbnV4LWZvdW5kYXRpb24ub3JnAAoJEHm+PkMAQRiG8mUIAIjMARdI6Fc6Hrwo oVAFQU8BY/OB49NbKYCaXMi1AbMv0+f32jEmdcHj4AQa+Dq8owc1pOB2o+iTLrCq PWf6t1wjHtPVmkZ+lWGDFT74IBMCZ8M0dgN9rYBUbno09/B9cqN4ttjTrGjTgkGe yw4qTzeflZaMSIzvy+nZD8RM9bXsFJUncD/M759ElPj1p7Tdx29c05+e46pYOh7i A6QaSMZT2xKHDIDfU1rQhvyrzAX4cF1LtbSNu7GAG7Ajnn3jfxXqUzZdl5r5j04W ee+AXER4VXDlq+2fN7/jlGa4kxiZZDX/FqRnS6dsrb+2sNCKlnETI+6a9/dO0zsI wzBh36o= =0TWn -----END PGP SIGNATURE----- Merge 5.4 into android-mainline Linux 5.4 Here we go! Signed-off-by: Greg Kroah-Hartman <[email protected]> Change-Id: Iee409f3bbf65b93fa419e5b09818efb8e56569fd
This commit is contained in:
commit
54e301676a
94 changed files with 695 additions and 317 deletions
|
|
@ -772,6 +772,13 @@ static unsigned long shrink_free_pages(struct virtio_balloon *vb,
|
|||
return blocks_freed << VIRTIO_BALLOON_FREE_PAGE_ORDER;
|
||||
}
|
||||
|
||||
static unsigned long leak_balloon_pages(struct virtio_balloon *vb,
|
||||
unsigned long pages_to_free)
|
||||
{
|
||||
return leak_balloon(vb, pages_to_free * VIRTIO_BALLOON_PAGES_PER_PAGE) /
|
||||
VIRTIO_BALLOON_PAGES_PER_PAGE;
|
||||
}
|
||||
|
||||
static unsigned long shrink_balloon_pages(struct virtio_balloon *vb,
|
||||
unsigned long pages_to_free)
|
||||
{
|
||||
|
|
@ -782,11 +789,10 @@ static unsigned long shrink_balloon_pages(struct virtio_balloon *vb,
|
|||
* VIRTIO_BALLOON_ARRAY_PFNS_MAX balloon pages, so we call it
|
||||
* multiple times to deflate pages till reaching pages_to_free.
|
||||
*/
|
||||
while (vb->num_pages && pages_to_free) {
|
||||
pages_freed += leak_balloon(vb, pages_to_free) /
|
||||
VIRTIO_BALLOON_PAGES_PER_PAGE;
|
||||
pages_to_free -= pages_freed;
|
||||
}
|
||||
while (vb->num_pages && pages_freed < pages_to_free)
|
||||
pages_freed += leak_balloon_pages(vb,
|
||||
pages_to_free - pages_freed);
|
||||
|
||||
update_balloon_size(vb);
|
||||
|
||||
return pages_freed;
|
||||
|
|
@ -799,7 +805,7 @@ static unsigned long virtio_balloon_shrinker_scan(struct shrinker *shrinker,
|
|||
struct virtio_balloon *vb = container_of(shrinker,
|
||||
struct virtio_balloon, shrinker);
|
||||
|
||||
pages_to_free = sc->nr_to_scan * VIRTIO_BALLOON_PAGES_PER_PAGE;
|
||||
pages_to_free = sc->nr_to_scan;
|
||||
|
||||
if (virtio_has_feature(vb->vdev, VIRTIO_BALLOON_F_FREE_PAGE_HINT))
|
||||
pages_freed = shrink_free_pages(vb, pages_to_free);
|
||||
|
|
@ -820,7 +826,7 @@ static unsigned long virtio_balloon_shrinker_count(struct shrinker *shrinker,
|
|||
unsigned long count;
|
||||
|
||||
count = vb->num_pages / VIRTIO_BALLOON_PAGES_PER_PAGE;
|
||||
count += vb->num_free_page_blocks >> VIRTIO_BALLOON_FREE_PAGE_ORDER;
|
||||
count += vb->num_free_page_blocks << VIRTIO_BALLOON_FREE_PAGE_ORDER;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -583,7 +583,7 @@ unmap_release:
|
|||
kfree(desc);
|
||||
|
||||
END_USE(vq);
|
||||
return -EIO;
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
static bool virtqueue_kick_prepare_split(struct virtqueue *_vq)
|
||||
|
|
@ -1085,7 +1085,7 @@ unmap_release:
|
|||
kfree(desc);
|
||||
|
||||
END_USE(vq);
|
||||
return -EIO;
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
static inline int virtqueue_add_packed(struct virtqueue *_vq,
|
||||
|
|
|
|||
Loading…
Reference in a new issue