linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lv Zheng <lv.zheng@intel.com>
To: Len Brown <len.brown@intel.com>,
	Rafael J Wysocki <rafael.j.wysocki@intel.com>,
	Robert Moore <robert.moore@intel.com>
Cc: linux-acpi@vger.kernel.org, devel@acpica.org,
	Lv Zheng <lv.zheng@intel.com>
Subject: [PATCH 0/3] ACPICA: Reduce source code differences between Linux and ACPICA.
Date: Mon, 31 Dec 2012 08:23:40 +0800	[thread overview]
Message-ID: <cover.1356871667.git.lv.zheng@intel.com> (raw)

This patch set is based on the ACPICA 20121220 release.

This patch set has passed basic build and boot tests.

The source code differences between Linux and ACPICA can be summarized as
follows:
1. 1976 Lines (70.5 Kbytes) before applying the patch set;
2. 1796 Lines (64.8 Kbytes) after applying the patch set.

Please review.

Lv Zheng (3):
  ACPICA: Cleanup PM_TIMER_FREQUENCY definition.
  ACPICA: Cleanup table handler naming conflicts.
  ACPICA: Add new statistics interface.

 drivers/acpi/acpica/acglobal.h |    4 +++-
 drivers/acpi/acpica/dsmethod.c |    1 +
 drivers/acpi/acpica/evsci.c    |    1 +
 drivers/acpi/acpica/tbxface.c  |    4 ++--
 drivers/acpi/acpica/utglobal.c |   11 +++++++++++
 drivers/acpi/acpica/utxface.c  |   38 ++++++++++++++++++++++++++++++++++++++
 drivers/acpi/numa.c            |    2 +-
 drivers/acpi/processor_idle.c  |    5 +++--
 drivers/acpi/tables.c          |    6 +++---
 include/acpi/acpixf.h          |    6 ++++--
 include/acpi/actypes.h         |   16 +++++++++++-----
 include/linux/acpi.h           |   15 ++++++++++-----
 12 files changed, 88 insertions(+), 21 deletions(-)

---

         Background of "ACPICA <-> Linux Divergences Fixes"

The divergences fixes are meant to make the ACPICA release engineering work
easier. More jobs can be done by the scripts running on the machines without
the human intervention if the divergences can be controlled down to an
acceptable level.

The fixes will use the following two steps to reduce the divergences:
1. Fix the "cosmetic" stuff:
   The ACPICA release engineers will focus on the divergences that relate
   to the "commentary", "indentation", "coding styles", "debug messages",
   "code block offsetting", etc. in this step.
   Such divergences are fixed so that the "useful" stuff can rise to the
   surface. Most of the fixes do not affect the generation of the Linux
   binary, some of them do not affect the functionality of the generated
   Linux binary. Since introducing such fixes to Linux is low risk and some
   release patches depend on the divergences fixes, the work might be done
   by the ACPICA release engineers using a reduced community process. Such
   fixes will be attached on top of the release patch set directly during
   the release work.
   Such "cosmetic" fixes are expected to be done in 2-4 merge cycles.
2. Fix the "useful" stuff:
   Either by porting the Linux bug fixes to the ACPICA.
   Or by merging the lost ACPICA features to the Linux.
   These patches will be sent to community one by one, awaiting comments,
   then get merged. They will not appear in the release patch set.

Every "cosmetic" divergences fix patch lists the line number of the
divergences reduced by the patch.
The divergences result is generated by the following steps:
---------------------------------------------------------------------------
1. pop the patch from the kernel
2. divergence.sh -s <kernel source tree>
3. push the patch to the kernel
4. divergence.sh -s <kernel source tree>
---------------------------------------------------------------------------
Where the divergence.sh can be found in the generate/linux folder of the
acpica project source tree.

If a "cosmetic" divergences fix patch does not affect the generation of the
Linux binary, you can find a binary comparision result in the patch
description.
The comparision result is generated by the following steps:
---------------------------------------------------------------------------
1. pop the patch and build the kernel
2. objcopy -R .notes binary1 > binary2
3. objdump -d binary2 > before.dump
4. push the patch and build the kernel
5. objcopy -R .notes binary1 > binary2
6. objdump -d binary2 > after.dump
7. diff -u before.dump after.dump
---------------------------------------------------------------------------
Where:
1. Basically, binary1 will be "drivers/acpi/acpica/acpi.o". The same
   process will be executed on "vmlinux" for confirmation if there are
   header file changes that will seriously affect the generation of the
   vmlinux.
2. The build step is done by an i386 toolchain so we need to delete .note
   section which belongs to the .text section to avoid confusions.

If you have concerns about such fixes, please do not send your blame to the
code authors or the subsystem maintainers as they have done the right
things to help improve the Linux or the ACPICA. Please send your blame to
the following mail address whose owner is the culprit doing the bad things
(ex. introducing the mistakes) during the release engineering work.
---------------------------------------------------------------------------
Lv "ZETALOG" Zheng <lv.zheng@intel.com>
---------------------------------------------------------------------------

-- 
1.7.10


             reply	other threads:[~2012-12-31  0:23 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-31  0:23 Lv Zheng [this message]
2012-12-31  0:25 ` [PATCH 1/3] ACPICA: Cleanup PM_TIMER_FREQUENCY definition Lv Zheng
2012-12-31  0:26 ` [PATCH 2/3] ACPICA: Cleanup table handler naming conflicts Lv Zheng
2012-12-31  0:26 ` [PATCH 3/3] ACPICA: Add new statistics interface Lv Zheng

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=cover.1356871667.git.lv.zheng@intel.com \
    --to=lv.zheng@intel.com \
    --cc=devel@acpica.org \
    --cc=len.brown@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=rafael.j.wysocki@intel.com \
    --cc=robert.moore@intel.com \
    /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;
as well as URLs for NNTP newsgroup(s).