From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751149AbcGMDcy (ORCPT ); Tue, 12 Jul 2016 23:32:54 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:12439 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750816AbcGMDcx (ORCPT ); Tue, 12 Jul 2016 23:32:53 -0400 X-IBM-Helo: d03dlp03.boulder.ibm.com X-IBM-MailFrom: gongss@linux.vnet.ibm.com Subject: Re: [PATCH] [RFC V1]s390/perf: fix 'start' address of module's map To: Jiri Olsa References: <1467856176-8712-1-git-send-email-gongss@linux.vnet.ibm.com> <20160708151836.GG31763@krava> <71b0ebd9-a50d-faef-933d-2258ae19236e@linux.vnet.ibm.com> Cc: acme@kernel.org, jolsa@kernel.org, dsahern@gmail.com, linux-kernel@vger.kernel.org From: Songshan Gong Date: Wed, 13 Jul 2016 11:32:11 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <71b0ebd9-a50d-faef-933d-2258ae19236e@linux.vnet.ibm.com> Content-Type: text/plain; charset=gbk; format=flowed Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16071303-0008-0000-0000-0000050ADC70 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 16071303-0009-0000-0000-00003942A500 Message-Id: <23f8fd4e-bf77-d6e0-b91d-2dbab7eba69b@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-07-13_01:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1604210000 definitions=main-1607130039 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I send this email to test the connection to linux-kernel maillist. Just ignore. ÔÚ 7/11/2016 4:11 PM, Songshan Gong дµÀ: > > > ÔÚ 7/8/2016 11:18 PM, Jiri Olsa дµÀ: >> On Thu, Jul 07, 2016 at 09:49:36AM +0800, Song Shan Gong wrote: >>> At preset, when creating module's map, perf gets 'start' address by >>> parsing >>> 'proc/modules', but it's module base address, isn't the start address of >>> '.text' section. In most archs, it's OK. But for s390, it places >>> 'GOT' and >>> 'PLT' relocations before '.text' section. So there exists an offset >>> between >>> module base address and '.text' section, which will incur wrong symbol >>> resolution for modules. >>> >>> Fix this bug by getting 'start' address of module's map from parsing >>> '/sys/module/[module name]/sections/.text', not from '/proc/modules'. >> >> cool, does this fix the 'perf test 1' for s390? that'd be great > > I've checked, 'perf test 1' is still failed. But the test is for testing > whether 'vmlinux symtab matches kallsyms'. For vmlinux, it's built when > compiling linux-kernel, so there's no any symbol info about module. For > kallsyms, when loading, it also splits kernel symbols with module > symbols. But this patch is intended to fix wrong symbol resolution for > modules, so I think there's no relationship between this patch and the > testcase 'perf test 1'. > > I also debuged the reason why 'perf test 1' fails, there are two reasons > at least: > 1. perf gets kernel start address by finding the first no-zero value of > symbols {'_text', '_stext'} in /proc/kallsyms; for s390, it's always > '_stext', but actually, '_stext' is not the first symbol in s390, there > are other symbols before '_stext', for example 'iplstart'. > 2. In addition, when loading by parsing /proc/kallsyms, if the kernel > map start value is a non-zero value getting from '_stext', because > '_text' is zero, it will not be included in kernel map; but for vmlinux, > it always add '_text' to kernel map whether '_text' is zero or not. So > if '_text' is zero, whether adding '_text' to kernel map, it's > non-consistent for loading by /proc/kallsyms and vmlinux. > > I'll try to fix this bug later. > > Thanks for your comments. > >> I'll send few coments shortly >> >> thanks, >> jirka >> > -- SongShan Gong