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