From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk1-x735.google.com (mail-qk1-x735.google.com [IPv6:2607:f8b0:4864:20::735]) by sourceware.org (Postfix) with ESMTPS id 2EA983858C83; Wed, 15 Mar 2023 19:32:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2EA983858C83 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-qk1-x735.google.com with SMTP id bm1so2300770qkb.13; Wed, 15 Mar 2023 12:32:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678908732; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=ns6ttBXOONOwqSGEd4rpD6R6+3J7CZOVzBIjkjHc8gQ=; b=ETuI049n7Uypqx3W2gHNEmqNlInY47U9IwH6UkEkD1t3ubdNbNmhwK356flFKo47vG PjiKsmiCPskZJxS4UKLULde107cBROosGE7DYqxJuYOfv2DFdfZA5vR5cp1QkgTWW13U ZAcj0wjK6mBMr6RlroxlHTKUQ05CCiMAyigqADQpffx6vnZVrx5Ve63ylPFGs2qIXwsJ MfP9UOb/J+4dURCApg+cOM1o9jXgBGt0sx/0v1VFEE8mgfM/UW4GX6CxlU2IlmVoMD6o 3VQ5TSngLoWpWRos4QEDxOFlheOasZegrhK1u+duOThmKQgHTVR5oNMf7IjhfhO0d24D I+4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678908732; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=ns6ttBXOONOwqSGEd4rpD6R6+3J7CZOVzBIjkjHc8gQ=; b=s7kUHm9LEwBgELJuWCV8YbzuGGqLDnqNDQXusyYb9f3JVKkYb2pHYEvKHFa5NwbQ3k F1EepBJW7lElfsIqmjJNk2e8mKXzmCBoYsOEGkAJnIGUbYWkv3xGgcu7f2iX6r7CwqT0 5j/NiL6fZ/8rTdNsNyhRhq1tMmgQoohqL/5QaxJ60YRorHNbnWMC7nOuPtEoOMxF+RvS /lOYzpi6v+YyCV6XRqeqC9FLAsb6BGpAhvEBFexs6oJ+L6KHSa//XavOBofeqG5f+bVR tdxv8aYlTOibVW70APiIrgWKK17b+XdX3ydRH9SYvAMXil9rfrf5xv8EweoVTF4NHyCQ OOuQ== X-Gm-Message-State: AO0yUKW/4gu7Pl2FpOgQWSI26LJLcogYKu5qRLfl3Lpan6D0IY9azFTV 6yQx3r3HKc2mxccosy3/Ko10bP+gup0cY2OKur7NKpxI X-Google-Smtp-Source: AK7set9Oza7849joOnVIOk8QXMJPLd1FTNBwE5MzyXQgRJN7xJcr2OJjCRK1Wf9W07cRbxnQi9ZyTos2KNJlM0mrvog= X-Received: by 2002:a05:620a:146b:b0:742:839d:72e8 with SMTP id j11-20020a05620a146b00b00742839d72e8mr5640899qkl.5.1678908732207; Wed, 15 Mar 2023 12:32:12 -0700 (PDT) MIME-Version: 1.0 From: =?UTF-8?Q?Jannik_Gl=C3=BCckert?= Date: Wed, 15 Mar 2023 20:32:01 +0100 Message-ID: Subject: [PATCH v2 2/2] libstdc++: use copy_file_range, improve sendfile in filesystem::copy_file To: libstdc++@gcc.gnu.org Cc: gcc-patches@gcc.gnu.org Content-Type: multipart/mixed; boundary="000000000000982f8805f6f5660d" X-Spam-Status: No, score=-10.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --000000000000982f8805f6f5660d Content-Type: text/plain; charset="UTF-8" --000000000000982f8805f6f5660d Content-Type: text/x-patch; charset="UTF-8"; name="0002-libstdc-use-copy_file_range.patch" Content-Disposition: attachment; filename="0002-libstdc-use-copy_file_range.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lfa2wft50 RnJvbSBjMDI4YTAwNzJjNzU3M2NmYWM5MDI4OWIzNjA2YmExOWNiODI3MmE2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/SmFubmlrPTIwR2w9QzM9QkNja2VydD89IDxq YW5uaWsuZ2x1ZWNrZXJ0QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCA4IE1hciAyMDIzIDE5OjM3OjQz ICswMTAwClN1YmplY3Q6IFtQQVRDSCAyLzJdIGxpYnN0ZGMrKzogdXNlIGNvcHlfZmlsZV9yYW5n ZQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKY29weV9maWxlX3JhbmdlIGlzIGEg cmVjZW50LWlzaCBzeXNjYWxsIGZvciBjb3B5aW5nIGZpbGVzLiBJdCBpcyBzaW1pbGFyCnRvIHNl bmRmaWxlIGJ1dCBhbGxvd3MgZmlsZXN5c3RlbS1zcGVjaWZpYyBvcHRpbWl6YXRpb25zLiBDb21t b24gYXJlOgpSZWZsaW5rczogQlRSRlMsIFhGUywgWkZTIChkb2VzIG5vdCBpbXBsZW1lbnQgdGhl IHN5c2NhbGwgeWV0KQpTZXJ2ZXItc2lkZSBjb3B5OiBORlMsIFNNQiwgQ2VwaAoKSWYgY29weV9m aWxlX3JhbmdlIGlzIG5vdCBhdmFpbGFibGUgZm9yIHRoZSBnaXZlbiBmaWxlcywgZmFsbCBiYWNr IHRvCnNlbmRmaWxlIC8gdXNlcnNwYWNlIGNvcHkuCgpsaWJzdGRjKystdjMvQ2hhbmdlTG9nOgoK ICAgICAgICAqIGFjaW5jbHVkZS5tNCAoX0dMSUJDWFhfVVNFX0NPUFlfRklMRV9SQU5HRSk6IGRl ZmluZQogICAgICAgICogY29uZmlnLmguaW46IFJlZ2VuZXJhdGUuCiAgICAgICAgKiBjb25maWd1 cmU6IFJlZ2VuZXJhdGUuCiAgICAgICAgKiBzcmMvZmlsZXN5c3RlbS9vcHMtY29tbW9uLmg6IHVz ZSBjb3B5X2ZpbGVfcmFuZ2UgaW4KICAgICAgICAgIHN0ZDo6ZmlsZXN5c3RlbTo6Y29weV9maWxl CgpTaWduZWQtb2ZmLWJ5OiBKYW5uaWsgR2zDvGNrZXJ0IDxqYW5uaWsuZ2x1ZWNrZXJ0QGdtYWls LmNvbT4KLS0tCiBsaWJzdGRjKystdjMvYWNpbmNsdWRlLm00ICAgICAgICAgICAgICAgIHwgMjAg KysrKysrKysKIGxpYnN0ZGMrKy12My9jb25maWcuaC5pbiAgICAgICAgICAgICAgICAgfCAgMyAr KwogbGlic3RkYysrLXYzL2NvbmZpZ3VyZSAgICAgICAgICAgICAgICAgICB8IDYyICsrKysrKysr KysrKysrKysrKysrKysrKwogbGlic3RkYysrLXYzL3NyYy9maWxlc3lzdGVtL29wcy1jb21tb24u aCB8IDUwICsrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMTM1IGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvYWNpbmNsdWRlLm00IGIvbGlic3RkYysr LXYzL2FjaW5jbHVkZS5tNAppbmRleCA4NWEwOWE1YTg2OS4uNGNmMDJkYzZlNGUgMTAwNjQ0Ci0t LSBhL2xpYnN0ZGMrKy12My9hY2luY2x1ZGUubTQKKysrIGIvbGlic3RkYysrLXYzL2FjaW5jbHVk ZS5tNApAQCAtNDU4MSw2ICs0NTgxLDcgQEAgZG5sICBfR0xJQkNYWF9VU0VfVVRJTUVOU0FUCiBk bmwgIF9HTElCQ1hYX1VTRV9TVF9NVElNCiBkbmwgIF9HTElCQ1hYX1VTRV9GQ0hNT0QKIGRubCAg X0dMSUJDWFhfVVNFX0ZDSE1PREFUCitkbmwgIF9HTElCQ1hYX1VTRV9DT1BZX0ZJTEVfUkFOR0UK IGRubCAgX0dMSUJDWFhfVVNFX1NFTkRGSUxFCiBkbmwgIEhBVkVfTElOSwogZG5sICBIQVZFX0xT RUVLCkBAIC00Nzc5LDYgKzQ3ODAsMjUgQEAgZG5sCiAgIGlmIHRlc3QgJGdsaWJjeHhfY3ZfdHJ1 bmNhdGUgPSB5ZXM7IHRoZW4KICAgICBBQ19ERUZJTkUoSEFWRV9UUlVOQ0FURSwgMSwgW0RlZmlu ZSBpZiB0cnVuY2F0ZSBpcyBhdmFpbGFibGUgaW4gPHVuaXN0ZC5oPi5dKQogICBmaQorZG5sCisg IEFDX0NBQ0hFX0NIRUNLKFtmb3IgY29weV9maWxlX3JhbmdlIHRoYXQgY2FuIGNvcHkgZmlsZXNd LAorICAgIGdsaWJjeHhfY3ZfY29weV9maWxlX3JhbmdlLCBbZG5sCisgICAgY2FzZSAiJHt0YXJn ZXRfb3N9IiBpbgorICAgICAgbGludXgqKQorCUdDQ19UUllfQ09NUElMRV9PUl9MSU5LKAorCSAg WyNpbmNsdWRlIDx1bmlzdGQuaD5dLAorCSAgW2NvcHlfZmlsZV9yYW5nZSgxLCBudWxscHRyLCAy LCBudWxscHRyLCAxLCAwKTtdLAorCSAgW2dsaWJjeHhfY3ZfY29weV9maWxlX3JhbmdlPXllc10s CisJICBbZ2xpYmN4eF9jdl9jb3B5X2ZpbGVfcmFuZ2U9bm9dKQorCTs7CisgICAgICAqKQorCWds aWJjeHhfY3ZfY29weV9maWxlX3JhbmdlPW5vCisJOzsKKyAgICBlc2FjCisgIF0pCisgIGlmIHRl c3QgJGdsaWJjeHhfY3ZfY29weV9maWxlX3JhbmdlID0geWVzOyB0aGVuCisgICAgQUNfREVGSU5F KF9HTElCQ1hYX1VTRV9DT1BZX0ZJTEVfUkFOR0UsIDEsIFtEZWZpbmUgaWYgY29weV9maWxlX3Jh bmdlIGlzIGF2YWlsYWJsZSBpbiA8dW5pc3RkLmg+Ll0pCisgIGZpCiBkbmwKICAgQUNfQ0FDSEVf Q0hFQ0soW2ZvciBzZW5kZmlsZSB0aGF0IGNhbiBjb3B5IGZpbGVzXSwKICAgICBnbGliY3h4X2N2 X3NlbmRmaWxlLCBbZG5sCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvc3JjL2ZpbGVzeXN0ZW0v b3BzLWNvbW1vbi5oIGIvbGlic3RkYysrLXYzL3NyYy9maWxlc3lzdGVtL29wcy1jb21tb24uaApp bmRleCA5ZTFiMWQ0MWRjNS4uMjAyNzI4YmFlZjIgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9z cmMvZmlsZXN5c3RlbS9vcHMtY29tbW9uLmgKKysrIGIvbGlic3RkYysrLXYzL3NyYy9maWxlc3lz dGVtL29wcy1jb21tb24uaApAQCAtNDksNiArNDksOSBAQAogI2lmZGVmIE5FRURfRE9fQ09QWV9G SUxFCiAjIGluY2x1ZGUgPGZpbGVzeXN0ZW0+CiAjIGluY2x1ZGUgPGV4dC9zdGRpb19maWxlYnVm Lmg+CisjIGlmZGVmIF9HTElCQ1hYX1VTRV9DT1BZX0ZJTEVfUkFOR0UKKyMgIGluY2x1ZGUgPHVu aXN0ZC5oPiAvLyBjb3B5X2ZpbGVfcmFuZ2UKKyMgZW5kaWYKICMgaWZkZWYgX0dMSUJDWFhfVVNF X1NFTkRGSUxFCiAjICBpbmNsdWRlIDxzeXMvc2VuZGZpbGUuaD4gLy8gc2VuZGZpbGUKICMgIGlu Y2x1ZGUgPHVuaXN0ZC5oPiAvLyBsc2VlawpAQCAtMzU5LDYgKzM2MiwzMSBAQCBfR0xJQkNYWF9C RUdJTl9OQU1FU1BBQ0VfRklMRVNZU1RFTQogICB9CiAKICNpZmRlZiBORUVEX0RPX0NPUFlfRklM RQorI2lmZGVmIF9HTElCQ1hYX1VTRV9DT1BZX0ZJTEVfUkFOR0UKKyAgYm9vbAorICBjb3B5X2Zp bGVfY29weV9maWxlX3JhbmdlKGludCBmZF9pbiwgaW50IGZkX291dCwgc2l6ZV90IGxlbmd0aCkg bm9leGNlcHQKKyAgeworICAgIC8vIGEgemVyby1sZW5ndGggZmlsZSBpcyBlaXRoZXIgZW1wdHks IG9yIG5vdCBjb3B5YWJsZSBieSB0aGlzIHN5c2NhbGwKKyAgICAvLyByZXR1cm4gZWFybHkgdG8g YXZvaWQgdGhlIHN5c2NhbGwgY29zdAorICAgIGlmIChsZW5ndGggPT0gMCkKKyAgICAgIHsKKyAg ICAgICAgZXJybm8gPSBFSU5WQUw7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgIH0KKyAg ICBzaXplX3QgYnl0ZXNfbGVmdCA9IGxlbmd0aDsKKyAgICBvZmY2NF90IG9mZl9pbiA9IDAsIG9m Zl9vdXQgPSAwOworICAgIHNzaXplX3QgYnl0ZXNfY29waWVkOworICAgIGRvIHsKKyAgICAgIGJ5 dGVzX2NvcGllZCA9IDo6Y29weV9maWxlX3JhbmdlKGZkX2luLCAmb2ZmX2luLCBmZF9vdXQsICZv ZmZfb3V0LCBieXRlc19sZWZ0LCAwKTsKKyAgICAgIGJ5dGVzX2xlZnQgLT0gYnl0ZXNfY29waWVk OworICAgIH0gd2hpbGUgKGJ5dGVzX2xlZnQgPiAwICYmIGJ5dGVzX2NvcGllZCA+IDApOworICAg IGlmIChieXRlc19jb3BpZWQgPCAwKQorICAgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7Cisg ICAgICB9CisgICAgcmV0dXJuIHRydWU7CisgIH0KKyNlbmRpZgogI2lmIGRlZmluZWQgX0dMSUJD WFhfVVNFX1NFTkRGSUxFICYmICEgZGVmaW5lZCBfR0xJQkNYWF9GSUxFU1lTVEVNX0lTX1dJTkRP V1MKICAgYm9vbAogICBjb3B5X2ZpbGVfc2VuZGZpbGUoaW50IGZkX2luLCBpbnQgZmRfb3V0LCBz aXplX3QgbGVuZ3RoKSBub2V4Y2VwdApAQCAtNTI3LDYgKzU1NSwyOCBAQCBfR0xJQkNYWF9CRUdJ Tl9OQU1FU1BBQ0VfRklMRVNZU1RFTQogCiAgICAgYm9vbCBoYXNfY29waWVkID0gZmFsc2U7CiAK KyNpZmRlZiBfR0xJQkNYWF9VU0VfQ09QWV9GSUxFX1JBTkdFCisgICAgaWYgKCFoYXNfY29waWVk KQorICAgICAgaGFzX2NvcGllZCA9IGNvcHlfZmlsZV9jb3B5X2ZpbGVfcmFuZ2UoaW4uZmQsIG91 dC5mZCwgZnJvbV9zdC0+c3Rfc2l6ZSk7CisgICAgaWYgKCFoYXNfY29waWVkKQorICAgICAgewor ICAgICAgICAvLyBFSU5WQUw6IHNyYyBhbmQgZHN0IGFyZSB0aGUgc2FtZSBmaWxlICh0aGlzIGlz IG5vdCBjaGVhcGx5IGRldGVjdGFibGUgZnJvbSB1c2Vyc3BhY2UpCisgICAgICAgIC8vIEVJTlZB TDogY29weV9maWxlX3JhbmdlIGlzIHVuc3VwcG9ydGVkIGZvciB0aGlzIGZpbGUgdHlwZSBieSB0 aGUgdW5kZXJseWluZyBmaWxlc3lzdGVtCisgICAgICAgIC8vIEVOT1RTVVA6IHVuZG9jdW1lbnRl ZCwgY2FuIGFyaXNlIHdpdGggb2xkIGtlcm5lbHMgYW5kIE5GUworICAgICAgICAvLyBFT1BOT1RT VVBQOiBmaWxlc3lzdGVtIGRvZXMgbm90IGltcGxlbWVudCBjb3B5X2ZpbGVfcmFuZ2UKKyAgICAg ICAgLy8gRVRYVEJTWTogc3JjIG9yIGRzdCBpcyBhbiBhY3RpdmUgc3dhcGZpbGUgKG5vbnNlbnNp Y2FsLCBidXQgYWxsb3dlZCB3aXRoIG5vcm1hbCBjb3B5aW5nKQorICAgICAgICAvLyBFWERFVjog c3JjIGFuZCBkc3QgYXJlIG9uIGRpZmZlcmVudCBmaWxlc3lzdGVtcyB0aGF0IGRvIG5vdCBzdXBw b3J0IGNyb3NzLWZzIGNvcHlfZmlsZV9yYW5nZQorICAgICAgICAvLyBFTk9FTlQ6IHVuZG9jdW1l bnRlZCwgY2FuIGFyaXNlIHdpdGggQ0lGUworICAgICAgICAvLyBFTk9TWVM6IHVuc3VwcG9ydGVk IGJ5IGtlcm5lbCBvciBibG9ja2VkIGJ5IHNlY2NvbXAKKyAgICAgICAgaWYgKGVycm5vICE9IEVJ TlZBTCAmJiBlcnJubyAhPSBFTk9UU1VQICYmIGVycm5vICE9IEVPUE5PVFNVUFAKKyAgICAgICAg JiYgZXJybm8gIT0gRVRYVEJTWSAmJiBlcnJubyAhPSBFWERFViAmJiBlcnJubyAhPSBFTk9FTlQg JiYgZXJybm8gIT0gRU5PU1lTKQorICAgICAgICAgIHsKKyAgICAgICAgICAgIGVjLmFzc2lnbihl cnJubywgc3RkOjpnZW5lcmljX2NhdGVnb3J5KCkpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNl OworICAgICAgICAgIH0KKyAgICAgIH0KKyNlbmRpZgorCiAjaWYgZGVmaW5lZCBfR0xJQkNYWF9V U0VfU0VOREZJTEUgJiYgISBkZWZpbmVkIF9HTElCQ1hYX0ZJTEVTWVNURU1fSVNfV0lORE9XUwog ICAgIGlmICghaGFzX2NvcGllZCkKICAgICAgIGhhc19jb3BpZWQgPSBjb3B5X2ZpbGVfc2VuZGZp bGUoaW4uZmQsIG91dC5mZCwgZnJvbV9zdC0+c3Rfc2l6ZSk7Ci0tIAoyLjM5LjIKCg== --000000000000982f8805f6f5660d--