Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Jul 2002 03:45:57 -0700 (PDT)
From:      Don Lewis <dl-freebsd@catspoiler.org>
To:        phk@critter.freebsd.dk
Cc:        arch@FreeBSD.ORG
Subject:   Re: wiring the sysctl output buffer 
Message-ID:  <200207141046.g6EAjvwr020972@gw.catspoiler.org>
In-Reply-To: <62432.1026642470@critter.freebsd.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
On 14 Jul, Poul-Henning Kamp wrote:
> In message <200207141020.g6EAK4wr020922@gw.catspoiler.org>, Don Lewis writes:
>>On 14 Jul, Poul-Henning Kamp wrote:

>>> You may also want to restrict the amount of buffer you pin
>>> if I hand the kernel a 2G buffer for a 4 byte sysctl integer
>>> you wouldn't want to pin it all.
>>
>>Yeah, that could be bad, but the SYSCTL_OUT() in the current API pins
>>the whole user supplied buffer on the first call.  My new entry point
>>does the same thing, but allows the caller to do this potentially
>>blocking operation earlier.
> 
> I know, but that also affords an opportunity to be smarter (ie: letting
> the entry point say "I need this much storage").

I like this idea, though we'd want to move the new interface to the
recommended list.  There is also the problem keeping track of how much
memory we wired.  The current sysctl exit code unwires the entire user
supplied buffer.  If we only wire a portion, then we would need to add a
member to the sysctl_req structure to record how much was wired so that
we could unwire that amount on exit.



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207141046.g6EAjvwr020972>