svn commit: r336025 - in head/sys: amd64/include i386/include

Rodney W. Grimes freebsd at pdx.rh.CN85.dnsmgr.net
Fri Jul 6 22:00:43 UTC 2018


> On Friday, July 6, 2018, Rodney W. Grimes <freebsd at pdx.rh.cn85.dnsmgr.net>
> wrote:
> 
> > > Author: hselasky
> > > Date: Fri Jul  6 10:13:42 2018
> > > New Revision: 336025
> > > URL: https://svnweb.freebsd.org/changeset/base/336025
> > >
> > > Log:
> > >   Make sure kernel modules built by default are portable between UP and
> > >   SMP systems by extending defined(SMP) to include defined(KLD_MODULE).
> > >
> > >   This is a regression issue after r335873 .
> > >
> > >   Discussed with:             mmacy@
> > >   Sponsored by:               Mellanox Technologies
> >
> > Though this fixes the issue, it also means that now when
> > anyone intentionally builds a UP kernel with modules
> > they are getting SMP support in the modules and I am
> > not sure they would want that.  I know I don't.
> >
> >
> On linux case the lock instructions are runtime patchable. They have so
> called altinstruction facility, which able to detect specific conditions -
> in this case up vs smp - and in up case the locks are replaced with simple
> nops or one multi word nop when the instruction longer than 1 byte.

Thank you for this information, which lends credibilty to the fact that
these LOCK instructions may not be as cheap as some think they are,
as why would the Linux people bother with run time patching code if
infact it was that cheap.

I would not want to take that approach though.

... commit diff text deleted ...

-- 
Rod Grimes                                                 rgrimes at freebsd.org


More information about the svn-src-head mailing list