Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Apr 2014 15:27:32 +0300
From:      Ivan Klymenko <fidaj@ukr.net>
To:        Niclas Zeising <zeising@freebsd.org>
Cc:        ports@FreeBSD.org, x11@FreeBSD.org
Subject:   Re: [CFT] x11-servers/xorg-server with initial (GCD) Grand Central Dispatch support
Message-ID:  <20140421152732.716b897b@nonamehost.local>
In-Reply-To: <5354E550.7050803@freebsd.org>
References:  <20140420200534.72226779@nonamehost.local> <5354E550.7050803@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
=D0=92 Mon, 21 Apr 2014 11:30:56 +0200
Niclas Zeising <zeising@freebsd.org> =D0=BF=D0=B8=D1=88=D0=B5=D1=82:

> On 04/20/14 19:05, Ivan Klymenko wrote:
> > Hi all.
> >=20
> > You are tired of frequent friezes xorg server?
> > Are you bored messages in /var/log/Xorg.0.log:
> > "
> > ...
> > [mi] EQ overflowing.  Additional events will be discarded until
> > existing events are processed. ...
> > "
> > ?
> >=20
> > :)
> >=20
> > Then you here! :)
> >=20
> > Patch attached :)
> >=20
> > If you like, we can continue to develop this area.
>=20
> First of all, what is GCD.

What is GCD - for example can be read here:
http://en.wikipedia.org/wiki/Grand_Central_Dispatch

> Second of all, how does this affect the normal way things are done?

X server has a single queue of requests, which processed
sequentially.
Some applications for various reasons, either block the queue or
handled too long.
And as a result - have dead GUI (server refuses to accept new requests
for processing, until the guilty process it works), and messages
similar to the following:
" ...
[mi] EQ overflowing.  Additional events will be discarded until
existing events are processed.
...
"
or any other type of "overflowing"...
It regards changes in mi/mieq.c and mi/mipointer.c

In this case using GCD queue handled on separate threads.
GUI - always responsive.

Yes - I suspect that there is a risk of attack on xorg-server where the
threads limit is exceeded in the system, but we can modify and somehow
eliminate in the future ...

> Thirdly, are there any plans to upstream this?

Unfortunately I'm not too familiar with the plans xorg community,
but xorg still single threaded and it s one of its key weaknesses.
I also do not have any information - whether GCD support in other
operating systems (likely they are united to advance wayland - not
xorg-server) which can be used xorg-server... So I think that these
changes will be specific only for FreeBSD.

Frankly, I think i do not have arguments and knowledge of the
English tongue, that would implement support GCD in upstream :)

> Lastly, which versions of xorg-server does this work with?

These changes were in xorg-server-1.12.4 and up...


Sorry for my english.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140421152732.716b897b>