Re: i386 pmap - missing sched_pin()?

From: Alan Cox <alc_at_rice.edu>
Date: Wed, 24 Oct 2012 11:48:13 -0500
On 10/23/2012 08:14, Konstantin Belousov wrote:
> On Tue, Oct 23, 2012 at 02:36:07PM +0200, Svatopluk Kraus wrote:
>> Hi,
>>
>>     I'm just syncing my ARM pmap code (base on i386 one) with current
>> i386 pmap code. It looks that sched_pin() is missing after successful
>> rw_try_wlock() in pmap_protect().
> Yes, you are right, I think. The following patch takes care of it.
>
> diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c
> index ac087f6..b9033da 100644
> --- a/sys/i386/i386/pmap.c
> +++ b/sys/i386/i386/pmap.c
> _at__at_ -3221,6 +3221,7 _at__at_ resume:
>   						PMAP_UNLOCK(pmap);
>   						goto resume;
>   					}
> +					sched_pin();
>   				}
>   				if (!pmap_demote_pde(pmap,
>   				&pmap->pm_pdir[pdirindex], sva)) {

Agreed.  Please commit this change.

Alan
Received on Wed Oct 24 2012 - 14:48:15 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:31 UTC