[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH v3 1/2] mm: Try invalidate disk caches last when out of m
From: |
Patrick Steinhardt |
Subject: |
Re: [RFC PATCH v3 1/2] mm: Try invalidate disk caches last when out of memory |
Date: |
Sat, 15 Oct 2022 10:46:55 +0200 |
On Thu, Oct 13, 2022 at 09:29:18AM +0800, Zhang Boyang wrote:
> Previously, every heap grow will cause all disk caches invalidated,
> which decreases performance severely. This patch moves disk cache
> invalidation code to the last of memory squeezing measures, so disk
> caches are released only when no other ways to get free memory.
>
> Signed-off-by: Zhang Boyang <zhangboyang.id@gmail.com>
> ---
> grub-core/kern/mm.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/grub-core/kern/mm.c b/grub-core/kern/mm.c
> index 75f6eacbe..ae2279133 100644
> --- a/grub-core/kern/mm.c
> +++ b/grub-core/kern/mm.c
> @@ -443,12 +443,6 @@ grub_memalign (grub_size_t align, grub_size_t size)
> switch (count)
> {
> case 0:
> - /* Invalidate disk caches. */
> - grub_disk_cache_invalidate_all ();
> - count++;
> - goto again;
> -
> - case 1:
> /* Request additional pages, contiguous */
> count++;
>
> @@ -458,7 +452,7 @@ grub_memalign (grub_size_t align, grub_size_t size)
>
> /* fallthrough */
>
> - case 2:
> + case 1:
> /* Request additional pages, anything at all */
> count++;
>
> @@ -474,6 +468,12 @@ grub_memalign (grub_size_t align, grub_size_t size)
>
> /* fallthrough */
>
> + case 2:
> + /* Invalidate disk caches. */
> + grub_disk_cache_invalidate_all ();
> + count++;
> + goto again;
> +
> default:
> break;
> }
> --
> 2.30.2
>
Reviewed-by: Patrick Steinhardt <ps@pks.im>
signature.asc
Description: PGP signature