ofed merge soon

Jeff Roberson jroberson at jroberson.net
Sun Jan 30 07:41:49 UTC 2011


On Sat, 29 Jan 2011, Hans Petter Selasky wrote:

> Hi,
>
> Just a comment:
>
> +
> +#define DEFINE_MUTEX(lock)                                             \
> +       mutex_t lock;                                                   \
> +       SX_SYSINIT_FLAGS(lock, &(lock).sx, "lnxmtx", SX_NOWITNESS)
> +
> +static inline void
> +linux_mutex_init(mutex_t *m)
> +{
> +
> +       memset(&m->sx, 0, sizeof(m->sx));
> +       sx_init_flags(&m->sx, "lnxmtx",  SX_NOWITNESS);
> +}
> +
> +#define        mutex_init      linux_mutex_init
>
> I see you workaround the fact that Linux does not destroy any mutexes by
> disabling witness. Do you have any plan to upgrade the Linux 3rd party code to
> destroy mutexes?

It introduces too many diffs that are difficult to maintain.  I don't 
think it's viable.  One option would be to tag the memory linux uses so 
that when it's freed we reclaim any locks in it.  You could scan the 
witness tables for pointers within the free'd region fairly easily.  It 
wouldn't be pretty though.

Thanks,
Jeff

>
> --HPS
>


More information about the freebsd-arch mailing list