vm_page_t related KBI [Was: Re: panic at vm_page_wire with FreeBSD 9.0 Beta 3]

Attilio Rao attilio at freebsd.org
Fri Nov 18 10:40:30 UTC 2011

2011/11/16 Kostik Belousov <kostikbel at gmail.com>:
> On Tue, Nov 15, 2011 at 07:15:01PM +0100, Attilio Rao wrote:
>> 2011/11/7 Kostik Belousov <kostikbel at gmail.com>:
>> > On Mon, Nov 07, 2011 at 11:45:38AM -0600, Alan Cox wrote:
>> >> Ok.  I'll offer one final suggestion.  Please consider an alternative
>> >> suffix to "func".  Perhaps, "kbi" or "KBI".  In other words, something
>> >> that hints at the function's reason for existing.
>> >
>> > Sure. Below is the extraction of only vm_page_lock() bits, together
>> > with the suggested rename. When Attilio provides the promised simplification
>> > of the mutex KPI, this can be reduced.
>> My tentative patch is here:
>> http://www.freebsd.org/~attilio/mutexfileline.patch
>> I need to make more compile testing later, but it already compiles
>> GENERIC + modules fine on HEAD.
>> The patch provides a common entrypoint, option independent, for both
>> fast case and debug/compat case.
>> Additively, it almost entirely fixes the standard violation of the
>> reserved namespace, as you described (the notable exception being the
>> macro used in the fast path, that I want to fix as well, but in a
>> separate commit).
>> Now the file/line couplet can be passed to the "_" suffix variant of
>> the flag functions.
> Yes, this is exactly KPI that I would use when available for the
> vm_page_lock() patch.
>> eadler@ reviewed the mutex.h comment.
>> Please let me know what you think about it, as long as we agree on the
>> patch I'll commit it.
> But I also agree with John that imposing large churn due to the elimination
> of the '__' prefix is too late now. At least it will make the change
> non-MFCable. Besides, we already lived with the names for 10+ years.
> I will be happy to have the part of the patch that exports the mtx_XXX_(mtx,
> file, line) defines which can be used without taking care of LOCK_DEBUG
> or MUTEX_NOINLINE in the consumer code.

Ok, this patch should just add the compat stub:

I'll make more test-compiling later in the day, if you agree on it I
will commit the patch tomorrow.


Peace can only be achieved by understanding - A. Einstein

More information about the freebsd-current mailing list