Date: Sat, 29 Jan 2011 21:44:45 -1000 (HST) From: Jeff Roberson <jroberson@jroberson.net> To: Hans Petter Selasky <hselasky@c2i.net> Cc: freebsd-arch@freebsd.org Subject: Re: ofed merge soon Message-ID: <alpine.BSF.2.00.1101292143010.1412@desktop> In-Reply-To: <201101291032.35544.hselasky@c2i.net> References: <alpine.BSF.2.00.1101271653470.1412@desktop> <201101281009.32986.jhb@freebsd.org> <alpine.BSF.2.00.1101281050510.1412@desktop> <201101291032.35544.hselasky@c2i.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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 >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1101292143010.1412>