From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/14488 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: James Y Knight Newsgroups: gmane.linux.lib.musl.general Subject: Support SIGEV_THREAD_ID Date: Thu, 1 Aug 2019 12:15:57 -0400 Message-ID: Reply-To: musl@lists.openwall.com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000221488058f109037" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="42511"; mail-complaints-to="usenet@blaine.gmane.org" To: musl@lists.openwall.com Original-X-From: musl-return-14504-gllmg-musl=m.gmane.org@lists.openwall.com Thu Aug 01 18:16:42 2019 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.89) (envelope-from ) id 1htDkv-000Awk-R0 for gllmg-musl@m.gmane.org; Thu, 01 Aug 2019 18:16:41 +0200 Original-Received: (qmail 5563 invoked by uid 550); 1 Aug 2019 16:16:37 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 5529 invoked from network); 1 Aug 2019 16:16:36 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=Y+EFrBjn6yBartU0smTnyWWfE0sgMueCMX4+W0oQh0k=; b=Kl4VEafr87+TukJH/KFdMR18Mj5O53HEcaC8yd+h23wMG5WuQHlReHsKI2nXyvXd10 k01pjnP0q2pdkZFcWECnd8USeZ1MjOWy6pWMokztjV3EHSMwWsUvBThR8h4qcQXrXvTz sx0LkUR8BdgndsS/MRF4jKl7wLMakfENVLUd1/gJFgLZ6CrUIb2RWUge7mhDOA875NYO Kt3a9MbyJSsU7p+v4zl/xwZ9CsRnHDYqKbEqitAhHHBn4K/6QjwpdlHeVWUju8pBSh5u WZuU5uUzWvOAcbUXAoKUNJky+08MyHEOnokBkgdkjT8jZZ/8LigGTucbDWUcF3kDRnP5 SXfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Y+EFrBjn6yBartU0smTnyWWfE0sgMueCMX4+W0oQh0k=; b=eTP3KiSGQDlMnJ6niGWnYBOihly7UIlU7KaVTbE+lw0+n7r94k+72z7QCpUkEwkYjp IMJf3yjuqa7YDmTmnk2faDkuWsQACOLYxfghHkcXyY4nELxyd5RaJ2PZGE9fYLuqGeos BumeT37hjqIIFJQuD1uyg0CLWMwAnzE3Y1Kv05O7OScFW4peINnbZX/Ws8KGPAERYPFf Mj4WEM88I1ym6TXcXx8KTos5ru39h7NN124mk3DjIAfWwNX3PKPqpjGQAfeB6l/vHSU+ 17HSmjBhd7WgnagjezuzXaLq3XZlceb+z7N8FSauTMO6i9VtKXB4T6L/lAnSngOLg7EI pK0A== X-Gm-Message-State: APjAAAWrWeJY/rB8ByVrdKF6uu710CnjNsJxODHiWajmU/J336eK9bmj /Www+JAuRAczE/JHKESEwxSfm6WcyzhoX08KCeUCFT8oBBcrSw== X-Google-Smtp-Source: APXvYqw/afIAUaeZP1CP1aunoNDb7WrerASjkQ6fU5DHwwwj96yvKCfUqkCc5OuvlRqVH060VvLAMkPFSNcM8P3gGy8= X-Received: by 2002:a1f:49c4:: with SMTP id w187mr10809361vka.35.1564676183909; Thu, 01 Aug 2019 09:16:23 -0700 (PDT) Xref: news.gmane.org gmane.linux.lib.musl.general:14488 Archived-At: --000000000000221488058f109037 Content-Type: text/plain; charset="UTF-8" There seems to be some debate in glibc over whether this API should be supported, due to the long-standing debate about "pthread_t" vs "kernel tid" APIs. (And this API uses kernel tids, of course.) One proposal from previous glibc discussion was to add a SIGEV_PTHREAD_ID, which takes a pthread_t, instead of a kernel tid. Nobody has done this yet, and I'd note that if it is done, that is not at all incompatible with also continuing to support SIGEV_THREAD_ID. (Just like both sched_setaffinity and pthread_setaffinity_np exist without issue). Despite that discussion, SIGEV_THREAD_ID functionality does in fact work with glibc -- it provides the SIGEV_THREAD_ID define in its headers, and it defines the same 'struct sigevent' as the kernel does, including a _tid member. The only thing it's missing is the field name "sigev_notify_thread_id" -- so users are simply doing "#define sigev_notify_thread_id _sigev_un._tid" as a workaround (ugh). However, it does _not_ work today with musl, as musl's timer_create function translates the user-facing struct to a separate kernel-facing structure. Given long-standing usage of this feature, and given that potential future directions are additive, not conflicting, ISTM reasonable to just add support for this to musl. --000000000000221488058f109037 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Add-support-for-SIGEV_THREAD_ID-and-sigev_notify_thr.patch" Content-Disposition: attachment; filename="0001-Add-support-for-SIGEV_THREAD_ID-and-sigev_notify_thr.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jysvok1e0 RnJvbSAwYTBhZWY3NTlmMjE2NDQ0ZjU1OGY0Mjc0NjZiNDdmMzhkNjc4MDUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYW1lcyBZIEtuaWdodCA8anlrbmlnaHRAZ29vZ2xlLmNvbT4K RGF0ZTogU3VuLCAzMCBKdW4gMjAxOSAyMTo1NToyMCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIEFk ZCBzdXBwb3J0IGZvciBTSUdFVl9USFJFQURfSUQgYW5kIHNpZ2V2X25vdGlmeV90aHJlYWRfaWQu CgpUaGlzIGlzIGxpa2UgU0lHRVZfU0lHTkFMLCBidXQgdGFyZ2V0ZWQgdG8gYSBwYXJ0aWN1bGFy IHRocmVhZCdzCnRpZCwgcmF0aGVyIHRoYW4gdGhlIHByb2Nlc3MuCi0tLQogaW5jbHVkZS9zaWdu YWwuaCAgICAgICAgfCAxNiArKysrKysrKysrKysrLS0tCiBzcmMvdGltZS90aW1lcl9jcmVhdGUu YyB8ICA4ICsrKysrKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDUgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zaWduYWwuaCBiL2luY2x1ZGUvc2lnbmFs LmgKaW5kZXggNWM0OGNiODMuLjczNWUwYWM3IDEwMDY0NAotLS0gYS9pbmNsdWRlL3NpZ25hbC5o CisrKyBiL2luY2x1ZGUvc2lnbmFsLmgKQEAgLTE4MCwxNCArMTgwLDI0IEBAIHN0cnVjdCBzaWdl dmVudCB7CiAJdW5pb24gc2lndmFsIHNpZ2V2X3ZhbHVlOwogCWludCBzaWdldl9zaWdubzsKIAlp bnQgc2lnZXZfbm90aWZ5OwotCXZvaWQgKCpzaWdldl9ub3RpZnlfZnVuY3Rpb24pKHVuaW9uIHNp Z3ZhbCk7Ci0JcHRocmVhZF9hdHRyX3QgKnNpZ2V2X25vdGlmeV9hdHRyaWJ1dGVzOwotCWNoYXIg X19wYWRbNTYtMypzaXplb2YobG9uZyldOworCXVuaW9uIHsKKwkJY2hhciBfX3BhZFs2NCAtIDIq c2l6ZW9mKGludCkgLSBzaXplb2YodW5pb24gc2lndmFsKV07CisJCXBpZF90IHNpZ2V2X25vdGlm eV90aHJlYWRfaWQ7CisJCXN0cnVjdCB7CisJCQl2b2lkICgqc2lnZXZfbm90aWZ5X2Z1bmN0aW9u KSh1bmlvbiBzaWd2YWwpOworCQkJcHRocmVhZF9hdHRyX3QgKnNpZ2V2X25vdGlmeV9hdHRyaWJ1 dGVzOworCQl9IF9fc2V2X3RocmVhZDsKKwl9IF9fc2V2X2ZpZWxkczsKIH07CiAKKyNkZWZpbmUg c2lnZXZfbm90aWZ5X3RocmVhZF9pZCBfX3Nldl9maWVsZHMuc2lnZXZfbm90aWZ5X3RocmVhZF9p ZAorI2RlZmluZSBzaWdldl9ub3RpZnlfZnVuY3Rpb24gX19zZXZfZmllbGRzLl9fc2V2X3RocmVh ZC5zaWdldl9ub3RpZnlfZnVuY3Rpb24KKyNkZWZpbmUgc2lnZXZfbm90aWZ5X2F0dHJpYnV0ZXMg X19zZXZfZmllbGRzLl9fc2V2X3RocmVhZC5zaWdldl9ub3RpZnlfYXR0cmlidXRlcworCiAjZGVm aW5lIFNJR0VWX1NJR05BTCAwCiAjZGVmaW5lIFNJR0VWX05PTkUgMQogI2RlZmluZSBTSUdFVl9U SFJFQUQgMgorI2RlZmluZSBTSUdFVl9USFJFQURfSUQgNCAvKiBMaW51eCBleHRlbnNpb24gKi8K IAogaW50IF9fbGliY19jdXJyZW50X3NpZ3J0bWluKHZvaWQpOwogaW50IF9fbGliY19jdXJyZW50 X3NpZ3J0bWF4KHZvaWQpOwpkaWZmIC0tZ2l0IGEvc3JjL3RpbWUvdGltZXJfY3JlYXRlLmMgYi9z cmMvdGltZS90aW1lcl9jcmVhdGUuYwppbmRleCBjNWU0MGExOS4uNWEzZjRkM2EgMTAwNjQ0Ci0t LSBhL3NyYy90aW1lL3RpbWVyX2NyZWF0ZS5jCisrKyBiL3NyYy90aW1lL3RpbWVyX2NyZWF0ZS5j CkBAIC04MywxMSArODMsMTUgQEAgaW50IHRpbWVyX2NyZWF0ZShjbG9ja2lkX3QgY2xrLCBzdHJ1 Y3Qgc2lnZXZlbnQgKnJlc3RyaWN0IGV2cCwgdGltZXJfdCAqcmVzdHJpY3QKIAlzd2l0Y2ggKGV2 cCA/IGV2cC0+c2lnZXZfbm90aWZ5IDogU0lHRVZfU0lHTkFMKSB7CiAJY2FzZSBTSUdFVl9OT05F OgogCWNhc2UgU0lHRVZfU0lHTkFMOgorCWNhc2UgU0lHRVZfVEhSRUFEX0lEOgogCQlpZiAoZXZw KSB7CiAJCQlrc2V2LnNpZ2V2X3ZhbHVlID0gZXZwLT5zaWdldl92YWx1ZTsKIAkJCWtzZXYuc2ln ZXZfc2lnbm8gPSBldnAtPnNpZ2V2X3NpZ25vOwogCQkJa3Nldi5zaWdldl9ub3RpZnkgPSBldnAt PnNpZ2V2X25vdGlmeTsKLQkJCWtzZXYuc2lnZXZfdGlkID0gMDsKKwkJCWlmIChldnAtPnNpZ2V2 X25vdGlmeSA9PSBTSUdFVl9USFJFQURfSUQpCisJCQkJa3Nldi5zaWdldl90aWQgPSBldnAtPnNp Z2V2X25vdGlmeV90aHJlYWRfaWQ7CisJCQllbHNlCisJCQkJa3Nldi5zaWdldl90aWQgPSAwOwog CQkJa3NldnAgPSAma3NldjsKIAkJfQogCQlpZiAoc3lzY2FsbChTWVNfdGltZXJfY3JlYXRlLCBj bGssIGtzZXZwLCAmdGltZXJpZCkgPCAwKQpAQCAtMTE1LDcgKzExOSw3IEBAIGludCB0aW1lcl9j cmVhdGUoY2xvY2tpZF90IGNsaywgc3RydWN0IHNpZ2V2ZW50ICpyZXN0cmljdCBldnAsIHRpbWVy X3QgKnJlc3RyaWN0CiAKIAkJa3Nldi5zaWdldl92YWx1ZS5zaXZhbF9wdHIgPSAwOwogCQlrc2V2 LnNpZ2V2X3NpZ25vID0gU0lHVElNRVI7Ci0JCWtzZXYuc2lnZXZfbm90aWZ5ID0gNDsgLyogU0lH RVZfVEhSRUFEX0lEICovCisJCWtzZXYuc2lnZXZfbm90aWZ5ID0gU0lHRVZfVEhSRUFEX0lEOwog CQlrc2V2LnNpZ2V2X3RpZCA9IHRkLT50aWQ7CiAJCWlmIChzeXNjYWxsKFNZU190aW1lcl9jcmVh dGUsIGNsaywgJmtzZXYsICZ0aW1lcmlkKSA8IDApCiAJCQl0aW1lcmlkID0gLTE7Ci0tIAoyLjIy LjAuNzA5LmcxMDIzMDIxNDdiLWdvb2cKCg== --000000000000221488058f109037--