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

From: Kostik Belousov <kostikbel_at_gmail.com>
Date: Wed, 16 Nov 2011 10:45:42 +0200
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_at_ 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.

Received on Wed Nov 16 2011 - 07:45:57 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:20 UTC