From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Campbell Barton Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] support for accessing CPU/core count (processor-count) Date: Mon, 11 Oct 2021 12:51:26 +1100 Message-ID: References: <87y270bazi.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------ouhxa0P7nvfJtnh9xGJzZgIW" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32397"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Oct 11 03:53:55 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mZkVm-0008LR-Oz for ged-emacs-devel@m.gmane-mx.org; Mon, 11 Oct 2021 03:53:54 +0200 Original-Received: from localhost ([::1]:53222 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mZkVl-0005Sx-Nz for ged-emacs-devel@m.gmane-mx.org; Sun, 10 Oct 2021 21:53:53 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55244) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mZkTZ-0002uI-Qn for emacs-devel@gnu.org; Sun, 10 Oct 2021 21:51:38 -0400 Original-Received: from mail-pl1-x62e.google.com ([2607:f8b0:4864:20::62e]:39647) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mZkTY-0000SP-AN for emacs-devel@gnu.org; Sun, 10 Oct 2021 21:51:37 -0400 Original-Received: by mail-pl1-x62e.google.com with SMTP id c4so10218498pls.6 for ; Sun, 10 Oct 2021 18:51:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :references:from:in-reply-to; bh=NFbxlkqqIDtJoQvtnLiuOVn3+ZXKiZkPaz5gXEkTdJk=; b=Dc+2XGGI7g/uEKvaPL/NIeYB6E9G4pgG7ALBt8eYfRRib58xP2MuaGwjmR25eKbaoE rLh2RcZS9NmeIPeEm5fp+yxlZWtl35rxzOVQje+FCpbKKOTEH5+v1TDwUBTBtb/jF1yj 3uzd8y/BrXBIs21B3jxSBxUN8Gn38ySw270AWnyXR3kboyqdGJc/Y4OL9b6P7zm9QgPM FXLSNyBlI2KCLFIeXVoWrWzFJCUTGT5afn/raYSGHIJ9jWUgyv+amkfNHA1DFI/AUzMN DyY6kkgNUAtUEmWJOwx6N0UE7KGCsbw31bSZrxzBDBQifjyZZAaZ3CCMrVQ4xDXyh2p3 z3ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:references:from:in-reply-to; bh=NFbxlkqqIDtJoQvtnLiuOVn3+ZXKiZkPaz5gXEkTdJk=; b=SOOJNUQOYDPeiea7cfLs+6vPfvnnobIJ8j/sRMt4/c07wnXTVhWaBI8RrunjN9j+lF 0IZ5sPWKAEUupVPxNDWUCd7D1bRbc3AiIwQDb1qosgqOeRHYnMHRC3jqb4XBfqcIBzkI 0Y96YfpXcx+UnTmE1Sg9mMTlhJXsOuotDz8ag/gGwhhX9+8yYA3+YAabE5F1YiGrZtZJ CWruoz5SooEmZHripJylOqDoY5g64hHuH+jwlIax6b8V+LFrmlfdijpWRUZFK2qio1xs oY9D4gVVT6GoUY39S6DmRypjRE5nG0dXo0MqCXKRXMQjGBKWwoB9i2zFUDmZgzTQeEu3 W+HQ== X-Gm-Message-State: AOAM531k8hrUcMpPithojLWES/XdtNTV9SUAMWL7pFr866+5KrFYHYc2 rewV+qBisQi7ICT7SYK1yHqw2b6vweE= X-Google-Smtp-Source: ABdhPJyRrSQEclCv+i1+OmBjQKLc/8ld6imDwOURHCh2qulxXYmsBCExbr2uWN0u1XzP1ftSXPu96Q== X-Received: by 2002:a17:90a:8b8d:: with SMTP id z13mr27835523pjn.214.1633917089598; Sun, 10 Oct 2021 18:51:29 -0700 (PDT) Original-Received: from ?IPV6:2402:b801:2844:2100::1? ([2402:b801:2844:2100::1]) by smtp.gmail.com with ESMTPSA id z71sm4099245pfc.19.2021.10.10.18.51.28 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 10 Oct 2021 18:51:29 -0700 (PDT) Content-Language: en-US In-Reply-To: <87y270bazi.fsf@yahoo.com> Received-SPF: pass client-ip=2607:f8b0:4864:20::62e; envelope-from=ideasman42@gmail.com; helo=mail-pl1-x62e.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:276718 Archived-At: This is a multi-part message in MIME format. --------------ouhxa0P7nvfJtnh9xGJzZgIW Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 10/11/21 12:34, Po Lu wrote: > Campbell Barton writes: > >> Hi, this patch adds support for accessing the number of CPU's / cores >> on a system, matching CPython's multiprocessing.cpu_count() [0]. > > Forgive me if I'm wrong, but doesn't this belong in sysdep.c, and not > emacs.c? > This seems like a better location. Updated the patch, including OpenBSD's ncpuonline support from Omar Polo. --------------ouhxa0P7nvfJtnh9xGJzZgIW Content-Type: text/x-patch; charset=UTF-8; name="0001-processor-count.patch" Content-Disposition: attachment; filename="0001-processor-count.patch" Content-Transfer-Encoding: base64 Y29tbWl0IDMzNmFmZmU5Mjc3ZmQwZGVlMWQ2YmVjMDI4YmIxN2YwODBhODQxYWYKQXV0aG9y OiBDYW1wYmVsbCBCYXJ0b24gPGlkZWFzbWFuNDJAZ21haWwuY29tPgpEYXRlOiAgIFN1biBP Y3QgMTAgMTA6MTY6NDcgMjAyMSArMTEwMAoKICAgIFN1cHBvcnQgYWNjZXNzaW5nIHRoZSBu dW1iZXIgb2YgcHJvY2Vzc29ycwogICAgCiAgICBBZGQgKHByb2Nlc3Nvci1jb3VudCkgZm9y IGFjY2Vzc2luZyB0aGUgbnVtYmVyIG9mIGNvcmVzL0NQVSdzLgoKZGlmZiAtLWdpdCBhL3Ny Yy9lbWFjcy5jIGIvc3JjL2VtYWNzLmMKaW5kZXggODY2ZTQzZmRhOS4uNTcxNTMyNWZmZSAx MDA2NDQKLS0tIGEvc3JjL2VtYWNzLmMKKysrIGIvc3JjL2VtYWNzLmMKQEAgLTMxNTYsNiAr MzE1NiwxNSBAQCBERUZVTiAoImRhZW1vbi1pbml0aWFsaXplZCIsIEZkYWVtb25faW5pdGlh bGl6ZWQsIFNkYWVtb25faW5pdGlhbGl6ZWQsIDAsIDAsIDAsCiAgIHJldHVybiBRdDsKIH0K IAorREVGVU4gKCJwcm9jZXNzb3ItY291bnQiLCBGcHJvY2Vzc29yX2NvdW50LCBTcHJvY2Vz c29yX2NvdW50LCAwLCAwLCAwLAorICAgICAgIGRvYzogLyogUmV0dXJuIHRoZSBudW1iZXIg b2YgcHJvY2Vzc29ycyBvbiB0aGlzIHN5c3RlbS4KKworVGhlIHZhbHVlIHdpbGwgYWx3YXlz IGJlIGFib3ZlIHplcm8sIDEgZm9yIHVuc3VwcG9ydGVkIHN5c3RlbXMuICAqLykKKyAgKHZv aWQpCit7CisgIHJldHVybiBtYWtlX2ZpeG51bSAoZ2V0X3Byb2Nlc3Nvcl9jb3VudCgpKTsK K30KKwogdm9pZAogc3ltc19vZl9lbWFjcyAodm9pZCkKIHsKQEAgLTMxNzYsNiArMzE4NSw3 IEBAIHN5bXNfb2ZfZW1hY3MgKHZvaWQpCiAgIGRlZnN1YnIgKCZTaW52b2NhdGlvbl9kaXJl Y3RvcnkpOwogICBkZWZzdWJyICgmU2RhZW1vbnApOwogICBkZWZzdWJyICgmU2RhZW1vbl9p bml0aWFsaXplZCk7CisgIGRlZnN1YnIgKCZTcHJvY2Vzc29yX2NvdW50KTsKIAogICBERUZW QVJfTElTUCAoImNvbW1hbmQtbGluZS1hcmdzIiwgVmNvbW1hbmRfbGluZV9hcmdzLAogCSAg ICAgICBkb2M6IC8qIEFyZ3MgcGFzc2VkIGJ5IHNoZWxsIHRvIEVtYWNzLCBhcyBhIGxpc3Qg b2Ygc3RyaW5ncy4KZGlmZiAtLWdpdCBhL3NyYy9saXNwLmggYi9zcmMvbGlzcC5oCmluZGV4 IDQ4MGMzODlhM2IuLmI3NGJjYWU3ZmIgMTAwNjQ0Ci0tLSBhL3NyYy9saXNwLmgKKysrIGIv c3JjL2xpc3AuaApAQCAtNDYxOCw2ICs0NjE4LDcgQEAgbWF5YmVfZGlzYWJsZV9hZGRyZXNz X3JhbmRvbWl6YXRpb24gKGludCBhcmdjLCBjaGFyICoqYXJndikKIGV4dGVybiBFTUFDU19J TlQgZ2V0X3JhbmRvbSAodm9pZCk7CiBleHRlcm4gdm9pZCBzZWVkX3JhbmRvbSAodm9pZCAq LCBwdHJkaWZmX3QpOwogZXh0ZXJuIHZvaWQgaW5pdF9yYW5kb20gKHZvaWQpOworZXh0ZXJu IGludCBnZXRfcHJvY2Vzc29yX2NvdW50ICh2b2lkKTsKIGV4dGVybiB2b2lkIGVtYWNzX2Jh Y2t0cmFjZSAoaW50KTsKIGV4dGVybiBBVk9JRCBlbWFjc19hYm9ydCAodm9pZCkgTk9fSU5M SU5FOwogZXh0ZXJuIGludCBlbWFjc19mc3RhdGF0IChpbnQsIGNoYXIgY29uc3QgKiwgdm9p ZCAqLCBpbnQpOwpkaWZmIC0tZ2l0IGEvc3JjL3N5c2RlcC5jIGIvc3JjL3N5c2RlcC5jCmlu ZGV4IDhlYWVlMjI0OTguLmE0NmUzY2UyMDAgMTAwNjQ0Ci0tLSBhL3NyYy9zeXNkZXAuYwor KysgYi9zcmMvc3lzZGVwLmMKQEAgLTIxODIsNiArMjE4MiwzOCBAQCBnZXRfcmFuZG9tICh2 b2lkKQogICByZXR1cm4gdmFsICYgSU5UTUFTSzsKIH0KIAorLyoKKyAqIFJldHVybiB0aGUg bnVtYmVyIG9mIENQVSdzIC8gY29yZXMgKD49IDEpLgorICovCitpbnQKK2dldF9wcm9jZXNz b3JfY291bnQgKHZvaWQpCit7CisgIGludCBucHJvYyA9IC0xOworI2lmZGVmIFdJTkRPV1NO VAorICBTWVNURU1fSU5GTyBpbmZvOworICBHZXRTeXN0ZW1JbmZvKCZpbmZvKTsKKyAgbnBy b2MgPSAoaW50KWluZm8uZHdOdW1iZXJPZlByb2Nlc3NvcnM7CisjZWxpZiBkZWZpbmVkIChI V19OQ1BVT05MSU5FKSB8fCBkZWZpbmVkIChIV19OQ1BVKQorICBpbnQgbWliWzJdOworICBz aXplX3QgbGVuOworCisgIG1pYlswXSA9IENUTF9IVzsKKyMgaWZkZWYgSFdfTkNQVU9OTElO RQorICBtaWJbMV0gPSBIV19OQ1BVT05MSU5FOworIyBlbHNlCisgIG1pYlsxXSA9IEhXX05D UFU7CisjIGVuZGlmCisgIGxlbiA9IHNpemVvZiBucHJvYzsKKyAgc3lzY3RsKG1pYiwgMiwg Jm5wcm9jLCAmbGVuLCBOVUxMLCAwKTsKKyNlbGlmIGRlZmluZWQgKF9faHB1eCkKKyAgbnBy b2MgPSBtcGN0bChNUENfR0VUTlVNU1BVUywgTlVMTCwgTlVMTCk7CisjZWxpZiBkZWZpbmVk IChfU0NfTlBST0NFU1NPUlNfT05MTikKKyAgbnByb2MgPSAoaW50KXN5c2NvbmYoX1NDX05Q Uk9DRVNTT1JTX09OTE4pOworI2VuZGlmCisKKyAgcmV0dXJuIChucHJvYyA+IDApID8gbnBy b2MgOiAxOworfQorCiAjaWZuZGVmIEhBVkVfU05QUklOVEYKIC8qIEFwcHJveGltYXRlIHNu cHJpbnRmIGFzIGJlc3Qgd2UgY2FuIG9uIGFuY2llbnQgaG9zdHMgdGhhdCBsYWNrIGl0LiAg Ki8KIGludAo= --------------ouhxa0P7nvfJtnh9xGJzZgIW--