grub-devel
[Top][All Lists]
Advanced

[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>

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]