svn commit: r324609 - head/sys/sys

Svatopluk Kraus skra at freebsd.org
Fri Oct 13 23:23:16 UTC 2017


MTX_UNOWNED is a flag. You did not change its value from 4 to 0, you
removed it actually. I have very bad feeling about it. But maybe, it's
really possible and in that case, a very good explanation should be
provided.

Svata


On Fri, Oct 13, 2017 at 10:31 PM, Mateusz Guzik <mjg at freebsd.org> wrote:
> Author: mjg
> Date: Fri Oct 13 20:31:56 2017
> New Revision: 324609
> URL: https://svnweb.freebsd.org/changeset/base/324609
>
> Log:
>   mtx: change MTX_UNOWNED from 4 to 0
>
>   The value is spread all over the kernel and zeroing a register is
>   cheaper/shorter than setting it up to an arbitrary value.
>
>   Reduces amd64 GENERIC-NODEBUG .text size by 0.4%.
>
>   MFC after:    1 week
>
> Modified:
>   head/sys/sys/mutex.h
>
> Modified: head/sys/sys/mutex.h
> ==============================================================================
> --- head/sys/sys/mutex.h        Fri Oct 13 20:29:35 2017        (r324608)
> +++ head/sys/sys/mutex.h        Fri Oct 13 20:31:56 2017        (r324609)
> @@ -65,15 +65,11 @@
>   * State bits kept in mutex->mtx_lock, for the DEFAULT lock type. None of this,
>   * with the exception of MTX_UNOWNED, applies to spin locks.
>   */
> +#define        MTX_UNOWNED     0x00000000      /* Cookie for free mutex */
>  #define        MTX_RECURSED    0x00000001      /* lock recursed (for MTX_DEF only) */
>  #define        MTX_CONTESTED   0x00000002      /* lock contested (for MTX_DEF only) */
> -#define MTX_UNOWNED    0x00000004      /* Cookie for free mutex */
> -#define        MTX_FLAGMASK    (MTX_RECURSED | MTX_CONTESTED | MTX_UNOWNED)
> -
> -/*
> - * Value stored in mutex->mtx_lock to denote a destroyed mutex.
> - */
> -#define        MTX_DESTROYED   (MTX_CONTESTED | MTX_UNOWNED)
> +#define        MTX_DESTROYED   0x00000004      /* lock destroyed */
> +#define        MTX_FLAGMASK    (MTX_RECURSED | MTX_CONTESTED | MTX_DESTROYED)
>
>  /*
>   * Prototypes
>


More information about the svn-src-head mailing list