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>