Bug#660288: Please enable CONFIG_KALLSYMS_ALL
On Thu, 2012-08-02 at 16:31 -0400, Tim Abbott wrote: On 06/07/2012 07:34 PM, Ben Hutchings wrote: On Mon, Jun 04, 2012 at 05:26:28PM -0400, Tim Abbott wrote: Hi Ben, Your comment about source code is rather off-topic for this bug report, but since there seems to be a misunderstanding on this point, I'd like to clarify: Every Ksplice update tarball ships with a README file containing instructions on how to request the source code for that update from the appropriate people in Oracle Legal. Anyone who follows those instructions can get a copy of the relevant source code. I understand that Matthew Garrett tried to take up this offer a while ago, and is still waiting for complete source code. It doesn't seem to be a good faith attempt to fulfil GPL obligations. This is not my department, but as I understand it, Matthew Garrett received complete source code in response to each of his various requests for Ksplice source code. I'm satisfied that this is no longer an issue. [...] I'm going to have see a request from an actual other person before I care to spend time on this. So this is no longer the case - but that is no guarantee that I will find the time to deal with this before release. (In case anyone else in the kernel team wants to proceed with this, that's not a NAK. The issue is that memory and/or flash partition constraints make this unsuitable for some configurations, and you'll need to work out which ones to enable it for.) CONFIG_KALLSYMS_ALL adds less than 1% to the size of the kernel over CONFIG_KALLSYMS (obviously this depends on what options one had enabled in the first place), so only on truly embedded settings will that matter at all. Could you at least just enable it for the architectures where none of Debian's stock kernels are designed for embedded environments (e.g. x86, sparc, power)? Yes, this will probably work. Ben. -- Ben Hutchings Time is nature's way of making sure that everything doesn't happen at once. signature.asc Description: This is a digitally signed message part
Bug#660288: Please enable CONFIG_KALLSYMS_ALL
On 06/07/2012 07:34 PM, Ben Hutchings wrote: On Mon, Jun 04, 2012 at 05:26:28PM -0400, Tim Abbott wrote: Hi Ben, Your comment about source code is rather off-topic for this bug report, but since there seems to be a misunderstanding on this point, I'd like to clarify: Every Ksplice update tarball ships with a README file containing instructions on how to request the source code for that update from the appropriate people in Oracle Legal. Anyone who follows those instructions can get a copy of the relevant source code. I understand that Matthew Garrett tried to take up this offer a while ago, and is still waiting for complete source code. It doesn't seem to be a good faith attempt to fulfil GPL obligations. This is not my department, but as I understand it, Matthew Garrett received complete source code in response to each of his various requests for Ksplice source code. To briefly clarify my original email, it is true that enabling CONFIG_KALLSYMS_ALL would make life slightly easier for Ksplice and similar tools that look at kernel data structures (e.g. debugging tools). No doubt true, but it is also strictly redundant with debuginfo. This is where I disagree. Debuginfo is both huge (since it contains lots of data beyond the basic symbol information in kallsyms) and is also not necessarily available on user systems, meaning that any sort of patching or debugging tool intending to get wide use can't rely on it. Further, any system which contains third-party modules (open source or not) will not have symbol data for those modules unless the vendors of those third-party modules provide a separate debuginfo package (many do not); with kallsyms, you're guaranteed to have accurate information that comes from the modules that are actually loaded on the system. As I think I mentioned before, when folks upgrade the kernel version on disk on a Debian system and don't immediately reboot (which folks do _all the time_ whether they're using Ksplice or not), and then load kernel modules, they'll get kernel modules from the upgraded kernel (at least in the common case where the ABI doesn't change). As a consequence, if you're any sort of debugging/instrumentation tool that inspects the running kernel's code, you need to be able to handle the case where the kernel is running modules that don't actually go with either the running kernel (via uname -a) or the currently version of the linux-image-* package installed on disk. Trying to do anything to get symbol information in that sort of situation using debuginfo is a disaster; what you want is kallsyms. That said, Ksplice doesn't require CONFIG_KALLSYMS_ALL -- the Ksplice Uptrack service has been providing updates for systems running Debian Linux since 2009. While your enabling CONFIG_KALLSYMS_ALL might allow us to delete like 50 lines of code 2 years from now when Squeeze reaches end of life, I submitted this bug report primarily because I'd like it to be the case that other folks developing similar innovative new technologies don't have to do the extra work of supporting !CONFIG_KALLSYMS_ALL in order to support all the major Linux distributions. I hope you'll consider my suggestion on its technical merits. I'm going to have see a request from an actual other person before I care to spend time on this. (In case anyone else in the kernel team wants to proceed with this, that's not a NAK. The issue is that memory and/or flash partition constraints make this unsuitable for some configurations, and you'll need to work out which ones to enable it for.) CONFIG_KALLSYMS_ALL adds less than 1% to the size of the kernel over CONFIG_KALLSYMS (obviously this depends on what options one had enabled in the first place), so only on truly embedded settings will that matter at all. Could you at least just enable it for the architectures where none of Debian's stock kernels are designed for embedded environments (e.g. x86, sparc, power)? -Tim Abbott
Bug#660288: Please enable CONFIG_KALLSYMS_ALL
On Mon, Jun 04, 2012 at 05:26:28PM -0400, Tim Abbott wrote: Hi Ben, Your comment about source code is rather off-topic for this bug report, but since there seems to be a misunderstanding on this point, I'd like to clarify: Every Ksplice update tarball ships with a README file containing instructions on how to request the source code for that update from the appropriate people in Oracle Legal. Anyone who follows those instructions can get a copy of the relevant source code. I understand that Matthew Garrett tried to take up this offer a while ago, and is still waiting for complete source code. It doesn't seem to be a good faith attempt to fulfil GPL obligations. To briefly clarify my original email, it is true that enabling CONFIG_KALLSYMS_ALL would make life slightly easier for Ksplice and similar tools that look at kernel data structures (e.g. debugging tools). No doubt true, but it is also strictly redundant with debuginfo. That said, Ksplice doesn't require CONFIG_KALLSYMS_ALL -- the Ksplice Uptrack service has been providing updates for systems running Debian Linux since 2009. While your enabling CONFIG_KALLSYMS_ALL might allow us to delete like 50 lines of code 2 years from now when Squeeze reaches end of life, I submitted this bug report primarily because I'd like it to be the case that other folks developing similar innovative new technologies don't have to do the extra work of supporting !CONFIG_KALLSYMS_ALL in order to support all the major Linux distributions. I hope you'll consider my suggestion on its technical merits. I'm going to have see a request from an actual other person before I care to spend time on this. (In case anyone else in the kernel team wants to proceed with this, that's not a NAK. The issue is that memory and/or flash partition constraints make this unsuitable for some configurations, and you'll need to work out which ones to enable it for.) Ben -- Ben Hutchings We get into the habit of living before acquiring the habit of thinking. - Albert Camus -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120607213444.gd2...@decadent.org.uk
Bug#660288: Please enable CONFIG_KALLSYMS_ALL
Hi Ben, Your comment about source code is rather off-topic for this bug report, but since there seems to be a misunderstanding on this point, I'd like to clarify: Every Ksplice update tarball ships with a README file containing instructions on how to request the source code for that update from the appropriate people in Oracle Legal. Anyone who follows those instructions can get a copy of the relevant source code. To briefly clarify my original email, it is true that enabling CONFIG_KALLSYMS_ALL would make life slightly easier for Ksplice and similar tools that look at kernel data structures (e.g. debugging tools). That said, Ksplice doesn't require CONFIG_KALLSYMS_ALL -- the Ksplice Uptrack service has been providing updates for systems running Debian Linux since 2009. While your enabling CONFIG_KALLSYMS_ALL might allow us to delete like 50 lines of code 2 years from now when Squeeze reaches end of life, I submitted this bug report primarily because I'd like it to be the case that other folks developing similar innovative new technologies don't have to do the extra work of supporting !CONFIG_KALLSYMS_ALL in order to support all the major Linux distributions. I hope you'll consider my suggestion on its technical merits. Best regards, -Tim Abbott On 06/02/2012 10:51 PM, Ben Hutchings wrote: On Fri, 2012-02-17 at 15:35 -0500, Tim Abbott wrote: Package: linux-2.6 Severity: wishlist (Moving this topic from a debian-kernel thread to the BTS). Would it be possible to turn on CONFIG_KALLSYMS_ALL in the Debian kernel for Wheezy? It's a useful debugging option, and makes it easier to implement useful tools like Ksplice that inspect the code and data structures of the running kernel, in particular in relation to operating on modules (one can use System.map to look up addresses for data structures in the core kernel). Most other major Linux distributions have had CONFIG_KALLSYMS_ALL enabled in their kernels for some time now (RHEL, Fedora, Ubuntu, etc.). The discussion so far of why this option is useful on the debian-kernel thread is at: http://lists.debian.org/debian-kernel/2012/01/msg01017.html. So I think you're saying that you need this to make ksplice work. I would be much more interested in helping you to do that if you would start releasing source to ksplice patches. Ben. -- -Tim Abbott -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4fcd2804.1030...@oracle.com
Bug#660288: Please enable CONFIG_KALLSYMS_ALL
Package: linux-2.6 Severity: wishlist (Moving this topic from a debian-kernel thread to the BTS). Would it be possible to turn on CONFIG_KALLSYMS_ALL in the Debian kernel for Wheezy? It's a useful debugging option, and makes it easier to implement useful tools like Ksplice that inspect the code and data structures of the running kernel, in particular in relation to operating on modules (one can use System.map to look up addresses for data structures in the core kernel). Most other major Linux distributions have had CONFIG_KALLSYMS_ALL enabled in their kernels for some time now (RHEL, Fedora, Ubuntu, etc.). The discussion so far of why this option is useful on the debian-kernel thread is at: http://lists.debian.org/debian-kernel/2012/01/msg01017.html. -Tim Abbott -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4f3eb9fa.3060...@oracle.com