Subject: Re: ffs with UBC rewrite performance improvement
To: None <yamahata@private.email.ne.jp>
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
List: tech-kern
Date: 05/23/2003 10:22:51
> > because ufs_balloc_range_with_pages keeps pages busy,
> > it can deadlock if some of them are mapped to the userspace and
> > a page fault occurs on one of them in uiomove.
> 
> I solved this deadlock by wiring down the usespace beforehand.
> I attach a new patch that is for NetBSD 1.6.1. 
> Almost all part of this patch is same.
> 
> Does this seem ok? or do I miss anything else?

- iirc, wiring user pages isn't enough for your purpose.  it still
  has chances to fault.
  e.g. when the pages are pmap_page_protect'ed by another thread.
- you can't use pmap_kenter_pa for normal cases.

suppose, e.g. pages might be loaned-out in the meantime.

btw, i thought that almost same thing as your (previous) patch can be done
by using UBC_FAULTBUSY + GOP_ALLOC.  am i missing point of you?

YAMAMOTO Takashi