From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 129386 invoked by alias); 1 Mar 2017 16:50:05 -0000 Mailing-List: contact gnu-gabi-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: gnu-gabi-owner@sourceware.org Received: (qmail 123685 invoked by uid 89); 1 Mar 2017 16:50:03 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.99.2 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=H*i:sk:CAMe9rO, HTo:U*carlos, late X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: mx1.redhat.com Subject: Re: RFC: ABI support for special memory area To: "H.J. Lu" , "Carlos O'Donell" References: <4982fddd-e7bb-e7f1-d2ee-7aa73066bc8e@redhat.com> Cc: gnu-gabi@sourceware.org From: Florian Weimer Message-ID: <7eda6605-ff47-a829-8608-f3f40b2c0160@redhat.com> Date: Sun, 01 Jan 2017 00:00:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Wed, 01 Mar 2017 16:50:02 +0000 (UTC) X-SW-Source: 2017-q1/txt/msg00005.txt.bz2 On 02/28/2017 06:03 PM, H.J. Lu wrote: > On Tue, Feb 28, 2017 at 8:19 AM, Carlos O'Donell wrote: >> On 02/23/2017 09:59 PM, H.J. Lu wrote: >>>> Why does it run _after_ all shared objects and the executable file are loaded? >>> >>> Since __gnu_mbind_setup may call any external functions, it can only >>> be done after everything is loaded and relocated. >> >> Who defines this function? > > Platform vendor with special memory support should provide such function. > >> Where is it implemented? > > We are working on libmbind to implement it. That's backwards. Either we need to merge libmbind in to glibc, or this should be something provided by the kernel vDSO. We certainly don't want to repeat the mistake with the unwinder and libgcc_s. >> Why can't this be run in a constructor? Is that too late? > > We can use MCDRAM for dynamically allocated memory with > memkind. We are looking for a user-friendly way to use MCDRAM > for normal data variables. Is it really necessary to avoid the pointer indirection? Thanks, Florian