Subject: Re: Redoing file system suspension API (update)
To: None <firstname.lastname@example.org>
From: YAMAMOTO Takashi <email@example.com>
Date: 06/30/2006 13:33:11
> To really make this work, we would probably need to retool some of how the
> UBC code works. We would need to differentiate between a page fault due to
> a program (or some random old kernel routine) accessing memory and a page
> fault due to VOP_READ() or VOP_WRITE() accessing memory it just mapped in.
> The difference is that the first isn't in a transaction, and so needs to
> implicitly start one. At the uvm level, however, the latter already is in
> a transaction. So starting one will have the deadlock that you describe.
VOP_READ can involve another filesystem's VOP_GETPAGES
if user buffer is mmap'ed region.