svn commit: r347695 - in head/sys: amd64/amd64 amd64/include kern

Konstantin Belousov kostikbel at gmail.com
Sat May 18 08:44:19 UTC 2019


On Sat, May 18, 2019 at 11:35:29AM +0300, Dmitry Chagin wrote:
> чт, 16 мая 2019 г. в 16:29, Konstantin Belousov <kib at freebsd.org>:
> 
> > Author: kib
> > Date: Thu May 16 13:28:48 2019
> > New Revision: 347695
> > URL: https://svnweb.freebsd.org/changeset/base/347695
> >
> > Log:
> >   amd64 pmap: rework delayed invalidation, removing global mutex.
> >
> >   For machines having cmpxcgh16b instruction, i.e. everything but very
> >   early Athlons, provide lockless implementation of delayed
> >   invalidation.
> >
> >   The implementation maintains lock-less single-linked list with the
> >   trick from the T.L. Harris article about volatile mark of the elements
> >   being removed. Double-CAS is used to atomically update both link and
> >   generation.  New thread starting DI appends itself to the end of the
> >   queue, setting the generation to the generation of the last element
> >   +1.  On DI finish, thread donates its generation to the previous
> >   element.  The generation of the fake head of the list is the last
> >   passed DI generation.  Basically, the implementation is a queued
> >   spinlock but without spinlock.
> >
> >
> 
> Hi, Kostik! First of all thanks for the previous help.
> Second, this commit broke i915kms module. Unfortunatelly,
> I can't give you a lot of information becouse I see only black screen,
> but I can help with testing
Did you recompiled the module ?


More information about the svn-src-head mailing list