bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 2/6] libpager: Do not flush in-core pages on offer


From: Samuel Thibault
Subject: Re: [PATCH 2/6] libpager: Do not flush in-core pages on offer
Date: Thu, 6 May 2021 23:58:53 +0200
User-agent: NeoMutt/20170609 (1.8.3)

Sergey Bugaev, le jeu. 06 mai 2021 15:56:27 +0300, a ecrit:
> pager_offer_page () is documented to may ignore the offered page if
> the kernel already has a copy in core (indeed, that's what Mach does).
> 
> However the current behavior is the inverse of that: it asks the kernel
> to flush (i.e. drop) its in-core copy, and replace it with the offered
> one. Fix this by not doing that, and calling memory_object_data_supply ()
> directly.

Indeed, applied, thanks!

> ---
>  libpager/offer-page.c | 7 -------
>  1 file changed, 7 deletions(-)
> 
> diff --git a/libpager/offer-page.c b/libpager/offer-page.c
> index ddea236a..0b0ca2eb 100644
> --- a/libpager/offer-page.c
> +++ b/libpager/offer-page.c
> @@ -34,13 +34,6 @@ pager_offer_page (struct pager *p,
>      goto release_out;
>  
>    short *pm_entry = &p->pagemap[offset / vm_page_size];
> -
> -  while (*pm_entry & PM_INCORE)
> -    {
> -      pthread_mutex_unlock (&p->interlock);
> -      pager_flush_some (p, offset, vm_page_size, 1);
> -      pthread_mutex_lock (&p->interlock);
> -    }
>    *pm_entry |= PM_INCORE;
>  
>    memory_object_data_supply (p->memobjcntl, offset, buf, vm_page_size, 0,
> -- 
> 2.31.1
> 
> 



reply via email to

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