Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp72284imm; Tue, 5 Jun 2018 15:17:11 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKo+Bb2PFSGbnHVjIJGzqArEtYLLgUkqdxTKuDQ1HiCf6yypLYqVG8dpktXnGcJgFkAZaPp X-Received: by 2002:a63:7e51:: with SMTP id o17-v6mr338984pgn.398.1528237031746; Tue, 05 Jun 2018 15:17:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528237031; cv=none; d=google.com; s=arc-20160816; b=eewWmlUHBrTquLYT8bk3RJE3LmJ8LG1sz44TqNDPQb3Ntry1YlWrU1YRVJj7RWKXy8 c3jwiLNtxuiMt7CpPp01yblrX19s87po2X9l1YHLUAWXsibJ3N7bfAj8RI9rLV2+WXIJ Tmf5KSa1Ccu691n+SODnku46IOLa818rQseqJJd3bk9tyJM/FddoTW8yExboVL78hlpH 9k2r5Qw1i3cLwAvsT7ImG9rR+6vxZGggYFu+jDxC+zwcx3jbogmQk0jenQhsoGqn20Vg LwB1aeV5ygClMEZ/zKRNOSZa3HPoEcO5GbpdyTX60LcAmwaDj6WP8fuSaYpcInyB/rDt MfHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature :arc-authentication-results; bh=9SmZMJIpwjGhX5TRIt/x1+OsBzmYQNRBgyckmzI6X7o=; b=pafiD9TbuvnDrJ7m6sjxYGAJW8rdPu7zMB0muATDACd+0cmw2nviBG2oVqJmZZAEcC gZCfM/bLUeyIjNdoSlwj+8NyZ3sbhfLZ0CrmXapMJqqAwUlbi1yyj30cL/65KaZcs9RE 4co38uuSsVpaCXjnHhhGlk7i+gP6YCfizgR/yG3mlMppz7pJ/obVlDAfKy+C5tU6Qtc7 RWngpYQWyS5mULzLR0Qh6y+2psCKTanF9Ifdq59DKc5ZdNaCd+PlU9wznUgVHyuHxDBI FwNOKlmfOav1qp6MOt6TeMkUvO5XLX6bROXoN2VVqT9ubDXqo/rRdH9QuLXrOL1pfylc 2ZlQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ulkDX79m; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y7-v6si4803230plt.115.2018.06.05.15.16.57; Tue, 05 Jun 2018 15:17:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=ulkDX79m; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752554AbeFEWQF (ORCPT + 99 others); Tue, 5 Jun 2018 18:16:05 -0400 Received: from mail-ot0-f195.google.com ([74.125.82.195]:44158 "EHLO mail-ot0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752365AbeFEWQC (ORCPT ); Tue, 5 Jun 2018 18:16:02 -0400 Received: by mail-ot0-f195.google.com with SMTP id w13-v6so4763335ote.11 for ; Tue, 05 Jun 2018 15:16:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=9SmZMJIpwjGhX5TRIt/x1+OsBzmYQNRBgyckmzI6X7o=; b=ulkDX79m/kpxEHdt/vlXA/05dws1x+WrimqQbxgNf7rkDJZsrBGurO+zF5ISEB2fK3 sAitD2b2Z5WLXNZ6agk7GcK1q4ssO1V3HwL6tB8W5yGKwqh+XOd4KvP32VM6nVaYAQAT /IpHRpe0zNiEsugTo0fnegnAirEHH80ZbjKsk3flOwz80u/RRwXnLh1/RlWYVysjDHgd EYHAs7F5O4BWkFBOXePPvd5Rblhgn9W+dFAxs/iWjT5kosRPrpmrS5E/u7ZEsdc0BOxF nChyOOle9K9n+6wczYI22pUoalTEXpT+fP5CQRsgjrGlmPzoFbQ1TYWwmAokCBQyu+er VD1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9SmZMJIpwjGhX5TRIt/x1+OsBzmYQNRBgyckmzI6X7o=; b=uoX1/NkKHmV9jCxhbYC0iMw/dwnxXROK2eqL0Y1sLKnRjMfrlAYFOKVZqn8GFDz4vU 8XHpYMHfWF8eWQKLnVu2vpUBYIOOcWSQpcIn+neZl2U2KxWeUQcDSjcU73uuGYxz4A6x Fx0sTBT9xcakvOSHj/x0L59fkv4wmWLwZlkn3mbmsBGP4Gc2zFMglKnRYwy2lj4nq7Jj d5Zqg99XQTLegW3eg4rlynL1owN9Dc3myBA1gw+5LzShejktBGyW0o2TLP2IPl+WKx9O XovHTR7fxCGrVnDKU9Gd/N3QdM5w99XKISWRMj7daBypdUSgkb+suabVQuCu79kMO92j WP5g== X-Gm-Message-State: APt69E3MXui4Q8kB+UAYaSd91iMZXzBCe4x93pM08D60uoVMvH7lj6f9 HSqq+rhZjzN1K/JWQTyeZwASqJYcnz+pF3tbWz3kJg== X-Received: by 2002:a9d:322f:: with SMTP id t47-v6mr342231otc.7.1528236961939; Tue, 05 Jun 2018 15:16:01 -0700 (PDT) MIME-Version: 1.0 References: <20180508230148.121852-1-rajatja@google.com> <20180510233912.96454-1-rajatja@google.com> In-Reply-To: <20180510233912.96454-1-rajatja@google.com> From: Rajat Jain Date: Tue, 5 Jun 2018 15:15:25 -0700 Message-ID: Subject: Re: [PATCH v2] pci/aspm: Remove CONFIG_PCIEASPM_DEBUG To: Bjorn Helgaas , "Busch, Keith" , Vidya Sagar , Philippe Ombredanne , Kees Cook , "Gustavo A. R. Silva" , Ard Biesheuvel , Sinan Kaya , Frederick Lawler , linux-pci , Linux Kernel Mailing List , "Patel, Mayurkumar" Cc: Rajat Jain Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello Bjorn, Just checking to see if this one fell through the cracks? It isn't solving any issues, but providing a tool for ASPM tweaking in user space, which may be useful. Thanks, Rajat On Thu, May 10, 2018 at 4:39 PM Rajat Jain wrote: > > Currently, the linux kernel disables ASPM when a device is > removed from the kernel. But it is not enabled again when > a new device is added on that slot even if it was originally > enabled (by the BIOS) when the system booted up (assuming > POLICY_DEFAULT). > > This was earlier discussed here: > https://www.spinics.net/lists/linux-pci/msg60212.html > > And some suggestions from Bjorn here: > https://www.spinics.net/lists/linux-pci/msg60541.html > > This patch picks up one of the suggestion, to remove the > CONFIG_PCIEASPM_DEBUG and thus make the code always > avilable. This provides control to userspace to control > ASPM on a per slot / device basis using sysfs interface. > > Signed-off-by: Rajat Jain > --- > v2: provide function definitions for !CONFIG_PCIEASPM case > > drivers/pci/pci.h | 8 ++------ > drivers/pci/pcie/Kconfig | 8 -------- > drivers/pci/pcie/aspm.c | 2 -- > 3 files changed, 2 insertions(+), 16 deletions(-) > > diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h > index 023f7cf25bff..b953b2349ca1 100644 > --- a/drivers/pci/pci.h > +++ b/drivers/pci/pci.h > @@ -358,17 +358,13 @@ void pcie_aspm_init_link_state(struct pci_dev *pdev); > void pcie_aspm_exit_link_state(struct pci_dev *pdev); > void pcie_aspm_pm_state_change(struct pci_dev *pdev); > void pcie_aspm_powersave_config_link(struct pci_dev *pdev); > +void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev); > +void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev); > #else > static inline void pcie_aspm_init_link_state(struct pci_dev *pdev) { } > static inline void pcie_aspm_exit_link_state(struct pci_dev *pdev) { } > static inline void pcie_aspm_pm_state_change(struct pci_dev *pdev) { } > static inline void pcie_aspm_powersave_config_link(struct pci_dev *pdev) { } > -#endif > - > -#ifdef CONFIG_PCIEASPM_DEBUG > -void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev); > -void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev); > -#else > static inline void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev) { } > static inline void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev) { } > #endif > diff --git a/drivers/pci/pcie/Kconfig b/drivers/pci/pcie/Kconfig > index b12e28b3d8f9..089b9f559d88 100644 > --- a/drivers/pci/pcie/Kconfig > +++ b/drivers/pci/pcie/Kconfig > @@ -46,14 +46,6 @@ config PCIEASPM > > When in doubt, say Y. > > -config PCIEASPM_DEBUG > - bool "Debug PCI Express ASPM" > - depends on PCIEASPM > - default n > - help > - This enables PCI Express ASPM debug support. It will add per-device > - interface to control ASPM. > - > choice > prompt "Default ASPM policy" > default PCIEASPM_DEFAULT > diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c > index c687c817b47d..8ffc13d42baa 100644 > --- a/drivers/pci/pcie/aspm.c > +++ b/drivers/pci/pcie/aspm.c > @@ -1161,7 +1161,6 @@ static int pcie_aspm_get_policy(char *buffer, const struct kernel_param *kp) > module_param_call(policy, pcie_aspm_set_policy, pcie_aspm_get_policy, > NULL, 0644); > > -#ifdef CONFIG_PCIEASPM_DEBUG > static ssize_t link_state_show(struct device *dev, > struct device_attribute *attr, > char *buf) > @@ -1264,7 +1263,6 @@ void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev) > sysfs_remove_file_from_group(&pdev->dev.kobj, > &dev_attr_clk_ctl.attr, power_group); > } > -#endif > > static int __init pcie_aspm_disable(char *str) > { > -- > 2.17.0.441.gb46fe60e1d-goog >