Current-Users archive

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

Re: [FIXED] tmpfs breakage in 5.99.53?



"J. Hannken-Illjes" <hannken%eis.cs.tu-bs.de@localhost> wrote:
> Yes, a fault-in is missing.  For me this little shell script will expose
> the failure:
> 
> <...>
> 
> So it looks like a page was unmapped but it is still possible to write it
> without getting a page-fault.  Not being a pmap expert I forced an update
> after page removal:
> 
> RCS file: /cvsroot/src/sys/uvm/uvm_aobj.c,v
> --- uvm_aobj.c        12 Jun 2011 03:36:02 -0000      1.115
> +++ uvm_aobj.c        18 Jun 2011 13:31:43 -0000
> @@ -888,4 +888,5 @@ uao_put(struct uvm_object *uobj, voff_t 
>               TAILQ_REMOVE(&uobj->memq, &endmp, listq.queue);
>       }
> +     pmap_update(pmap_kernel());
>       mutex_exit(uobj->vmobjlock);
>       return 0;

Thanks a lot for the analysis!

According to current pmap interfaces, pmap_page_protect() should perform
the TLB shootdown itself.  Regression was in x86 pmap_page_remove().

Should be fixed now.

-- 
Mindaugas


Home | Main Index | Thread Index | Old Index