Date: Sun, 30 Jan 2011 10:16:55 +0100 From: Hans Petter Selasky <hselasky@c2i.net> To: freebsd-arch@freebsd.org Subject: Re: ofed merge soon Message-ID: <201101301016.55633.hselasky@c2i.net> In-Reply-To: <alpine.BSF.2.00.1101292143010.1412@desktop> References: <alpine.BSF.2.00.1101271653470.1412@desktop> <201101291032.35544.hselasky@c2i.net> <alpine.BSF.2.00.1101292143010.1412@desktop>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday 30 January 2011 08:44:45 Jeff Roberson wrote: > 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. How about requiring that Linux code, once imported, must destroy it's mutexes? --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201101301016.55633.hselasky>