All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russ Anderson <rja@sgi.com>
To: "Zheng, Lv" <lv.zheng@intel.com>
Cc: Matthew Garrett <matthew.garrett@nebula.com>,
	"lenb@kernel.org" <lenb@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"minyard@acm.org" <minyard@acm.org>,
	"rjw@rjwysocki.net" <rjw@rjwysocki.net>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>
Subject: Re: [PATCH V2] Change ACPI IPMI support to "default y"
Date: Fri, 21 Feb 2014 10:33:02 -0600	[thread overview]
Message-ID: <20140221163302.GN16114@sgi.com> (raw)
In-Reply-To: <1AE640813FDE7649BE1B193DEA596E88024B228C@SHSMSX101.ccr.corp.intel.com>

On Fri, Feb 21, 2014 at 02:17:12AM +0000, Zheng, Lv wrote:
> Hi,
> 
> Sorry for interrupting you.
> I have some information that may be helpful for your discussion.
> Please find them in the inlined replies.
> Well, I don't want to join the fight, just for your informations. :-)

I don't want to join the fight, either.

I have not looked at your code changes but the description
looks like the right direction.


> > From: linux-acpi-owner@vger.kernel.org [mailto:linux-acpi-owner@vger.kernel.org] On Behalf Of Russ Anderson
> > Sent: Friday, February 21, 2014 7:59 AM
> > 
> > On Thu, Feb 20, 2014 at 11:09:42PM +0000, Matthew Garrett wrote:
> > > On Thu, 2014-02-20 at 16:45 -0600, Russ Anderson wrote:
> > > > On Thu, Feb 20, 2014 at 10:26:45PM +0000, Matthew Garrett wrote:
> > >
> > > > > Because I'm trying to ensure that the default behaviour of the kernel is
> > > > > to *work*. Defaulting to having IPMI be modular means that the default
> > > > > behaviour of the kernel, as far as the ACPI spec goes, is to be broken.
> > > >
> > > > The ACPI spec requires IPMI functionality before a module loads at
> > > > boot time?  And the kernel is *broken* if it does not support ACIP IPMI
> > > > functionality before module load time?  Really?
> > >
> > > There's no mechanism to ensure that IPMI support will be loaded before
> > > ACPI calls attempt to access IPMI operation regions. Really.
> > 
> > And no mechanism can be added to ensure that ACPI call are
> > not attempted before IPMI is initialized?  A flag or lock
> > or exported symbol indicating IPMI support is ready.
> 
> In fact there is a workaround solution I've posted here:
> https://patchwork.kernel.org/patch/2831851/
> The updated version of this patch can be found at:
> https://bugzilla.kernel.org/attachment.cgi?id=112611
> It is the acpi-ipmi13.patch file.
> 
> This solution may change the meaning of ACPI spec defined _REG.
> So we may need a better solution.
> 
> But after merging this patch, it is safe to unload acpi_ipmi at users' wishes.
> Without solutions to solve region handler uninstallation races, it is not safe to unload acpi_ipmi module.
> You can see crashes in the description of this patch.
> 
> The ipmi_si module is using a different way to unload itself which has not been tested by me.
> You can find it in Documentation/IPMI.txt by searching "hot and remove of interfaces" in this file.
> 
> > 
> > > > > ACPI 4.0 includes support for IPMI operation regions. Modular IPMI means
> > > > > that the kernel will spend a significant amount of time (potentially
> > > > > until a user manually loads a driver) failing to implement part of the
> > > > > IPMI specification. That's a problem, and the correct fix is to ensure
> > > > > that the kernel always implements IPMI support.
> > > >
> > > > The ACPI spec says ipmi_si cannot be a driver?  Really?
> > > > What is the real problem you are trying to solve?
> > >
> > > The most straightforward case is that of an ACPI power meter.
> > 
> > So it is just a matter of making sure ipmi_si modules loads before
> > the ACPI power meter module loads, right?  module dependency issue.
> 
> I agree.
> I think there should be relationship between ACPI region and Linux kernel modules.
> In fact on the well-known operating system, _REG is always invoked at the end of the IRP_PNP_START_DEVICE completions.
> But we may still be able to return -EPROBE_DEFER in the power meter driver when it detects failures caused by the readiness state of the region handlers.
> 
> I didn't work further on this issue when solving the reported bug:
> https://bugzilla.kernel.org/show_bug.cgi?id=46741
> 
> > 
> > >                                                                Several
> > > vendors implement this with an IPMI operation region. Calling any of the
> > > power meter functions will trigger access to that IPMI operation region,
> > > which will fail. This may result in driver initialisation failing. There
> > > is no express dependency between the power meter driver and ipmi_si,
> > > because the spec envisages IPMI support as basic kernel functionality.
> > > It's meant to be there before you start loading any other drivers.
> > 
> > The spec "envisages"?  I get there is a dependency, that IPMI driver
> > needs to be loaded before ACIP power meter.  This isn't the first
> > case of a driver being dependent on another driver.  That doesn't
> > mean IPMI driver must be built into the kernel.
> > 
> > > > > Now, you've described some other problems. I don't disagree that those
> > > > > are problems. The correct thing for us to do with those problems is to
> > > > > fix them, not to simply change the kernel defaults such that it's
> > > > > possible for users to choose between two differently broken states. I'm
> > > > > absolutely willing to help, as long as you're willing to put some
> > > > > reasonable amount of effort into describing them.
> > > >
> > > > How about ACPI IPMI functionality starts when the ipmi_si
> > > > module loads at boot time.
> 
> Actually, I have a solution implemented this.
> You can find it at:
> https://bugzilla.kernel.org/attachment.cgi?id=112611
> It is the acpi-ipmi14.patch file.
> 
> The patch will hand the maintenance-ship of acpi_ipmi to IPMI community.
> I'm not sure it is proper to merge it by Linux upstreams.
> 
> Thanks and best regards
> -Lv
> 
> > >
> > > I've repeatedly asked for you to provide detailed descriptions of the
> > > problems you've seen because I have a genuine interest in fixing them.
> > > If you're just going to childishly refuse then this discussion is
> > > pointless.
> > 
> > The distro cases I would point you at are marked private.
> > And you do not have access to our internal support system.
> > A simple google search for "kipmi0" shows a lot of reports of
> > high cpu utilization.
> > 
> > And I'm old enough to appreciate being called childishly.  :-)
> > 
> > --
> > Russ Anderson,  Kernel and Performance Software Team Manager
> > SGI - Silicon Graphics Inc          rja@sgi.com
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Russ Anderson,  Kernel and Performance Software Team Manager
SGI - Silicon Graphics Inc          rja@sgi.com

  parent reply	other threads:[~2014-02-21 16:33 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-18 16:28 [PATCH V2] Change ACPI IPMI support to "default y" Matthew Garrett
2014-02-18 23:26 ` Rafael J. Wysocki
2014-02-18 23:15   ` Matthew Garrett
2014-02-18 23:15     ` Matthew Garrett
2014-02-18 23:35     ` Rafael J. Wysocki
2014-02-18 23:25       ` Matthew Garrett
2014-02-18 23:25         ` Matthew Garrett
2014-02-19  0:45         ` Rafael J. Wysocki
2014-02-19  0:53           ` Corey Minyard
2014-03-12 23:00     ` Pavel Machek
2014-03-12 23:22       ` Matthew Garrett
2014-03-12 23:22         ` Matthew Garrett
2014-03-13  7:22         ` Pavel Machek
2014-03-13  7:24           ` Matthew Garrett
2014-03-13  7:24             ` Matthew Garrett
2014-03-13  8:38             ` Pavel Machek
2014-03-13 13:29               ` Corey Minyard
2014-03-16  8:53                 ` Pavel Machek
2014-02-20 20:14 ` Russ Anderson
2014-02-20 20:16   ` Matthew Garrett
2014-02-20 20:16     ` Matthew Garrett
2014-02-20 20:40     ` Russ Anderson
2014-02-20 20:46       ` Matthew Garrett
2014-02-20 20:46         ` Matthew Garrett
2014-02-20 20:59         ` Russ Anderson
2014-02-20 21:00           ` Matthew Garrett
2014-02-20 21:00             ` Matthew Garrett
2014-02-20 21:28             ` Russ Anderson
2014-02-20 21:39               ` Matthew Garrett
2014-02-20 21:39                 ` Matthew Garrett
2014-02-20 22:06                 ` Russ Anderson
2014-02-20 22:26                   ` Matthew Garrett
2014-02-20 22:26                     ` Matthew Garrett
2014-02-20 22:45                     ` Russ Anderson
2014-02-20 23:09                       ` Matthew Garrett
2014-02-20 23:09                         ` Matthew Garrett
2014-02-20 23:59                         ` Russ Anderson
2014-02-21  0:13                           ` Matthew Garrett
2014-02-21  0:13                             ` Matthew Garrett
2014-02-21 16:53                             ` Russ Anderson
2014-02-21  2:17                           ` Zheng, Lv
2014-02-21 16:12                             ` Matthew Garrett
2014-02-21 16:12                               ` Matthew Garrett
2014-02-24  0:48                               ` Zheng, Lv
2014-02-24  0:48                                 ` Zheng, Lv
2014-02-21 16:33                             ` Russ Anderson [this message]
2014-02-21 13:37             ` Corey Minyard
2014-02-21 15:51               ` Matthew Garrett
2014-02-21 15:51                 ` Matthew Garrett
2014-02-21 17:12                 ` Corey Minyard
2014-02-20 21:49         ` Russ Anderson
2014-02-20 21:51           ` Matthew Garrett
2014-02-20 21:51             ` Matthew Garrett
2014-02-21  0:10   ` Rafael J. Wysocki
2014-02-20 23:01 ` Russ Anderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140221163302.GN16114@sgi.com \
    --to=rja@sgi.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lv.zheng@intel.com \
    --cc=matthew.garrett@nebula.com \
    --cc=minyard@acm.org \
    --cc=rjw@rjwysocki.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.