From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751749AbdKHSFx (ORCPT ); Wed, 8 Nov 2017 13:05:53 -0500 Received: from mail-io0-f179.google.com ([209.85.223.179]:45010 "EHLO mail-io0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751168AbdKHSFv (ORCPT ); Wed, 8 Nov 2017 13:05:51 -0500 X-Google-Smtp-Source: ABhQp+Qsij8n0POOvC5XPZcXRlTRNmOb/5SSVLfaxkjZQcYpL5T+rbrIfPKNJShcE3wPGyqyWozz+y7PVoYy9uZCNXg= MIME-Version: 1.0 In-Reply-To: <20171108171230.ccf7lwutjysk26fc@wfg-t540p.sh.intel.com> References: <20171107102156.3fgxt6y6v5y2kqnf@wfg-t540p.sh.intel.com> <20171108094832.qxvkawpw2snpcbvh@wfg-t540p.sh.intel.com> <20171108171230.ccf7lwutjysk26fc@wfg-t540p.sh.intel.com> From: Linus Torvalds Date: Wed, 8 Nov 2017 10:05:50 -0800 X-Google-Sender-Auth: wJ5Atkc1HeWqd-VRydQ5kvj2QEs Message-ID: Subject: Re: [vlan_device_event] BUG: unable to handle kernel paging request at 6b6b6ccf To: Fengguang Wu Cc: Jeff Kirsher , Network Development , "David S. Miller" , Linux Kernel Mailing List , intel-wired-lan@lists.osuosl.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 8, 2017 at 9:12 AM, Fengguang Wu wrote: > > OK. Here is the original faddr2line output: > > $ ~/linux/scripts/faddr2line vmlinux vlan_device_event+0x7f5/0xa40 > vlan_device_event+0x7f5/0xa40: > vlan_device_event at net/8021q/vlan.h:60 Hmm. Yes, that's not what I hoped for. > I notice that this trace shows no additional inline files at all. > Is it because I did some kconfig option wrong, so that inline info is > lost? Eg. > > CONFIG_OPTIMIZE_INLINING=y (reading lib/Kconfig.debug, it looks better set to N) > CONFIG_DEBUG_INFO_REDUCED=y > CONFIG_DEBUG_INFO_SPLIT=y Hmm. It might also be a compiler/linker issue. Debug info is sadly often a second class citizen, because it's generally not something that gets tested nearly as much as the actual _code_ that a compiler generates. So we've certainly had issues before with incomplete debug info. That said, I'm not sure how well that CONFIG_DEBUG_INFO_SPLIT works, I've only ever tested with CONFIG_DEBUG_INFO=y CONFIG_DEBUG_INFO_REDUCED=y # CONFIG_DEBUG_INFO_SPLIT is not set # CONFIG_DEBUG_INFO_DWARF4 is not set which was the config that my scheduler example was generated from. It might be an issue with the particular version of 'addr2line' too, for all I know. The one I have is GNU addr2line version 2.27-24.fc26 and who knows what else could influence it. I *thought* that as long as you just had DEBUG_INFO enabled, it would automatically be ok, but I was clearly wrong. > [ 745.719623] BUG: unable to handle kernel paging request at 6b6b6f4f > [ 745.732871] IP: vlan_device_event+0x7f5/0xa40: > vlan_device_event at net/8021q/vlan.h:60 Ok, at least now there's no lost information, even if it doesn't have that nice inlining information that I was hoping for. Linus From mboxrd@z Thu Jan 1 00:00:00 1970 From: Linus Torvalds Date: Wed, 8 Nov 2017 10:05:50 -0800 Subject: [Intel-wired-lan] [vlan_device_event] BUG: unable to handle kernel paging request at 6b6b6ccf In-Reply-To: <20171108171230.ccf7lwutjysk26fc@wfg-t540p.sh.intel.com> References: <20171107102156.3fgxt6y6v5y2kqnf@wfg-t540p.sh.intel.com> <20171108094832.qxvkawpw2snpcbvh@wfg-t540p.sh.intel.com> <20171108171230.ccf7lwutjysk26fc@wfg-t540p.sh.intel.com> Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: intel-wired-lan@osuosl.org List-ID: On Wed, Nov 8, 2017 at 9:12 AM, Fengguang Wu wrote: > > OK. Here is the original faddr2line output: > > $ ~/linux/scripts/faddr2line vmlinux vlan_device_event+0x7f5/0xa40 > vlan_device_event+0x7f5/0xa40: > vlan_device_event at net/8021q/vlan.h:60 Hmm. Yes, that's not what I hoped for. > I notice that this trace shows no additional inline files at all. > Is it because I did some kconfig option wrong, so that inline info is > lost? Eg. > > CONFIG_OPTIMIZE_INLINING=y (reading lib/Kconfig.debug, it looks better set to N) > CONFIG_DEBUG_INFO_REDUCED=y > CONFIG_DEBUG_INFO_SPLIT=y Hmm. It might also be a compiler/linker issue. Debug info is sadly often a second class citizen, because it's generally not something that gets tested nearly as much as the actual _code_ that a compiler generates. So we've certainly had issues before with incomplete debug info. That said, I'm not sure how well that CONFIG_DEBUG_INFO_SPLIT works, I've only ever tested with CONFIG_DEBUG_INFO=y CONFIG_DEBUG_INFO_REDUCED=y # CONFIG_DEBUG_INFO_SPLIT is not set # CONFIG_DEBUG_INFO_DWARF4 is not set which was the config that my scheduler example was generated from. It might be an issue with the particular version of 'addr2line' too, for all I know. The one I have is GNU addr2line version 2.27-24.fc26 and who knows what else could influence it. I *thought* that as long as you just had DEBUG_INFO enabled, it would automatically be ok, but I was clearly wrong. > [ 745.719623] BUG: unable to handle kernel paging request at 6b6b6f4f > [ 745.732871] IP: vlan_device_event+0x7f5/0xa40: > vlan_device_event at net/8021q/vlan.h:60 Ok, at least now there's no lost information, even if it doesn't have that nice inlining information that I was hoping for. Linus