From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27686 invoked by alias); 19 Feb 2008 17:52:40 -0000 Received: (qmail 27668 invoked by uid 22791); 19 Feb 2008 17:52:38 -0000 X-Spam-Check-By: sourceware.org Received: from fk-out-0910.google.com (HELO fk-out-0910.google.com) (209.85.128.191) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 19 Feb 2008 17:52:21 +0000 Received: by fk-out-0910.google.com with SMTP id 26so2790001fkx.8 for ; Tue, 19 Feb 2008 09:52:14 -0800 (PST) Received: by 10.82.161.19 with SMTP id j19mr13053006bue.29.1203443533673; Tue, 19 Feb 2008 09:52:13 -0800 (PST) Received: by 10.82.162.12 with HTTP; Tue, 19 Feb 2008 09:52:13 -0800 (PST) Message-ID: <8f2776cb0802190952i4a61d5ciadcde330f8c9cf6f@mail.gmail.com> Date: Tue, 19 Feb 2008 18:03:00 -0000 From: "Jim Blandy" To: "Mark Kettenis" Subject: Re: gdb.threads/sigthread.c Cc: gdb@sourceware.org In-Reply-To: <200802180903.m1I93FC0007574@brahms.sibelius.xs4all.nl> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_9505_29782374.1203443533644" References: <200802180903.m1I93FC0007574@brahms.sibelius.xs4all.nl> X-Google-Sender-Auth: 7501380ef52755a5 X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2008-02/txt/msg00131.txt.bz2 ------=_Part_9505_29782374.1203443533644 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Content-length: 1353 On Feb 18, 2008 1:03 AM, Mark Kettenis wrote: > You recently changed gdb.threads/sigthread.c to use barriers. > Unfortunately the pthread_barrier_xxx() interfaces are not found in > the standard POSIX threads standard, but part of the Advanced Realtime > Threads POSIX extension. Therefore they are not widely available. Yeah, I mentioned this concern when I posted the patch. I guess we know now. > Could you change the test to use a more standard synchronisation > mechanism? I guess having a global variable of type volatile > sig_atomic_t, setting it to a non-zero value in main() (after the > threads have been created) and checking the value in child_two() and > thread_function() (perhaps calling sched_yield() if the variables > isn't set yet) would do the trick. I'll bet this isn't the only test in the test suite that would like some barriers. How does the attached look? > I can roll you a diff to do this if you want, but I don't think I have > access to a system that shows the problem you tried to fix. I developed the fix on a Core 2 Duo laptop running Linux, running 'while true; do :;done' in a few windows while running the test over and over again as 'while runtest sigthread.exp; do :;done'. Or something like that. It sometimes took a half-dozen iterations or so, but it would fail eventually. ------=_Part_9505_29782374.1203443533644 Content-Type: text/x-patch; name=jimb.gdb-barriers.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_fcur6xjp0 Content-Disposition: attachment; filename=jimb.gdb-barriers.patch Content-length: 7727 Z2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6CjIwMDgtMDItMTkgIEppbSBCbGFu ZHkgIDxqaW1iQHJlZC1iZWFuLmNvbT4KCgkqIGdkYi50aHJlYWRzL2dkYi1i YXJyaWVyLmMsIGdkYi50aHJlYWRzL2dkYi1iYXJyaWVyLmg6IE5ldyBmaWxl cy4KCSogZ2RiLnRocmVhZHMvc2lndGhyZWFkLmM6IFVzZSB0aGUgZ2RiIGJh cnJpZXIsIG5vdCB0aGUgUE9TSVgKCWJhcnJpZXJzLCB3aGljaCBhcmUgb3B0 aW9uYWwuCgkqIGdkYi50aHJlYWRzL3NpZ3RocmVhZC5leHA6IExpbmsgdGhl IHByb2dyYW0gd2l0aCBnZGItYmFycmllci5jLgoKZGlmZiAtciBiNzJjZjg2 ZjlkYWQgZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9nZGItYmFycmllci5j Ci0tLSAvZGV2L251bGwJVGh1IEphbiAwMSAwMDowMDowMCAxOTcwICswMDAw CisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvZ2RiLWJhcnJpZXIu YwlUdWUgRmViIDE5IDA5OjQ5OjU2IDIwMDggLTA4MDAKQEAgLTAsMCArMSw3 MCBAQAorLyogZ2RiLWJhcnJpZXIuYyAtLS0gYSBwb3J0YWJsZSBpbXBsZW1l bnRhdGlvbiBvZiBiYXJyaWVycy4gICovCisKKyNpbmNsdWRlIDxzdHJpbmcu aD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgor I2luY2x1ZGUgPHB0aHJlYWQuaD4KKworLyogVGhlIGhlYWRlciBmaWxlIGhh cyBtb3JlIGNvbW1lbnRzIGFuZCBleHBsYW5hdGlvbi4gICovCisjaW5jbHVk ZSAiZ2RiLWJhcnJpZXIuaCIKKworc3RhdGljIHZvaWQKK2NoZWNrIChpbnQg cmVzdWx0LCBjaGFyICp3aGF0KQoreworICBpZiAocmVzdWx0KQorICAgIHsK KyAgICAgIGZwcmludGYgKHN0ZGVyciwgImVycm9yOiAlczogJXNcbiIsIHdo YXQsIHN0cmVycm9yIChyZXN1bHQpKTsKKyAgICAgIGV4aXQgKDEpOworICAg IH0KK30KKworCit2b2lkCitnZGJfYmFycmllcl9pbml0IChzdHJ1Y3QgZ2Ri X2JhcnJpZXIgKmIsIGludCBuKQoreworICBtZW1zZXQgKGIsIDAsIHNpemVv ZiAoKmIpKTsKKyAgY2hlY2sgKHB0aHJlYWRfbXV0ZXhfaW5pdCAoJmItPm0s IE5VTEwpLAorICAgICAgICAgImluaXRpYWxpemluZyBiYXJyaWVyIG11dGV4 Iik7CisgIGNoZWNrIChwdGhyZWFkX2NvbmRfaW5pdCAoJmItPmMsIE5VTEwp LAorICAgICAgICAgImluaXRpYWxpemluZyBiYXJyaWVyIGNvbmRpdGlvbiIp OworICBiLT5mdWxsX2NvdW50ID0gbjsKKyAgYi0+cGVuZGluZyA9IG47Cit9 CisKKworaW50CitnZGJfYmFycmllcl93YWl0IChzdHJ1Y3QgZ2RiX2JhcnJp ZXIgKmIpCit7CisgIGludCByZXN1bHQ7CisKKyAgY2hlY2sgKHB0aHJlYWRf bXV0ZXhfbG9jayAoJmItPm0pLAorICAgICAgICAgImxvY2tpbmcgYmFycmll ciBtdXRleCIpOworICB7CisgICAgaW50IG15X2N5Y2xlID0gYi0+Y3ljbGU7 CisKKyAgICBiLT5wZW5kaW5nLS07CisgICAgaWYgKGItPnBlbmRpbmcgPiAw KQorICAgICAgeworICAgICAgICByZXN1bHQgPSAwOworCisgICAgICAgIC8q IENvbmRpdGlvbiB2YXJpYWJsZXMgYXJlIGFsbG93ZWQgdG8gbGV0IHRocmVh ZHMgd2FrZSB1cAorICAgICAgICAgICBzcHVyaW91c2x5LCBzbyB3ZSBuZWVk IHRvIHZlcmlmeSB0aGF0IHRoZSBiYXJyaWVyIGhhcyBtb3ZlZAorICAgICAg ICAgICBvbiB0byB0aGUgbmV4dCBjeWNsZSwgYW5kIHdhaXQgYWdhaW4gaWYg aXQgaGFzbid0LiAgKi8KKyAgICAgICAgd2hpbGUgKGItPmN5Y2xlID09IG15 X2N5Y2xlKQorICAgICAgICAgIGNoZWNrIChwdGhyZWFkX2NvbmRfd2FpdCAo JmItPmMsICZiLT5tKSwKKyAgICAgICAgICAgICAgICAgIndhaXRpbmcgb24g YmFycmllciBjb25kaXRpb24iKTsKKyAgICAgIH0KKyAgICBlbHNlCisgICAg ICB7CisgICAgICAgIHJlc3VsdCA9IDE7CisgICAgICAgIGItPmN5Y2xlKys7 CisgICAgICAgIGItPnBlbmRpbmcgPSBiLT5mdWxsX2NvdW50OworICAgICAg ICBjaGVjayAocHRocmVhZF9jb25kX2Jyb2FkY2FzdCAoJmItPmMpLAorICAg ICAgICAgICAgICAgImJyb2FkY2FzdGluZyBiYXJyaWVyIGNvbmRpdGlvbiIp OworICAgICAgfQorICB9CisgIGNoZWNrIChwdGhyZWFkX211dGV4X3VubG9j ayAoJmItPm0pLAorICAgICAgICAgInJlbGVhc2luZyBiYXJyaWVyIG11dGV4 Iik7CisKKyAgcmV0dXJuIHJlc3VsdDsKK30KZGlmZiAtciBiNzJjZjg2Zjlk YWQgZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9nZGItYmFycmllci5oCi0t LSAvZGV2L251bGwJVGh1IEphbiAwMSAwMDowMDowMCAxOTcwICswMDAwCisr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvZ2RiLWJhcnJpZXIuaAlU dWUgRmViIDE5IDA5OjUwOjM4IDIwMDggLTA4MDAKQEAgLTAsMCArMSwzNCBA QAorLyogZ2RiLWJhcnJpZXIuaCAtLS0gYmFycmllcnMgYnVpbHQgb24gUE9T SVgtb25seSB0aHJlYWQgcHJpbWl0aXZlcy4gICovCisKKyNpZm5kZWYgR0RC X0JBUlJJRVJfSAorI2RlZmluZSBHREJfQkFSUklFUl9ICisKKyNpbmNsdWRl IDxwdGhyZWFkLmg+CisKKy8qIFBPU0lYIGRvZXMgcHJvdmlkZSBiYXJyaWVy cywgYnV0IHRoZXkncmUgb3B0aW9uYWwsIGFuZCBub3QgYWxsCisgICBzeXN0 ZW1zIGltcGxlbWVudCB0aGVtLiAgVGhpcyBpcyBhIHNpbXBsZSBpbXBsZW1l bnRhdGlvbiBvZgorICAgYmFycmllcnMgaW4gdGVybXMgb2YgdGhlIG5vbi1v cHRpb25hbCBQT1NJWCB0aHJlYWRzIG9wZXJhdGlvbnMuICAqLworCitzdHJ1 Y3QgZ2RiX2JhcnJpZXIKK3sKKyAgcHRocmVhZF9tdXRleF90IG07ICAgICAg ICAgICAgLyogTXV0ZXggcHJvdGVjdGluZyB0aGlzIGJhcnJpZXIuICAqLwor ICBwdGhyZWFkX2NvbmRfdCBjOyAgICAgICAgICAgICAvKiBRdWV1ZSBvZiB0 aHJlYWRzIHdhaXRpbmcgYXQgYmFycmllci4gICovCisKKyAgaW50IGZ1bGxf Y291bnQ7ICAgICAgICAgICAgICAgLyogTnVtYmVyIG9mIHRocmVhZHMgdGhp cyBiYXJyaWVyIHN0b3BzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHBlciBjeWNsZS4qLworICBpbnQgcGVuZGluZzsgICAgICAgICAg ICAgICAgICAvKiBOdW1iZXIgb2YgdGhyZWFkcyBsZWZ0IHRvIHdhaXQgZm9y LiAgKi8KKyAgaW50IGN5Y2xlOyAgICAgICAgICAgICAgICAgICAgLyogQ3Vy cmVudCBjeWNsZSBudW1iZXIuICAqLworfTsKKworCisvKiBJbml0aWFsaXpl ICpCIHdpdGggYSBjb3VudCBvZiBOICh1c2VkIGJ5IGdkYl9iYXJyaWVyX3dh aXQ7IHNlZQorICAgYmVsb3cpLiAgRXhpdCBvbiBmYWlsdXJlLiAgKi8KK2V4 dGVybiB2b2lkIGdkYl9iYXJyaWVyX2luaXQgKHN0cnVjdCBnZGJfYmFycmll ciAqYiwgaW50IG4pOworCisvKiBXYWl0IGF0IGJhcnJpZXIgKkIuICBPbmNl IE4gdGhyZWFkcyBhcmUgd2FpdGluZyBvbiB0aGUgYmFycmllciwKKyAgIHRo b3NlIE4gdGhyZWFkcyBhcmUgYWxsb3dlZCB0byBjb250aW51ZS4gIFRoaXMg ZnVuY3Rpb24gcmV0dXJucworICAgdHJ1ZSBpbiBleGFjdGx5IG9uZSBvZiB0 aGUgTiB0aHJlYWRzIGFsbG93ZWQgdG8gY29udGludWUsIGFuZCBmYWxzZQor ICAgaW4gdGhlIG90aGVyIE4tMSB0aHJlYWRzLiAgRXhpdCBvbiBmYWlsdXJl LiAgKi8KK2V4dGVybiBpbnQgZ2RiX2JhcnJpZXJfd2FpdCAoc3RydWN0IGdk Yl9iYXJyaWVyICpiKTsKKworI2VuZGlmIC8qIEdEQl9CQVJSSUVSX0ggKi8K ZGlmZiAtciBiNzJjZjg2ZjlkYWQgZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFk cy9zaWd0aHJlYWQuYwotLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRz L3NpZ3RocmVhZC5jCVR1ZSBGZWIgMTkgMDk6MzY6MzQgMjAwOCAtMDgwMAor KysgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL3NpZ3RocmVhZC5jCVR1 ZSBGZWIgMTkgMDk6Mzc6MTMgMjAwOCAtMDgwMApAQCAtMTUsMTIgKzE1LDE0 IEBACiAjaW5jbHVkZSA8cHRocmVhZC5oPgogI2luY2x1ZGUgPHNpZ25hbC5o PgogCisjaW5jbHVkZSAiZ2RiLWJhcnJpZXIuaCIKKwogLyogTG9vcCBsb25n IGVub3VnaCBmb3IgR0RCIHRvIHNlbmQgYSBmZXcgc2lnbmFscyBvZiBpdHMg b3duLCBidXQKICAgIGRvbid0IGhhbmcgYXJvdW5kIGVhdGluZyBDUFUgZm9y ZXZlciBpZiBzb21ldGhpbmcgZ29lcyB3cm9uZyBkdXJpbmcKICAgIHRlc3Rp bmcuICAqLwogI2RlZmluZSBOU0lHUyAxMDAwMDAwMAogCi1wdGhyZWFkX2Jh cnJpZXJfdCBiYXJyaWVyOworc3RydWN0IGdkYl9iYXJyaWVyIGJhcnJpZXI7 CiAKIHZvaWQKIGhhbmRsZXIgKGludCBzaWcpCkBAIC0zNiw3ICszOCw3IEBA IGNoaWxkX3R3byAodm9pZCAqYXJnKQogewogICBpbnQgaTsKIAotICBwdGhy ZWFkX2JhcnJpZXJfd2FpdCAoJmJhcnJpZXIpOworICBnZGJfYmFycmllcl93 YWl0ICgmYmFycmllcik7CiAKICAgZm9yIChpID0gMDsgaSA8IE5TSUdTOyBp KyspCiAgICAgcHRocmVhZF9raWxsIChjaGlsZF90aHJlYWQsIFNJR1VTUjEp OwpAQCAtNDcsNyArNDksNyBAQCB0aHJlYWRfZnVuY3Rpb24gKHZvaWQgKmFy ZykKIHsKICAgaW50IGk7CiAKLSAgcHRocmVhZF9iYXJyaWVyX3dhaXQgKCZi YXJyaWVyKTsKKyAgZ2RiX2JhcnJpZXJfd2FpdCAoJmJhcnJpZXIpOwogCiAg IGZvciAoaSA9IDA7IGkgPCBOU0lHUzsgaSsrKQogICAgIHB0aHJlYWRfa2ls bCAoY2hpbGRfdGhyZWFkX3R3bywgU0lHVVNSMik7CkBAIC02MCwxMyArNjIs MTMgQEAgaW50IG1haW4oKQogICBzaWduYWwgKFNJR1VTUjEsIGhhbmRsZXIp OwogICBzaWduYWwgKFNJR1VTUjIsIGhhbmRsZXIpOwogCi0gIHB0aHJlYWRf YmFycmllcl9pbml0ICgmYmFycmllciwgTlVMTCwgMyk7CisgIGdkYl9iYXJy aWVyX2luaXQgKCZiYXJyaWVyLCAzKTsKIAogICBtYWluX3RocmVhZCA9IHB0 aHJlYWRfc2VsZiAoKTsKICAgcHRocmVhZF9jcmVhdGUgKCZjaGlsZF90aHJl YWQsIE5VTEwsIHRocmVhZF9mdW5jdGlvbiwgTlVMTCk7CiAgIHB0aHJlYWRf Y3JlYXRlICgmY2hpbGRfdGhyZWFkX3R3bywgTlVMTCwgY2hpbGRfdHdvLCBO VUxMKTsKIAotICBwdGhyZWFkX2JhcnJpZXJfd2FpdCAoJmJhcnJpZXIpOwor ICBnZGJfYmFycmllcl93YWl0ICgmYmFycmllcik7CiAKICAgZm9yIChpID0g MDsgaSA8IE5TSUdTOyBpKyspCiAgICAgcHRocmVhZF9raWxsIChjaGlsZF90 aHJlYWRfdHdvLCBTSUdVU1IxKTsKZGlmZiAtciBiNzJjZjg2ZjlkYWQgZ2Ri L3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9zaWd0aHJlYWQuZXhwCi0tLSBhL2dk Yi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvc2lndGhyZWFkLmV4cAlUdWUgRmVi IDE5IDA5OjM2OjM0IDIwMDggLTA4MDAKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIudGhyZWFkcy9zaWd0aHJlYWQuZXhwCVR1ZSBGZWIgMTkgMDk6Mzc6MTMg MjAwOCAtMDgwMApAQCAtMTgsNyArMTgsOSBAQCBzZXQgc3JjZmlsZSAke3Rl c3RmaWxlfS5jCiBzZXQgc3JjZmlsZSAke3Rlc3RmaWxlfS5jCiBzZXQgYmlu ZmlsZSAke29iamRpcn0vJHtzdWJkaXJ9LyR7dGVzdGZpbGV9CiAKLWlmIHtb Z2RiX2NvbXBpbGVfcHRocmVhZHMgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtz cmNmaWxlfSIgIiR7YmluZmlsZX0iIFwKK2lmIHtbZ2RiX2NvbXBpbGVfcHRo cmVhZHMgXAorICAgICAgICAgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzcmNm aWxlfSAke3NyY2Rpcn0vJHtzdWJkaXJ9L2dkYi1iYXJyaWVyLmMiIFwKKyAg ICAgICAgICIke2JpbmZpbGV9IiBcCiAJIGV4ZWN1dGFibGUgeyBkZWJ1ZyB9 XSAhPSAiIiB9IHsKICAgICByZXR1cm4gLTEKIH0K ------=_Part_9505_29782374.1203443533644--