From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 47988 invoked by alias); 1 Nov 2016 09:28:21 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 47974 invoked by uid 89); 1 Nov 2016 09:28:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=Maxim, Kuvyrkov, kuvyrkov, maxim X-HELO: mail-wm0-f48.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:content-transfer-encoding:mime-version :subject:message-id:date:to; bh=7l2MyS54LyxGwkcC5+rSq3cxaOgQLdfsiAib49Powto=; b=PxnlTEbQ/q1qS4mwQPjPUXdgfrnQcXzLYm+nOAaCjTGtkz/A9mln0JtUsp1Oroej0s /w5cdquLwk9d7jLyPM4rEO+g+4JNplez2MQX3JtZenCtxUj0JW2u78SGKgMHTmITN3LZ Kh6UkLCbCXoW/hq1+bhqTaueok71NxMbfPm+KBcSeE3ls/igPhD4o8cV2UohWZjjBGr0 j6kaHVC9yQ7jeZMkIXA2w5zdMQUE+NSiJcEcuyQWsiTanQ8NIQmdL9LWKKzKSZiqUc5v hvuLtoimXfrRVTZ5iVCUEV42OIdOxeI6NExg6AJRVoUmxu/XPw3sw5+LPTtPcfcSWf03 0avg== X-Gm-Message-State: ABUngvepU/i0+oUiZhGvr8Ce4ZwzPzvA0jSgj4XfX5HGcjXBq1HnKRKwtBzBmblYXbtwI9aj X-Received: by 10.28.23.199 with SMTP id 190mr639475wmx.107.1477992487554; Tue, 01 Nov 2016 02:28:07 -0700 (PDT) From: Maxim Kuvyrkov Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 10.1 \(3251\)) Subject: [libc/string] State of PAGE_COPY_FWD / PAGE_COPY_THRESHOLD Message-Id: Date: Tue, 01 Nov 2016 09:28:00 -0000 To: GNU C Library X-SW-Source: 2016-11/txt/msg00004.txt.bz2 I wanted to check performance impact of using linux zero page sharing in ca= lls to memset (PTR, 0, SIZE). I remembered seeing PAGE_COPY_FWD_MAYBE and = PAGE_COPY_THRESHOLD in string/memcpy.c, and my plan was to copy this logic = to an experimental memset() implementation. Closer inspection of the current code showed that only Mach port attempted = to use full-page copying in memcpy.c, but now even the Mach port disables i= t. The net result is that code in string/memcpy.c, as well as parts of hea= ders sysdeps/generic/pagecopy.h and sysdeps/generic/memcopy.h are dead code. =46rom the above we have 2 questions: 1. Is it possible to use full-page copy (with COW) in the Linux glibc port = for memcpy() and/or memset(0)? 2. If not, then is there any reason to keep the dead code around or should = we clean it up? -- Maxim Kuvyrkov www.linaro.org