public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Dou Liyang <douly.fnst@cn.fujitsu.com>
To: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
	"Rafael J. Wysocki" <rafael@kernel.org>
Cc: ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: A question about acpi_early_init(), and want to invoke acpi_early_init() earlier
Date: Tue, 11 Jul 2017 21:29:31 +0800	[thread overview]
Message-ID: <5924e260-e16d-20be-7cba-df7f8f8e65a1@cn.fujitsu.com> (raw)
In-Reply-To: <b94f8c2e-394f-108b-155b-17fb3f9c4772@cn.fujitsu.com>



At 07/11/2017 09:26 PM, Dou Liyang wrote:
> Hi, Rafael
>
> Recently, I worked for unify the interrupt delivery mode and do its
> setup earlier[1]. And I met a bug about ACPI[2].
>
> When I investigated it, I got your commit c4e1acbb35e4 (ACPI / init:
> Run acpi_early_init() before timekeeping_init()).  And I reproduced the

Oops, Make a mistake,

your commit c4e1acbb35e4 (ACPI / init: Invoke early ACPI initialization 
later)

Thanks,

	dou
> problem you said.
>
> Question:
> --------
>
> In the changelog of commit:
>
>> Commit 73f7d1ca3263 (ACPI / init: Run acpi_early_init() before
>> timekeeping_init()) optimistically moved the early ACPI initialization
>> before timekeeping_init(), but that didn't work, because it broke fast
>> TSC calibration for Julian Wollrath on Thinkpad x121e (and most likely
>
> Here, does the fast TSC calibration means *quick_pit_calibrate()* ?
>
>> for others too).  The reason is that acpi_early_init() enables the SCI
>> and that interferes with the fast TSC calibration mechanism.
>
> I reproduced it by the following command line:
>     ...noapic acpi_sci=level...
>
> the original dmesg is:
>
> [    0.000000] tsc: Fast TSC calibration using PIT
>
> the broken dmesg is:
>
> [    0.001000] tsc: PIT calibration matches HPET. 1 loops
>
> Is it right? If it is wrong, please give the right process for
> reproducing.
>
>>
>> Thus follow the original idea to execute acpi_early_init() before
>> efi_enter_virtual_mode() to help the EFI people for now and we can
>> revisit the other problem that commit 73f7d1ca3263 attempted to
>> address in the future (if really necessary).
>
> If the result which I reproduced was right, I think we can do what
> the commit 73f7d1ca3263 attempted to do now. And it also can fix the
> bug[2].
>
> Because my patchset[1] will setup the interrupt delivery mode earlier
> than TSC initialization. So, in Fast TSC calibration, kernel is in its
> final interrupt mode, not just PIC mode. The change of trigger type
> will never break the Fast TSC calibration(I have tested in my box).
>
>
> [1] https://lkml.org/lkml/2017/6/30/17
> [2] https://lists.gt.net/xen/devel/483350
>
>
> Thanks,
>
>     dou.
>

  reply	other threads:[~2017-07-11 13:29 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-11 13:26 A question about acpi_early_init(), and want to invoke acpi_early_init() earlier Dou Liyang
2017-07-11 13:29 ` Dou Liyang [this message]
2017-07-13  5:53 ` Dou Liyang
2017-07-14 15:01   ` Julian Wollrath
2017-07-18  0:53     ` Dou Liyang

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=5924e260-e16d-20be-7cba-df7f8f8e65a1@cn.fujitsu.com \
    --to=douly.fnst@cn.fujitsu.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rafael@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox