All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jean Delvare <khali@linux-fr.org>
To: David Hubbard <david.c.hubbard@gmail.com>
Cc: Rudolf Marek <r.marek@assembler.cz>,
	Matthew Garrett <mjg59@srcf.ucam.org>,
	Ebbert <cebbert@redhat.com>,
	Chuck@atrpms.net, linux-kernel <linux-kernel@vger.kernel.org>,
	linux-acpi@vger.kernel.org, Machek <pavel@ucw.cz>,
	Pavel@atrpms.net, lm-sensors@lm-sensors.org
Subject: Re: [lm-sensors] Could the k8temp driver be interfering with ACPI?
Date: Tue, 6 Mar 2007 16:10:02 +0100	[thread overview]
Message-ID: <20070306161002.2a7d5c74.khali@linux-fr.org> (raw)
In-Reply-To: <4dfa50520703051335j34e7d92bl982705adcfd8b1d5@mail.gmail.com>

Hi David,

On Mon, 5 Mar 2007 13:35:20 -0800, David Hubbard wrote:
> > 2* It seems to incur a signficant performance penalty.
> > ____request_resource isn't cheap as far as I know. And in the
> > absence of conflict, you are even allocating and releasing the resource
> > on _each_ I/O operation, which certainly isn't cheap either. Again, it
> > is not a blocker point, after all this is a workaround for an improper
> > behavior of the acpi subsystem, this performance penalty is the price to
> > pay. But there is also a performance penalty for legitimate I/O access,
> > which worries me more.
> 
> I thought Rudolf's patch allocated the resource in the driver
> (w83627ehf) and ACPI contacted the driver when it could not allocate
> the resource. Since ACPI never *really* wants to allocate the
> resource, is there a fast-path check it could do? This would help
> performance.

Alas, I don't think it can work safely. If ACPI doesn't actually
allocate the resource, there is a risk that another driver does so
between the conflict check and the I/O access. I believe this is the
reason why Rudolf used ____request_resource and not __check_region.

> I like the virtualized driver method (if it wasn't obvious!) but the
> global AML lock works also. It will be interesting to see profiling of
> both solutions.

In fact Rudolf's solution is nice for LPC chips, however I don't think
it can work with SMBus chips. It might intercept the accesses to the
SMBus master and be able to emulate it, even though this will be more
complex that the W83627EHF case, and I'm not sure about the PCI config
space. But ultimately we need to emulate all the chips behind the
SMBus, too. The drivers for these chips won't know if they are accessed
for real of through the emulation layer, so there is no way they'll
remember states, while they might have to (e.g. the W83781D has a bank
register too.)

The AML lock approach, OTOH, should work fine in all cases as long as
the context doesn't need to be remembered across AML "sections".

-- 
Jean Delvare

WARNING: multiple messages have this Message-ID (diff)
From: khali@linux-fr.org (Jean Delvare)
To: David Hubbard <david.c.hubbard@gmail.com>
Cc: Rudolf Marek <r.marek@assembler.cz>,
	Matthew Garrett <mjg59@srcf.ucam.org>,
	Ebbert <cebbert@redhat.com>,
	Chuck@atrpms.net, linux-kernel <linux-kernel@vger.kernel.org>,
	linux-acpi@vger.kernel.org, Machek <pavel@ucw.cz>,
	Pavel@atrpms.net, lm-sensors@lm-sensors.org
Subject: [lm-sensors] Could the k8temp driver be interfering with ACPI?
Date: Tue, 06 Mar 2007 15:10:02 +0000	[thread overview]
Message-ID: <20070306161002.2a7d5c74.khali@linux-fr.org> (raw)
In-Reply-To: <4dfa50520703051335j34e7d92bl982705adcfd8b1d5@mail.gmail.com>

Hi David,

On Mon, 5 Mar 2007 13:35:20 -0800, David Hubbard wrote:
> > 2* It seems to incur a signficant performance penalty.
> > ____request_resource isn't cheap as far as I know. And in the
> > absence of conflict, you are even allocating and releasing the resource
> > on _each_ I/O operation, which certainly isn't cheap either. Again, it
> > is not a blocker point, after all this is a workaround for an improper
> > behavior of the acpi subsystem, this performance penalty is the price to
> > pay. But there is also a performance penalty for legitimate I/O access,
> > which worries me more.
> 
> I thought Rudolf's patch allocated the resource in the driver
> (w83627ehf) and ACPI contacted the driver when it could not allocate
> the resource. Since ACPI never *really* wants to allocate the
> resource, is there a fast-path check it could do? This would help
> performance.

Alas, I don't think it can work safely. If ACPI doesn't actually
allocate the resource, there is a risk that another driver does so
between the conflict check and the I/O access. I believe this is the
reason why Rudolf used ____request_resource and not __check_region.

> I like the virtualized driver method (if it wasn't obvious!) but the
> global AML lock works also. It will be interesting to see profiling of
> both solutions.

In fact Rudolf's solution is nice for LPC chips, however I don't think
it can work with SMBus chips. It might intercept the accesses to the
SMBus master and be able to emulate it, even though this will be more
complex that the W83627EHF case, and I'm not sure about the PCI config
space. But ultimately we need to emulate all the chips behind the
SMBus, too. The drivers for these chips won't know if they are accessed
for real of through the emulation layer, so there is no way they'll
remember states, while they might have to (e.g. the W83781D has a bank
register too.)

The AML lock approach, OTOH, should work fine in all cases as long as
the context doesn't need to be remembered across AML "sections".

-- 
Jean Delvare


  reply	other threads:[~2007-03-06 15:10 UTC|newest]

Thread overview: 220+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-16 17:31 Could the k8temp driver be interfering with ACPI? Chuck Ebbert
2007-02-16 17:31 ` [lm-sensors] " Chuck Ebbert
2007-02-16 17:57 ` Len Brown
2007-02-16 17:57   ` [lm-sensors] " Len Brown
2007-02-16 18:14   ` Chuck Ebbert
2007-02-16 18:14     ` [lm-sensors] " Chuck Ebbert
2007-02-16 19:59 ` Andi Kleen
2007-02-16 19:59   ` [lm-sensors] " Andi Kleen
2007-02-16 19:31   ` Chuck Ebbert
2007-02-16 19:31     ` [lm-sensors] " Chuck Ebbert
2007-02-18 17:32     ` Jean Delvare
2007-02-18 17:32       ` Jean Delvare
2007-02-18 23:22       ` Andi Kleen
2007-02-18 23:22         ` Andi Kleen
2007-02-17 10:49 ` Rudolf Marek
2007-02-17 10:49   ` [lm-sensors] " Rudolf Marek
2007-02-17 10:49   ` Rudolf Marek
2007-02-17 18:14   ` Chuck Ebbert
2007-02-17 18:14     ` Chuck Ebbert
2007-02-18 17:38     ` Jean Delvare
2007-02-18 17:38       ` Jean Delvare
2007-02-20 15:18       ` Matthew Garrett
2007-02-20 15:18         ` Matthew Garrett
2007-02-20 15:33         ` Luca Tettamanti
2007-02-20 15:33           ` Luca Tettamanti
2007-02-21 14:59           ` Jean Delvare
2007-02-21 14:59             ` Jean Delvare
2007-02-21 15:07         ` Jean Delvare
2007-02-21 15:07           ` Jean Delvare
2007-02-28 21:38       ` Pavel Machek
2007-02-28 21:38         ` Pavel Machek
2007-03-01 14:26         ` Jean Delvare
2007-03-01 14:26           ` [lm-sensors] " Jean Delvare
2007-03-01 14:26           ` Jean Delvare
2007-03-01 17:48           ` Dave Jones
2007-03-01 17:48             ` Dave Jones
2007-03-02 11:27             ` Jean Delvare
2007-03-02 11:27               ` Jean Delvare
2007-03-02 11:31               ` Pavel Machek
2007-03-02 11:31                 ` Pavel Machek
2007-03-02 13:37                 ` Jean Delvare
2007-03-02 13:37                   ` Jean Delvare
2007-03-02 13:47                   ` Henrique de Moraes Holschuh
2007-03-02 13:47                     ` Henrique de Moraes Holschuh
2007-03-02 13:57                   ` Pavel Machek
2007-03-02 13:57                     ` Pavel Machek
2007-03-03  6:44                     ` Jean Delvare
2007-03-03  6:44                       ` Jean Delvare
2007-03-02 11:40           ` Pavel Machek
2007-03-02 11:40             ` Pavel Machek
2007-03-02 11:47             ` Matthew Garrett
2007-03-02 11:47               ` Matthew Garrett
2007-03-02 13:58               ` Pavel Machek
2007-03-02 13:58                 ` Pavel Machek
2007-03-02 21:00                 ` Jean Delvare
2007-03-02 21:00                   ` Jean Delvare
2007-03-02 21:22                   ` Henrique de Moraes Holschuh
2007-03-02 21:22                     ` Henrique de Moraes Holschuh
2007-04-01 15:39                   ` Pavel Machek
2007-04-01 15:39                     ` Pavel Machek
2007-04-02 15:48                     ` Jean Delvare
2007-04-02 15:48                       ` [lm-sensors] " Jean Delvare
2007-04-02 19:22                       ` Dave Jones
2007-04-02 19:22                         ` [lm-sensors] " Dave Jones
2007-04-03  5:49                         ` Jean Delvare
2007-04-03  5:49                           ` [lm-sensors] " Jean Delvare
2007-04-02 20:55                       ` Moore, Robert
2007-04-02 20:55                         ` [lm-sensors] " Moore, Robert
2007-04-02 20:55                         ` Moore, Robert
2007-04-03  7:21                         ` Jean Delvare
2007-04-03  7:21                           ` [lm-sensors] " Jean Delvare
2007-04-03  7:21                           ` Jean Delvare
2007-04-04 21:35                           ` Moore, Robert
2007-04-04 21:35                             ` [lm-sensors] " Moore, Robert
2007-04-04 21:35                             ` Moore, Robert
2007-03-02 14:10               ` [lm-sensors] " Jean Delvare
2007-03-02 14:10                 ` Jean Delvare
2007-03-02 14:18                 ` Matthew Garrett
2007-03-02 14:18                   ` Matthew Garrett
2007-03-02 21:04                   ` Jean Delvare
2007-03-02 21:04                     ` Jean Delvare
2007-03-02 21:12                     ` Matthew Garrett
2007-03-02 21:12                       ` Matthew Garrett
2007-03-03  9:53                       ` Jean Delvare
2007-03-03  9:53                         ` Jean Delvare
2007-03-03 15:47                         ` David Hubbard
2007-03-03 15:47                           ` David Hubbard
2007-03-03 15:50                           ` Matthew Garrett
2007-03-03 15:50                             ` Matthew Garrett
2007-03-03 17:08                             ` Rudolf Marek
2007-03-03 17:08                               ` Rudolf Marek
2007-03-04 17:29                               ` Rudolf Marek
2007-03-04 17:29                                 ` Rudolf Marek
2007-03-05 21:16                                 ` Jean Delvare
2007-03-05 21:16                                   ` Jean Delvare
2007-03-05 21:35                                   ` David Hubbard
2007-03-05 21:35                                     ` David Hubbard
2007-03-06 15:10                                     ` Jean Delvare [this message]
2007-03-06 15:10                                       ` Jean Delvare
2007-03-04 10:54                           ` Jean Delvare
2007-03-04 10:54                             ` Jean Delvare
2007-03-05 22:25                         ` Pavel Machek
2007-03-05 22:25                           ` Pavel Machek
2007-03-06  7:55                           ` Benny Amorsen
2007-03-06  7:55                             ` Benny Amorsen
2007-03-06 15:26                           ` Jean Delvare
2007-03-06 15:26                             ` Jean Delvare
2007-03-06 20:07                             ` Stefan Monnier
2007-03-06 20:07                               ` Stefan Monnier
2007-03-06 20:07                               ` Stefan Monnier
2007-03-06 21:20                             ` Pavel Machek
2007-03-06 21:20                               ` Pavel Machek
2007-03-06 21:25                               ` Moore, Robert
2007-03-06 21:25                                 ` Moore, Robert
2007-03-06 21:25                                 ` Moore, Robert
2007-03-18 19:36                         ` richardvoigt
2007-03-18 19:36                           ` richardvoigt at gmail.com
2007-03-19  7:08                           ` Jean Delvare
2007-03-19  7:08                             ` Jean Delvare
2007-03-02 22:07                     ` Moore, Robert
2007-03-02 22:07                       ` Moore, Robert
2007-03-02 22:07                       ` Moore, Robert
2007-03-09  7:18                       ` Pavel Machek
2007-03-09  7:18                         ` Pavel Machek
2007-03-09 10:24                         ` Jean Delvare
2007-03-09 10:24                           ` Jean Delvare
2007-03-09 10:39                           ` Alexey Starikovskiy
2007-03-09 10:39                             ` Alexey Starikovskiy
2007-03-09 11:21                             ` Pavel Machek
2007-03-09 11:21                               ` Pavel Machek
2007-03-09 17:23                             ` Jean Delvare
2007-03-09 17:23                               ` Jean Delvare
2007-03-09 17:35                               ` Alexey Starikovskiy
2007-03-09 17:35                                 ` Alexey Starikovskiy
2007-03-09 21:03                                 ` Moore, Robert
2007-03-09 21:03                                   ` Moore, Robert
2007-03-09 21:03                                   ` Moore, Robert
2007-03-09 20:56                         ` Moore, Robert
2007-03-09 20:56                           ` Moore, Robert
2007-03-09 20:56                           ` Moore, Robert
2007-03-02 14:22                 ` Pavel Machek
2007-03-02 14:22                   ` Pavel Machek
2007-03-02 14:03             ` Jean Delvare
2007-03-02 14:03               ` Jean Delvare
2007-03-02 14:24               ` Pavel Machek
2007-03-02 14:24                 ` Pavel Machek
2007-03-02 14:57               ` Matthew Garrett
2007-03-02 14:57                 ` Matthew Garrett
2007-03-02 21:41                 ` Jean Delvare
2007-03-02 21:41                   ` Jean Delvare
2007-03-02 21:46                   ` Matthew Garrett
2007-03-02 21:46                     ` Matthew Garrett
2007-03-06 21:28                     ` Jean Delvare
2007-03-06 21:28                       ` Jean Delvare
2007-04-13 18:18               ` Bjorn Helgaas
2007-04-13 18:18                 ` Bjorn Helgaas
2007-04-13 20:07                 ` Pavel Machek
2007-04-13 20:07                   ` Pavel Machek
2007-04-13 20:59                   ` Bjorn Helgaas
2007-04-13 20:59                     ` Bjorn Helgaas
2007-04-15  9:41                     ` Jean Delvare
2007-04-15  9:41                       ` Jean Delvare
2007-04-15 20:31                       ` Bjorn Helgaas
2007-04-15 20:31                         ` Bjorn Helgaas
2007-04-15 20:59                         ` Luca Tettamanti
2007-04-15 20:59                           ` Luca Tettamanti
2007-04-16  0:57                           ` Bjorn Helgaas
2007-04-16  0:57                             ` Bjorn Helgaas
2007-04-16 21:14                             ` Luca Tettamanti
2007-04-16 21:14                               ` Luca Tettamanti
2007-04-16 22:28                               ` Bjorn Helgaas
2007-04-16 22:28                                 ` Bjorn Helgaas
2007-04-17 23:50                                 ` Luca Tettamanti
2007-04-17 23:50                                   ` Luca Tettamanti
2007-04-22 16:55                                   ` Luca Tettamanti
2007-04-22 16:55                                     ` Luca Tettamanti
2007-04-17 10:03                               ` Jean Delvare
2007-04-17 10:03                                 ` Jean Delvare
2007-02-18 22:43     ` Rudolf Marek
2007-02-18 22:43       ` Rudolf Marek
2007-02-20 15:08       ` Chuck Ebbert
2007-02-20 15:08         ` Chuck Ebbert
2007-02-20 19:11         ` Dave Jones
2007-02-20 19:11           ` Dave Jones
2007-02-21 16:17           ` Jean Delvare
2007-02-21 16:17             ` Jean Delvare
2007-02-21 17:37             ` Dave Jones
2007-02-21 17:37               ` Dave Jones
2007-02-21 20:19               ` Dave Jones
2007-02-21 20:19                 ` Dave Jones
2007-02-22 16:37                 ` Jean Delvare
2007-02-22 16:37                   ` Jean Delvare
2007-02-23  7:13                   ` Hans de Goede
2007-02-23  7:13                     ` [lm-sensors] " Hans de Goede
2007-02-23  7:13                     ` Hans de Goede
2007-02-23  7:47                     ` Jean Delvare
2007-02-23  7:47                       ` Jean Delvare
2007-02-21 14:54         ` Jean Delvare
2007-02-21 14:54           ` Jean Delvare
2007-02-21 16:03           ` Chuck Ebbert
2007-02-21 16:03             ` Chuck Ebbert
2007-02-21 16:22             ` Jean Delvare
2007-02-21 16:22               ` Jean Delvare
2007-02-23  8:08 ` Hans de Goede
2007-02-26 17:24 ` Jean Delvare
2007-02-26 19:03 ` Hans de Goede
2007-02-27  8:45 ` Jean Delvare
     [not found] <7PvLN-1cj-3@gated-at.bofh.it>
     [not found] ` <7TEGV-6Jy-39@gated-at.bofh.it>
     [not found]   ` <7TUBX-6TN-5@gated-at.bofh.it>
     [not found]     ` <7UeqX-4QO-17@gated-at.bofh.it>
     [not found]       ` <7UeqZ-4QO-27@gated-at.bofh.it>
     [not found]         ` <7UgM5-np-1@gated-at.bofh.it>
     [not found]           ` <7UgM8-np-11@gated-at.bofh.it>
     [not found]             ` <7UnaS-2xP-9@gated-at.bofh.it>
     [not found]               ` <7UnkC-2JB-9@gated-at.bofh.it>
     [not found]                 ` <7Uzcd-49u-3@gated-at.bofh.it>
     [not found]                   ` <7UEEN-4xi-3@gated-at.bofh.it>
2007-03-05 13:56                     ` Bodo Eggert
2007-03-05 13:56                       ` Bodo Eggert
2007-03-05 13:56                       ` Bodo Eggert
2007-03-06 15:19                       ` Jean Delvare
2007-03-06 15:19                         ` Jean Delvare
2007-03-06 20:40                         ` Bodo Eggert
2007-03-06 20:40                           ` Bodo Eggert
2007-03-07  9:17                           ` Jean Delvare
2007-03-07  9:17                             ` Jean Delvare
2007-03-07  9:36                             ` Pavel Machek
2007-03-07  9:36                               ` Pavel Machek
2007-03-07 17:09                             ` Bodo Eggert
2007-03-07 17:09                               ` Bodo Eggert

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=20070306161002.2a7d5c74.khali@linux-fr.org \
    --to=khali@linux-fr.org \
    --cc=Chuck@atrpms.net \
    --cc=Pavel@atrpms.net \
    --cc=cebbert@redhat.com \
    --cc=david.c.hubbard@gmail.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lm-sensors@lm-sensors.org \
    --cc=mjg59@srcf.ucam.org \
    --cc=pavel@ucw.cz \
    --cc=r.marek@assembler.cz \
    /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.