[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#741190: qt4-x11: Improve atomic support on parisc



On 4/3/2014 10:19 PM, Lisandro Damián Nicanor Pérez Meyer wrote:
OK, here's what upstream replied wrt the patch:

   Sorry, there's no way we can accept this patch. It is totally binary-
   incompatible for PA-RISC since it changes the size of QAtomicInt.
   Debian will need to keep the patch and ensure that everything is built with
   the patch applied (or without it).
As noted in message #25, I was worried about this. However, this is an essential part of the change and I don't see any other way to resolve bug #708200. If you have any suggestions
for resolving it without changing qt4-x11, let me know.


   What's more, I m not sure that you can set the IS_WAIT_FREE macros, since
   they are probably not wait-free. Just because you removed the explicit lock
   doesn't mean GCC won't use one behind your back in the __sync functions. I
   know it does that for ARM for types whose size are not 4 bytes. And knowing
   PA-RISC doesn't have wait-free atomic instructions, I doubt GCC can do it
   wait free either.

I will not have any problem to keep this delta **if and only if** you can
prove is safe to set IS_WAIT_FREE macros.
Based on this page <http://qt-project.org/doc/qt-5/QAtomicInt.html>, the macro defines need to stay as they were before. The implementation is not lock or loop free. I will update the patch
and retest.

The compare and swap implementation is not in GCC but in the kernel.


If you can't, then you need another fix.

Tip: if you want to dig further in this subject, you might ask thiago on #qt
on freenode, he's the Qt core maintainer.

Kinds regards, Lisandro.

Thanks for helping.

Regards,
Dave

--
John David Anglin    dave.anglin@bell.net


Reply to: