Index | Thread | Search

From:
Claudio Jeker <cjeker@diehard.n-r-g.com>
Subject:
Re: wired pages vs sysctl(2)
To:
Vitaliy Makkoveev <mvs@openbsd.org>, tech@openbsd.org, kettenis@openbsd.org
Date:
Wed, 5 Mar 2025 13:20:36 +0100

Download raw body.

Thread
On Wed, Mar 05, 2025 at 01:11:59PM +0100, Martin Pieuchot wrote:
> On 04/03/25(Tue) 16:58, Vitaliy Makkoveev wrote:
> > On Tue, Mar 04, 2025 at 02:45:42PM +0100, Martin Pieuchot wrote:
> > 
> > > As long as we need vslock(9), which is something that I don't know, might
> > > want to distinguish between userland vs kernel wiring like FreeBSD do.
> > > 
> > 
> > We need vslock() userland pages to avoid context switch provides by
> > copyin()/copyout(). In some cases, like kernel locked lists walkthrougs
> > or netlocked sections this context switch is totally unwanted.
> 
> So this is about sysctl that do multiple copyout(9)?  To try to limit
> side effects?

Yes. sysctl is supposed to return an atomic view of the kernel state
(which is not really possible) and the more problematic one is that some
sysctls requires a large amount of memory while holding some important
lock at the same time. In that case you want to be sure the copyout wont
hang.
 
> > I'm slightly moving sysctl(2) paths out of vslock(), so if you are
> > interesting I could share stalled vfs_sysctl() diff with you.
> 
> Thanks, I'm busy for the moment.  I'll try to look at it when you'll
> post it to tech@.
> 
> 

-- 
:wq Claudio