Re: Get rid of UVM_VNODE_CANPERSIST

2022-12-07 Thread Mark Kettenis
> Date: Wed, 7 Dec 2022 16:51:49 +0100 > From: Theo Buehler > > On Wed, Dec 07, 2022 at 03:56:56PM +0100, Alexander Bluhm wrote: > > On Mon, Nov 28, 2022 at 03:04:17PM +0100, Mark Kettenis wrote: > > > So here is an updated diff that checks the UVM_VNODE_DYING flag and > > > skips the refcount ma

Re: Get rid of UVM_VNODE_CANPERSIST

2022-12-07 Thread Theo Buehler
On Wed, Dec 07, 2022 at 03:56:56PM +0100, Alexander Bluhm wrote: > On Mon, Nov 28, 2022 at 03:04:17PM +0100, Mark Kettenis wrote: > > So here is an updated diff that checks the UVM_VNODE_DYING flag and > > skips the refcount manipulation if it is set. > > My macppc has build a full release with it

Re: Get rid of UVM_VNODE_CANPERSIST

2022-12-07 Thread Theo de Raadt
> We should try and commit this. I don't want to do this as a snapshot diff. So yes, that feels like the right approach.

Re: Get rid of UVM_VNODE_CANPERSIST

2022-12-07 Thread Alexander Bluhm
On Mon, Nov 28, 2022 at 03:04:17PM +0100, Mark Kettenis wrote: > So here is an updated diff that checks the UVM_VNODE_DYING flag and > skips the refcount manipulation if it is set. My macppc has build a full release with it. So it seems to fix the issue. I will continue testing. I also made a p

Re: Get rid of UVM_VNODE_CANPERSIST

2022-11-29 Thread Martin Pieuchot
On 28/11/22(Mon) 15:04, Mark Kettenis wrote: > > Date: Wed, 23 Nov 2022 17:33:26 +0100 > > From: Martin Pieuchot > > > > On 23/11/22(Wed) 16:34, Mark Kettenis wrote: > > > > Date: Wed, 23 Nov 2022 10:52:32 +0100 > > > > From: Martin Pieuchot > > > > > > > > On 22/11/22(Tue) 23:40, Mark Kettenis

Re: Get rid of UVM_VNODE_CANPERSIST

2022-11-28 Thread Mark Kettenis
> Date: Wed, 23 Nov 2022 17:33:26 +0100 > From: Martin Pieuchot > > On 23/11/22(Wed) 16:34, Mark Kettenis wrote: > > > Date: Wed, 23 Nov 2022 10:52:32 +0100 > > > From: Martin Pieuchot > > > > > > On 22/11/22(Tue) 23:40, Mark Kettenis wrote: > > > > > Date: Tue, 22 Nov 2022 17:47:44 + > > >

Re: Get rid of UVM_VNODE_CANPERSIST

2022-11-23 Thread Martin Pieuchot
On 23/11/22(Wed) 16:34, Mark Kettenis wrote: > > Date: Wed, 23 Nov 2022 10:52:32 +0100 > > From: Martin Pieuchot > > > > On 22/11/22(Tue) 23:40, Mark Kettenis wrote: > > > > Date: Tue, 22 Nov 2022 17:47:44 + > > > > From: Miod Vallat > > > > > > > > > Here is a diff. Maybe bluhm@ can try t

Re: Get rid of UVM_VNODE_CANPERSIST

2022-11-23 Thread Mark Kettenis
> Date: Wed, 23 Nov 2022 10:52:32 +0100 > From: Martin Pieuchot > > On 22/11/22(Tue) 23:40, Mark Kettenis wrote: > > > Date: Tue, 22 Nov 2022 17:47:44 + > > > From: Miod Vallat > > > > > > > Here is a diff. Maybe bluhm@ can try this on the macppc machine that > > > > triggered the original

Re: Get rid of UVM_VNODE_CANPERSIST

2022-11-23 Thread Martin Pieuchot
On 22/11/22(Tue) 23:40, Mark Kettenis wrote: > > Date: Tue, 22 Nov 2022 17:47:44 + > > From: Miod Vallat > > > > > Here is a diff. Maybe bluhm@ can try this on the macppc machine that > > > triggered the original "vref used where vget required" problem? > > > > On a similar machine it panic

Re: Get rid of UVM_VNODE_CANPERSIST

2022-11-22 Thread Mark Kettenis
> Date: Tue, 22 Nov 2022 17:47:44 + > From: Miod Vallat > > > Here is a diff. Maybe bluhm@ can try this on the macppc machine that > > triggered the original "vref used where vget required" problem? > > On a similar machine it panics after a few hours with: > > panic: uvn_flush: PGO_SYNCIO

Re: Get rid of UVM_VNODE_CANPERSIST

2022-11-22 Thread Alexander Bluhm
On Tue, Nov 22, 2022 at 05:47:44PM +, Miod Vallat wrote: > > Here is a diff. Maybe bluhm@ can try this on the macppc machine that > > triggered the original "vref used where vget required" problem? > > On a similar machine it panics after a few hours with: > > panic: uvn_flush: PGO_SYNCIO re

Re: Get rid of UVM_VNODE_CANPERSIST

2022-11-22 Thread Miod Vallat
> Here is a diff. Maybe bluhm@ can try this on the macppc machine that > triggered the original "vref used where vget required" problem? On a similar machine it panics after a few hours with: panic: uvn_flush: PGO_SYNCIO return 'try again' error (impossible) The trace (transcribed by hand) is u

Re: Get rid of UVM_VNODE_CANPERSIST

2022-11-22 Thread Mark Kettenis
> Date: Tue, 22 Nov 2022 15:08:30 +0100 > From: Martin Pieuchot > > On 18/11/22(Fri) 21:33, Mark Kettenis wrote: > > > Date: Thu, 17 Nov 2022 20:23:37 +0100 > > > From: Mark Kettenis > > > > > > > From: Jeremie Courreges-Anglas > > > > Date: Thu, 17 Nov 2022 18:00:21 +0100 > > > > > > > > On

Re: Get rid of UVM_VNODE_CANPERSIST

2022-11-22 Thread Martin Pieuchot
On 18/11/22(Fri) 21:33, Mark Kettenis wrote: > > Date: Thu, 17 Nov 2022 20:23:37 +0100 > > From: Mark Kettenis > > > > > From: Jeremie Courreges-Anglas > > > Date: Thu, 17 Nov 2022 18:00:21 +0100 > > > > > > On Tue, Nov 15 2022, Martin Pieuchot wrote: > > > > UVM vnode objects include a refere

Re: Get rid of UVM_VNODE_CANPERSIST

2022-11-18 Thread Mark Kettenis
> Date: Thu, 17 Nov 2022 20:23:37 +0100 > From: Mark Kettenis > > > From: Jeremie Courreges-Anglas > > Date: Thu, 17 Nov 2022 18:00:21 +0100 > > > > On Tue, Nov 15 2022, Martin Pieuchot wrote: > > > UVM vnode objects include a reference count to keep track of the number > > > of processes that

Re: Get rid of UVM_VNODE_CANPERSIST

2022-11-17 Thread Mark Kettenis
> From: Jeremie Courreges-Anglas > Date: Thu, 17 Nov 2022 18:00:21 +0100 > > On Tue, Nov 15 2022, Martin Pieuchot wrote: > > UVM vnode objects include a reference count to keep track of the number > > of processes that have the corresponding pages mapped in their VM space. > > > > When the last

Re: Get rid of UVM_VNODE_CANPERSIST

2022-11-17 Thread Jeremie Courreges-Anglas
On Tue, Nov 15 2022, Martin Pieuchot wrote: > UVM vnode objects include a reference count to keep track of the number > of processes that have the corresponding pages mapped in their VM space. > > When the last process referencing a given library or executable dies, > the reaper will munmap this o

Re: Get rid of UVM_VNODE_CANPERSIST

2022-11-15 Thread Mike Larkin
On Tue, Nov 15, 2022 at 02:31:27PM +0100, Martin Pieuchot wrote: > UVM vnode objects include a reference count to keep track of the number > of processes that have the corresponding pages mapped in their VM space. > > When the last process referencing a given library or executable dies, > the reape

Get rid of UVM_VNODE_CANPERSIST

2022-11-15 Thread Martin Pieuchot
UVM vnode objects include a reference count to keep track of the number of processes that have the corresponding pages mapped in their VM space. When the last process referencing a given library or executable dies, the reaper will munmap this object on its behalf. When this happens it doesn't fre