Linux Power Management development
 help / color / mirror / Atom feed
* Re: [PATCHv3] ARM: EXYNOS4: Support for generic I/O power domains on EXYNOS4210
From: Chanwoo Choi @ 2011-07-16  3:58 UTC (permalink / raw)
  To: Kukjin Kim
  Cc: 'Sylwester Nawrocki', 'linux-samsung-soc',
	'linux-kernel', 'Kyungmin Park',
	'MyungJoo Ham', linux-pm
In-Reply-To: <035201cc4367$2b165c80$81431580$%kim@samsung.com>

Kukjin Kim wrote:
> Chanwoo Choi wrote:
>> Kukjin Kim wrote:
> 
> (snip)
> 
>>>> @@ -183,6 +183,7 @@ config MACH_NURI
>>>>  	select EXYNOS4_SETUP_SDHCI
>>>>  	select EXYNOS4_SETUP_USB_PHY
>>>>  	select SAMSUNG_DEV_PWM
>>>> +	select PM_GENERIC_DOMAINS if PM
>>> Do you _really_ think this should be under MACH_NURI?
>>>
>> This patch apply the generic power-domain to NURI board.
> 
> I mean, the PM_GENERIC_DOMAINS feature depends on CPU not board even though this is for only NURI board.
> 
OK, I will move it from CONFIG_MACH_NURI to CONFIG_CPU_EXYNOS4210 in arch/arm/mach-exynos4/Kconfig.

> (snip)
> 
>>>> diff --git a/arch/arm/mach-exynos4/include/mach/pm-exynos4210.h
>>>> b/arch/arm/mach-exynos4/include/mach/pm-exynos4210.h
>>>> new file mode 100644
>>>> index 0000000..ab09034
>>>> --- /dev/null
>>>> +++ b/arch/arm/mach-exynos4/include/mach/pm-exynos4210.h
>>>> @@ -0,0 +1,53 @@
>>>> +/* linux/arch/arm/mach-exynos4/include/mach/pm-exynos4.h
>>> According to your file name, should be linux/arch/arm/mach-
>> exynos4/include/mach/pm-exynos4210.h ?
>>
> I said just typo...
> 
> +/* linux/arch/arm/mach-exynos4/include/mach/pm-exynos4210.h
> 
>> This patch support only power-domain of EXYNOS4210, so I named "pm-
>> exynos4210.h"
>> If EXYNOS4 series board will be released, I will modify include file name
>> from "pm-exynos4210.h" to "pm-exynos4.h" to support all EXYNOS4 series.
> 
> No need it, it's different.

My mistake. I will fix it.
> 
> (snip)
> 
>>> Would be better if you could add some common function for pd_power_up and
>> _down...
>>
>> What do you mean about common function?
>>
> I thought, pd_power_up and _down can be implemented in one function.
> 

OK, If you want to combine two function(pd_power_up and pd_power_down),
I will modify it.

> (snip)
> 
>>> I wonder why we need to add this for handling power domain not update current
>> pd.
>>
> See arch/arm/mach-exynos4/dev-pd.c
> 
> I mean, we _really_ need to keep duplication files for handling power domain?...

Now, you're right. 
But, If Generic Power-domain Framework will be applied to the mainline,
I think it necessary that we should apply Generic Power-domain Framework to all of 
the board using EXYNOS4210(arch/arm/mach-exynos4) and delete old power-domain
(arch/arm/mach-exynos4/dev-pd.c) to remove duplication file.

Thanks & Regards,
Chanwoo Choi

^ permalink raw reply

* [GIT PULL] MIPS build fix related to power management for 3.0
From: Rafael J. Wysocki @ 2011-07-16 21:50 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-mips, Linux PM mailing list, LKML, Ralf Baechle

Hi Linus,

Please pull a MIPS build fix related to PM for 3.0 from:

git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6.git pm-fixes

It fixes a build regression resulting from a missing conversion from using
a sysdev to using syscore_ops for PM/shutdown in the MIPS tree.


 arch/mips/kernel/i8259.c |   22 ++++++----------------
 1 files changed, 6 insertions(+), 16 deletions(-)

----------

Rafael J. Wysocki (1):
      PM / MIPS: Convert i8259.c to using syscore_ops

^ permalink raw reply

* [PATCH v2 1/5] fault-injection: notifier error injection
From: Akinobu Mita @ 2011-07-18  1:16 UTC (permalink / raw)
  To: linux-kernel, akpm
  Cc: Greg Kroah-Hartman, Akinobu Mita, linux-mm, Paul Mackerras,
	linux-pm, linuxppc-dev
In-Reply-To: <1310951766-3840-1-git-send-email-akinobu.mita@gmail.com>

The notifier error injection provides the ability to inject artifical
errors to specified notifier chain callbacks. It is useful to test
the error handling of notifier call chain failures.

This adds common basic functions to define which type of events can be
fail and to initialize the debugfs interface to control what error code
should be returned and which event should be failed.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: linux-pm@lists.linux-foundation.org
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Cc: linux-mm@kvack.org
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@lists.ozlabs.org
---
* v2
- put a comment in err_inject_notifier_block_init()
- only allow valid errno to be injected (-MAX_ERRNO <= errno <= 0)

 include/linux/notifier.h |   25 ++++++++++++++
 kernel/notifier.c        |   81 ++++++++++++++++++++++++++++++++++++++++++++++
 lib/Kconfig.debug        |   11 ++++++
 3 files changed, 117 insertions(+), 0 deletions(-)

diff --git a/include/linux/notifier.h b/include/linux/notifier.h
index c0688b0..51882d6 100644
--- a/include/linux/notifier.h
+++ b/include/linux/notifier.h
@@ -278,5 +278,30 @@ extern struct blocking_notifier_head reboot_notifier_list;
 #define VT_UPDATE		0x0004 /* A bigger update occurred */
 #define VT_PREWRITE		0x0005 /* A char is about to be written to the console */
 
+#ifdef CONFIG_NOTIFIER_ERROR_INJECTION
+
+struct err_inject_notifier_action {
+	unsigned long val;
+	int error;
+	const char *name;
+};
+
+#define ERR_INJECT_NOTIFIER_ACTION(action)	\
+	.name = #action, .val = (action),
+
+struct err_inject_notifier_block {
+	struct notifier_block nb;
+	struct dentry *dir;
+	struct err_inject_notifier_action actions[];
+	/* The last slot must be terminated with zero sentinel */
+};
+
+extern int err_inject_notifier_block_init(struct err_inject_notifier_block *enb,
+				const char *name, int priority);
+extern void err_inject_notifier_block_cleanup(
+				struct err_inject_notifier_block *enb);
+
+#endif /* CONFIG_NOTIFIER_ERROR_INJECTION */
+
 #endif /* __KERNEL__ */
 #endif /* _LINUX_NOTIFIER_H */
diff --git a/kernel/notifier.c b/kernel/notifier.c
index 2488ba7..8824ae3 100644
--- a/kernel/notifier.c
+++ b/kernel/notifier.c
@@ -5,6 +5,7 @@
 #include <linux/rcupdate.h>
 #include <linux/vmalloc.h>
 #include <linux/reboot.h>
+#include <linux/debugfs.h>
 
 /*
  *	Notifier list for kernel code which wants to be called
@@ -584,3 +585,83 @@ int unregister_die_notifier(struct notifier_block *nb)
 	return atomic_notifier_chain_unregister(&die_chain, nb);
 }
 EXPORT_SYMBOL_GPL(unregister_die_notifier);
+
+#ifdef CONFIG_NOTIFIER_ERROR_INJECTION
+
+static int debugfs_errno_set(void *data, u64 val)
+{
+	*(int *)data = clamp_t(int, val, -MAX_ERRNO, 0);
+	return 0;
+}
+
+static int debugfs_errno_get(void *data, u64 *val)
+{
+	*val = *(int *)data;
+	return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(fops_errno, debugfs_errno_get, debugfs_errno_set,
+			"%lld\n");
+
+static struct dentry *debugfs_create_errno(const char *name, mode_t mode,
+				struct dentry *parent, int *value)
+{
+	return debugfs_create_file(name, mode, parent, value, &fops_errno);
+}
+
+static int err_inject_notifier_callback(struct notifier_block *nb,
+				unsigned long val, void *p)
+{
+	int err = 0;
+	struct err_inject_notifier_block *enb =
+		container_of(nb, struct err_inject_notifier_block, nb);
+	struct err_inject_notifier_action *action;
+
+	for (action = enb->actions; action->name; action++) {
+		if (action->val == val) {
+			err = action->error;
+			break;
+		}
+	}
+	if (err) {
+		printk(KERN_INFO "Injecting error (%d) to %s\n",
+			err, action->name);
+	}
+
+	return notifier_from_errno(err);
+}
+
+int err_inject_notifier_block_init(struct err_inject_notifier_block *enb,
+				const char *name, int priority)
+{
+	struct err_inject_notifier_action *action;
+	mode_t mode = S_IFREG | S_IRUSR | S_IWUSR;
+
+	enb->nb.notifier_call = err_inject_notifier_callback;
+	enb->nb.priority = priority;
+
+	enb->dir = debugfs_create_dir(name, NULL);
+	if (!enb->dir)
+		return -ENOMEM;
+
+	for (action = enb->actions; action->name; action++) {
+		/*
+		 * Create debugfs r/w file containing action->error. If
+		 * notifier call chain is called with action->val, it will
+		 * fail with the error code
+		 */
+		if (!debugfs_create_errno(action->name, mode, enb->dir,
+					&action->error)) {
+			debugfs_remove_recursive(enb->dir);
+			return -ENOMEM;
+		}
+	}
+	return 0;
+}
+
+void err_inject_notifier_block_cleanup(struct err_inject_notifier_block *enb)
+{
+	debugfs_remove_recursive(enb->dir);
+}
+
+#endif /* CONFIG_NOTIFIER_ERROR_INJECTION */
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index dd373c8..8c6ce7e 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1018,6 +1018,17 @@ config LKDTM
 	Documentation on how to use the module can be found in
 	Documentation/fault-injection/provoke-crashes.txt
 
+config NOTIFIER_ERROR_INJECTION
+	bool "Notifier error injection"
+	depends on DEBUG_KERNEL
+	select DEBUG_FS
+	help
+	  This option provides the ability to inject artifical errors to
+	  specified notifier chain callbacks. It is useful to test the error
+	  handling of notifier call chain failures.
+
+	  Say N if unsure.
+
 config CPU_NOTIFIER_ERROR_INJECT
 	tristate "CPU notifier error injection module"
 	depends on HOTPLUG_CPU && DEBUG_KERNEL
-- 
1.7.4.4

^ permalink raw reply related

* [PATCH v2 3/5] PM: PM notifier error injection
From: Akinobu Mita @ 2011-07-18  1:16 UTC (permalink / raw)
  To: linux-kernel, akpm; +Cc: linux-pm, Akinobu Mita
In-Reply-To: <1310951766-3840-1-git-send-email-akinobu.mita@gmail.com>

This provides the ability to inject artifical errors to PM notifier
chain callbacks.  It is controlled through debugfs interface under
/sys/kernel/debug/pm-notifier-error-inject/

Each of the files in the directory represents an event which can be
failed and contains the error code.  If the notifier call chain should
be failed with some events notified, write the error code to the files.

Example: Inject PM suspend error (-12 = -ENOMEM)

	# cd /sys/kernel/debug/pm-notifier-error-inject
	# echo -12 > PM_SUSPEND_PREPARE
	# echo mem > /sys/power/state
	bash: echo: write error: Cannot allocate memory

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: linux-pm@lists.linux-foundation.org
---
* v2
- improve Kconfig help text
- make CONFIG_PM_NOTIFIER_ERROR_INJECTION visible even if PM_DEBUG is disabled
- make CONFIG_PM_NOTIFIER_ERROR_INJECTION default if PM_DEBUG is enabled

 kernel/power/main.c |   30 ++++++++++++++++++++++++++++++
 lib/Kconfig.debug   |   16 ++++++++++++++++
 2 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/kernel/power/main.c b/kernel/power/main.c
index 6c601f8..04b3774 100644
--- a/kernel/power/main.c
+++ b/kernel/power/main.c
@@ -42,6 +42,36 @@ int pm_notifier_call_chain(unsigned long val)
 	return notifier_to_errno(ret);
 }
 
+#ifdef CONFIG_PM_NOTIFIER_ERROR_INJECTION
+
+static struct err_inject_notifier_block err_inject_pm_notifier = {
+	.actions = {
+		{ ERR_INJECT_NOTIFIER_ACTION(PM_HIBERNATION_PREPARE) },
+		{ ERR_INJECT_NOTIFIER_ACTION(PM_SUSPEND_PREPARE) },
+		{ ERR_INJECT_NOTIFIER_ACTION(PM_RESTORE_PREPARE) },
+		{}
+	}
+};
+
+static int __init err_inject_pm_notifier_init(void)
+{
+	int err;
+
+	err = err_inject_notifier_block_init(&err_inject_pm_notifier,
+				"pm-notifier-error-inject", -1);
+	if (err)
+		return err;
+
+	err = register_pm_notifier(&err_inject_pm_notifier.nb);
+	if (err)
+		err_inject_notifier_block_cleanup(&err_inject_pm_notifier);
+
+	return err;
+}
+late_initcall(err_inject_pm_notifier_init);
+
+#endif /* CONFIG_PM_NOTIFIER_ERROR_INJECTION */
+
 /* If set, devices may be suspended and resumed asynchronously. */
 int pm_async_enabled = 1;
 
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index d1bbedd..e5671ba 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -1049,6 +1049,22 @@ config CPU_NOTIFIER_ERROR_INJECTION
 	  # echo 0 > /sys/devices/system/cpu/cpu1/online
 	  bash: echo: write error: Operation not permitted
 
+config PM_NOTIFIER_ERROR_INJECTION
+	bool "PM notifier error injection"
+	depends on PM && NOTIFIER_ERROR_INJECTION
+	default PM_DEBUG
+	help
+	  This option provides the ability to inject artifical errors to
+	  PM notifier chain callbacks.  It is controlled through debugfs
+	  interface.
+
+	  Example: Inject PM suspend error (-12 = -ENOMEM)
+
+	  # cd /sys/kernel/debug/pm-notifier-error-inject
+	  # echo -12 > PM_SUSPEND_PREPARE
+	  # echo mem > /sys/power/state
+	  bash: echo: write error: Cannot allocate memory
+
 config CPU_NOTIFIER_ERROR_INJECT
 	tristate "CPU notifier error injection module"
 	depends on HOTPLUG_CPU && DEBUG_KERNEL
-- 
1.7.4.4

^ permalink raw reply related

* Re: [PATCH v4 3/3] PM / DEVFREQ: add sysfs interface (including user tickling)
From: MyungJoo Ham @ 2011-07-19  2:14 UTC (permalink / raw)
  To: Pavel Machek
  Cc: Len Brown, Greg Kroah-Hartman, Kyungmin Park, linux-pm,
	Thomas Gleixner
In-Reply-To: <20110609171157.GA3877@ucw.cz>

On Fri, Jun 10, 2011 at 2:11 AM, Pavel Machek <pavel@ucw.cz> wrote:
> Hi!
>
>> +What:                /sys/devices/.../power/devfreq_polling_interval
>> +Date:                July 2011
>> +Contact:     MyungJoo Ham <myungjoo.ham@samsung.com>
>> +Description:
>> +             The /sys/devices/.../power/devfreq_polling_interval shows the
>> +             requested polling interval of the corresponding device.
>
> AFAICT, polling only makes sense for one governor; and I guess more
> governor parameters will be needed in future. Should polling interval
> be governor-specific?

struct devfreq_governor {
        char name[DEVFREQ_NAME_LEN];
        void *data; /* private data for get_target_freq */
        int (*get_target_freq)(struct devfreq *this, unsigned long *freq);
};

The "data" entry in struct devfreq_governor is meant to be the
parameters as well as internal governor data in the future; the
current three example governors do not need it anyway.

Unlike CPUFREQ, we have many heterogeneous devices to support with
DEVFREQ. Thus, a specific device may need a governor with its own
unique design and supply such a governor (not defined as those
examples in devfreq.c) with devfreq_add_device.


And, yes. Among those three examples, only "simple-ondemand" is
required to use polling interval.

However, any drivers may add its own governors with polling and
tickling requires polling interval regardless of the governor used.

Therefore, I think polling interval is not governor specific in devfreq.


Thank you.
- MyungJoo

> --
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
>



-- 
MyungJoo Ham (함명주), Ph.D.
Mobile Software Platform Lab,
Digital Media and Communications (DMC) Business
Samsung Electronics
cell: 82-10-6714-2858
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply

* Re: [GIT PULL] MIPS build fix related to power management for 3.0
From: Yuasa Yoichi @ 2011-07-19  5:35 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: linux-mips, Linux PM mailing list, Linus Torvalds, LKML,
	Ralf Baechle
In-Reply-To: <201107162350.51025.rjw@sisk.pl>

Hi,

2011/7/17 Rafael J. Wysocki <rjw@sisk.pl>:
> Hi Linus,
>
> Please pull a MIPS build fix related to PM for 3.0 from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6.git pm-fixes
>
> It fixes a build regression resulting from a missing conversion from using
> a sysdev to using syscore_ops for PM/shutdown in the MIPS tree.

It has already been fixed in MIPS tree.

Yoichi

^ permalink raw reply

* Re: [PATCH 01/11] PM: add a per-device wake-up latency constraints plist
From: Jean Pihet @ 2011-07-20  8:57 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: markgross, Linux PM mailing list, linux-omap, Jean Pihet
In-Reply-To: <201107022139.51579.rjw@sisk.pl>

Hi Rafael,

2011/7/2 Rafael J. Wysocki <rjw@sisk.pl>:
> Hi,
>
> On Thursday, June 30, 2011, jean.pihet@newoldbits.com wrote:
...

>> @@ -462,6 +463,7 @@ struct dev_pm_info {
>>       unsigned long           accounting_timestamp;
>>       void                    *subsys_data;  /* Owned by the subsystem. */
>>  #endif
>> +     struct plist_head       wakeup_lat_plist_head;
>>  };
>
> Please use a better name.  I mean, relly, the type implies that this is a
> plist head, so that doesn't need to appear in the field name too.  Also,
> the name is confusing, because "wakeup" may mean a couple of different things
> and it's not entirely clear what "lat" stands for.  So, I'd prefer something
> like
>
> +       struct plist_head       latency_constraints;
>
> or perhaps you can invent something even better.
I am OK with your suggestion and I will update the naming.

>
>>
>>  extern void update_pm_runtime_accounting(struct device *dev);
>>
>
> Thanks,
> Rafael

Thanks,
Jean

> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply

* Re: [PATCH 02/11] PM: extend PM QoS with per-device wake-up constraints
From: Jean Pihet @ 2011-07-20  9:13 UTC (permalink / raw)
  To: Rafael J. Wysocki, markgross
  Cc: Linux PM mailing list, linux-omap, Jean Pihet
In-Reply-To: <201107022310.50175.rjw@sisk.pl>

Hi Rafael, Mark,

- Looping in Mark for the user space API

2011/7/2 Rafael J. Wysocki <rjw@sisk.pl>:
> Hi,
>
> On Thursday, June 30, 2011, jean.pihet@newoldbits.com wrote:
>> From: Jean Pihet <j-pihet@ti.com>
>>
>> - add a new PM QoS class PM_QOS_DEV_WAKEUP_LATENCY for device wake-up
>> constraints. Due to the per-device nature of the new class the constraints
>> list is stored inside the device dev_pm_info struct instead of the internal
>> per-class constraints lists.
>
> I think PM_QOS_DEV_LATENCY might be a better name.
Ok, will update.

>
>> The new class is only available from kernel drivers and so is not exported
>> to user space.
>
> It should be available to user space, however, because in many cases drivers
> simply have no idea what values to use (after all, the use decides if he
> wants to trade worse video playback quality for better battery life, for
> example).
Ok. A per-device sysfs entry can be used as the user space interface.
Multiple users could access the same device constraints entry. Cf. the
existing implementation in kernel/pm_qos_params.c as an example.

Mark,
In a previous e-mail discussion you mentioned some concerns about the
user space API. Can you please give more details about it? Is the
proposed user space API suited?

>
>> The new class is used to put constraints on given devices in the system
>> while the existing PM_QOS_CPU_DMA_LATENCY class is used by cpuidle to
>> determine the next MPU subsystem state.
>>
>> - make the pm_qos_add_request API more generic by using a struct
>> pm_qos_parameters parameter
>>
>> - the notification mechanism now passes the constraint request struct ptr
>> in order for the notifier callback to have access to the full set of
>> constraint data, e.g. the struct device ptr
>>
>> - update the pm_qos_add_request callers to the generic API
>>
>> - minor clean-ups and rename of struct fields
>>
>> Signed-off-by: Jean Pihet <j-pihet@ti.com>
>
> Well, I think this patch attempts to do too many things at a time, which
> makes it somewhat hard to comprehend at first glance.  I'd stronly suggest
> splitting it into a series of patches that first modify the existing API
> to make it suitable for the "real" changes and second introduce those
> "real" chages in the most straightforward way possible.
Ok will split it up in a patch for 'hollow' API changes, then the
implementation itself in a separate patch.

>
>> ---
>>  arch/arm/plat-omap/i2c.c               |   20 ----
>>  drivers/i2c/busses/i2c-omap.c          |   35 ++++---
>>  drivers/media/video/via-camera.c       |    5 +-
>>  drivers/net/e1000e/netdev.c            |    9 +-
>>  drivers/net/wireless/ipw2x00/ipw2100.c |    6 +-
>>  include/linux/pm_qos_params.h          |   40 +++++---
>>  kernel/pm_qos_params.c                 |  185 +++++++++++++++++++-------------
>
> Hmm.  If you're at it, what about moving pm_qos_params.c to kernel/power
> and changing its name to pm_qos.c beforehand?
>
> The header might be called pm_qos.h too, BTW.
Ok, will update it.

>
>>  sound/core/pcm_native.c                |    8 +-
>>  8 files changed, 177 insertions(+), 131 deletions(-)
>>
> ...
>> diff --git a/include/linux/pm_qos_params.h b/include/linux/pm_qos_params.h
>> index a7d87f9..e6e16cb 100644
>> --- a/include/linux/pm_qos_params.h
>> +++ b/include/linux/pm_qos_params.h
>> @@ -8,31 +8,41 @@
>>  #include <linux/notifier.h>
>>  #include <linux/miscdevice.h>
>>
>> -#define PM_QOS_RESERVED 0
>> -#define PM_QOS_CPU_DMA_LATENCY 1
>> -#define PM_QOS_NETWORK_LATENCY 2
>> -#define PM_QOS_NETWORK_THROUGHPUT 3
>> +#define      PM_QOS_RESERVED                 0
>> +#define      PM_QOS_CPU_DMA_LATENCY          1
>> +#define      PM_QOS_DEV_WAKEUP_LATENCY       2
>> +#define      PM_QOS_NETWORK_LATENCY          3
>> +#define      PM_QOS_NETWORK_THROUGHPUT       4
>>
>> -#define PM_QOS_NUM_CLASSES 4
>> -#define PM_QOS_DEFAULT_VALUE -1
>> +#define PM_QOS_NUM_CLASSES           5
>> +#define PM_QOS_DEFAULT_VALUE         -1
>>
>> -#define PM_QOS_CPU_DMA_LAT_DEFAULT_VALUE     (2000 * USEC_PER_SEC)
>> -#define PM_QOS_NETWORK_LAT_DEFAULT_VALUE     (2000 * USEC_PER_SEC)
>> -#define PM_QOS_NETWORK_THROUGHPUT_DEFAULT_VALUE      0
>> +#define      PM_QOS_CPU_DMA_LAT_DEFAULT_VALUE        (2000 * USEC_PER_SEC)
>> +#define      PM_QOS_DEV_WAKEUP_LAT_DEFAULT_VALUE     0
>> +#define      PM_QOS_NETWORK_LAT_DEFAULT_VALUE        (2000 * USEC_PER_SEC)
>> +#define      PM_QOS_NETWORK_THROUGHPUT_DEFAULT_VALUE 0
>>
>>  struct pm_qos_request_list {
>>       struct plist_node list;
>> -     int pm_qos_class;
>> +     int class;
>> +     struct device *dev;
>>  };
>>
>> -void pm_qos_add_request(struct pm_qos_request_list *l, int pm_qos_class, s32 value);
>> +struct pm_qos_parameters {
>> +     int class;
>> +     struct device *dev;
>> +     s32 value;
>> +};
>> +
>> +void pm_qos_add_request(struct pm_qos_request_list *l,
>> +                     struct pm_qos_parameters *params);
>>  void pm_qos_update_request(struct pm_qos_request_list *pm_qos_req,
>> -             s32 new_value);
>> +                        s32 new_value);
>>  void pm_qos_remove_request(struct pm_qos_request_list *pm_qos_req);
>>
>> -int pm_qos_request(int pm_qos_class);
>> -int pm_qos_add_notifier(int pm_qos_class, struct notifier_block *notifier);
>> -int pm_qos_remove_notifier(int pm_qos_class, struct notifier_block *notifier);
>> +int pm_qos_request(int class);
>> +int pm_qos_add_notifier(int class, struct notifier_block *notifier);
>> +int pm_qos_remove_notifier(int class, struct notifier_block *notifier);
>>  int pm_qos_request_active(struct pm_qos_request_list *req);
>>
>>  #endif
>> diff --git a/kernel/pm_qos_params.c b/kernel/pm_qos_params.c
>> index 6824ca7..d61c8e5 100644
>> --- a/kernel/pm_qos_params.c
>> +++ b/kernel/pm_qos_params.c
>> @@ -60,7 +60,7 @@ enum pm_qos_type {
>>   * types linux supports for 32 bit quantites
>>   */
>>  struct pm_qos_object {
>> -     struct plist_head requests;
>> +     struct plist_head *requests;
>>       struct blocking_notifier_head *notifiers;
>>       struct miscdevice pm_qos_power_miscdev;
>>       char *name;
>
> So, I gather the idea is to have "requests" point to the device's private
> list of latency constraints.  [BTW, there seems to be a naming confusion,
> because you tend to call those things "constraints" rather that "requests".]
Ok will change the naming.

> If so, doesn't that mean we'll need a per-device struct pm_qos_object too?
> In which case why not to make the device object point to that pm_qos_object
> object instead?
>
>> @@ -72,9 +72,12 @@ struct pm_qos_object {
>>  static DEFINE_SPINLOCK(pm_qos_lock);
>>
>>  static struct pm_qos_object null_pm_qos;
>> +
>>  static BLOCKING_NOTIFIER_HEAD(cpu_dma_lat_notifier);
>> +static struct plist_head _cpu_dma_reqs =
>> +                     PLIST_HEAD_INIT(_cpu_dma_reqs, pm_qos_lock);
>>  static struct pm_qos_object cpu_dma_pm_qos = {
>> -     .requests = PLIST_HEAD_INIT(cpu_dma_pm_qos.requests, pm_qos_lock),
>> +     .requests = &_cpu_dma_reqs,
>>       .notifiers = &cpu_dma_lat_notifier,
>>       .name = "cpu_dma_latency",
>>       .target_value = PM_QOS_CPU_DMA_LAT_DEFAULT_VALUE,
>> @@ -82,9 +85,20 @@ static struct pm_qos_object cpu_dma_pm_qos = {
>>       .type = PM_QOS_MIN,
>>  };
>>
>> +static BLOCKING_NOTIFIER_HEAD(dev_wakeup_lat_notifier);
>> +static struct pm_qos_object dev_wakeup_lat_pm_qos = {
>> +     .notifiers = &dev_wakeup_lat_notifier,
>> +     .name = "dev_wakeup_latency",
>> +     .target_value = PM_QOS_DEV_WAKEUP_LAT_DEFAULT_VALUE,
>> +     .default_value = PM_QOS_DEV_WAKEUP_LAT_DEFAULT_VALUE,
>> +     .type = PM_QOS_MIN,
>> +};
>> +
>>  static BLOCKING_NOTIFIER_HEAD(network_lat_notifier);
>> +static struct plist_head _network_lat_reqs =
>> +                     PLIST_HEAD_INIT(_network_lat_reqs, pm_qos_lock);
>>  static struct pm_qos_object network_lat_pm_qos = {
>> -     .requests = PLIST_HEAD_INIT(network_lat_pm_qos.requests, pm_qos_lock),
>> +     .requests = &_network_lat_reqs,
>>       .notifiers = &network_lat_notifier,
>>       .name = "network_latency",
>>       .target_value = PM_QOS_NETWORK_LAT_DEFAULT_VALUE,
>> @@ -94,8 +108,10 @@ static struct pm_qos_object network_lat_pm_qos = {
>>
>>
>>  static BLOCKING_NOTIFIER_HEAD(network_throughput_notifier);
>> +static struct plist_head _network_throughput_reqs =
>> +                     PLIST_HEAD_INIT(_network_throughput_reqs, pm_qos_lock);
>>  static struct pm_qos_object network_throughput_pm_qos = {
>> -     .requests = PLIST_HEAD_INIT(network_throughput_pm_qos.requests, pm_qos_lock),
>> +     .requests = &_network_throughput_reqs,
>>       .notifiers = &network_throughput_notifier,
>>       .name = "network_throughput",
>>       .target_value = PM_QOS_NETWORK_THROUGHPUT_DEFAULT_VALUE,
>> @@ -107,6 +123,7 @@ static struct pm_qos_object network_throughput_pm_qos = {
>>  static struct pm_qos_object *pm_qos_array[] = {
>>       &null_pm_qos,
>>       &cpu_dma_pm_qos,
>> +     &dev_wakeup_lat_pm_qos,
>>       &network_lat_pm_qos,
>>       &network_throughput_pm_qos
>>  };
>> @@ -129,19 +146,19 @@ static const struct file_operations pm_qos_power_fops = {
>>  /* unlocked internal variant */
>>  static inline int pm_qos_get_value(struct pm_qos_object *o)
>>  {
>> -     if (plist_head_empty(&o->requests))
>> +     if (plist_head_empty(o->requests))
>>               return o->default_value;
>>
>>       switch (o->type) {
>> -     case PM_QOS_MIN:
>> -             return plist_first(&o->requests)->prio;
>> +             case PM_QOS_MIN:
>> +                     return plist_first(o->requests)->prio;
>>
>> -     case PM_QOS_MAX:
>> -             return plist_last(&o->requests)->prio;
>> +             case PM_QOS_MAX:
>> +                     return plist_last(o->requests)->prio;
>>
>> -     default:
>> -             /* runtime check for not using enum */
>> -             BUG();
>> +             default:
>> +                     /* runtime check for not using enum */
>> +                     BUG();
>>       }
>>  }
>>
>> @@ -155,13 +172,22 @@ static inline void pm_qos_set_value(struct pm_qos_object *o, s32 value)
>>       o->target_value = value;
>>  }
>>
>> -static void update_target(struct pm_qos_object *o, struct plist_node *node,
>> -                       int del, int value)
>> +static void update_target(struct pm_qos_request_list *req, int del, int value)
>>  {
>>       unsigned long flags;
>>       int prev_value, curr_value;
>> +     struct pm_qos_object *o = pm_qos_array[req->class];
>> +     struct plist_node *node = &req->list;
>>
>>       spin_lock_irqsave(&pm_qos_lock, flags);
>> +     /*
>> +      * PM_QOS_DEV_WAKEUP_LATENCY:
>> +      * Use the per-device wake-up latency constraints list for
>> +      * constraints storage
>> +      */
>> +     if (req->class == PM_QOS_DEV_WAKEUP_LATENCY)
>> +             o->requests = &req->dev->power.wakeup_lat_plist_head;
>
> Ah, I see what the idea is and quite frankly I don't like it.
>
> Changing the requests field on the fly in every second (or so) invocation of
> update_target() for PM_QOS_DEV_WAKEUP_LATENCY class is beyond ugly.  Moreover,
> it makes all devices share the default_value field which I don't think is
> correct (the target_value field is shared too, which may lead to all sorts of
> problems).
Indeed I had the same concern about the code not being generic enough.

>
> I wouldn't even try to use struct pm_qos_object as it is.  Instead, I'd
> introduce something like
>
> struct pm_qos_constraits {
>        struct plist_head requests;
>        unsigned int current_val;
>        unsigned int default_val;
>        unsigned int floor_val;  /* for adding new requests */
>        unsigned int ceiling_val;  /* ditto */
>        enum pm_qos_type type;
> };
>
> Where I'm not sure if the "type" field is really necessary, but that should
> work out at one point and "unsigned int" is on purpose (it should have been
> that way from day one in the first place).  That's what is needed for device
> IMO, the other fields in struct pm_qos_object are simply redundant for this
> use case.
>
> Now, for the compatibility with the existing code I'd redefine struct
> pm_qos_object as:
>
> struct pm_qos_object {
>        struct pm_qos_constraints constraints;
>        struct blocking_notifier *notifiers;
>        struct miscdevice pm_qos_power_miscdev;
>        char *name;
> };
>
> and I'd change the code to operate on struct pm_qos_constraits in the first
> place, with a compatibility layer using struct pm_qos_object on top of that.

>
> Then, each device may have its own struct pm_qos_constraits object that will
> be operated on by the PM QoS functions.
That makes sense, I am working on an RFC implementation.

> [There is the problem of whether or
> not those object should be embedded in struct dev_pm_info, it may be better
> to use pointers to them.
Should the object be embedded in the device struct instead? If only a
pointer is used when should the struct be allocated (at first use
...)?

> That may be used for sharing of constraints, for
> example, in which case it will be necessary to add a refcount to struct
> pm_qos_constraits.]
More on sharing in the comments for 0/11.

>
> Thanks,
> Rafael
>

Thanks,
Jean

^ permalink raw reply

* Re: [PATCH 03/11] PM QoS: support the dynamic devices insertion and removal
From: Jean Pihet @ 2011-07-20  9:16 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: markgross, Linux PM mailing list, linux-omap, Jean Pihet
In-Reply-To: <201107022314.21713.rjw@sisk.pl>

Hi Rafael,

2011/7/2 Rafael J. Wysocki <rjw@sisk.pl>:
> Hi,
>
> On Thursday, June 30, 2011, jean.pihet@newoldbits.com wrote:
>> From: Jean Pihet <j-pihet@ti.com>
>>
>> The devices wake-up latency constraints class of PM QoS is
>> storing the constraints list using the device pm_info struct.
>>
>> This patch adds the init and de-init of the per-device constraints
>> list in order to support the dynamic insertion and removal
>> of the devices in the system.
>>
>> Signed-off-by: Jean Pihet <j-pihet@ti.com>
>
> The number of times this patch special cases PM_QOS_DEV_WAKEUP_LATENCY with
> respect to the other PM QoS classes indicates a design issue, which kind of
> corresponds with my comments on [3/11].
Do you mean 02/11? Indeed the special cases changes are introduced by
02/11. Re-designing 02/11 will solve those special cases issues.

Thanks,
Jean

>
> Thanks,
> Rafael
>
>
>> ---
>>  drivers/base/power/main.c     |    8 +++--
>>  include/linux/pm.h            |    1 +
>>  include/linux/pm_qos_params.h |    2 +
>>  kernel/pm_qos_params.c        |   70 ++++++++++++++++++++++++++++++++--------
>>  4 files changed, 64 insertions(+), 17 deletions(-)
>>
>> diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
>> index b1fd96b..51f5526 100644
>> --- a/drivers/base/power/main.c
>> +++ b/drivers/base/power/main.c
>> @@ -27,6 +27,7 @@
>>  #include <linux/sched.h>
>>  #include <linux/async.h>
>>  #include <linux/suspend.h>
>> +#include <linux/pm_qos_params.h>
>>
>>  #include "../base.h"
>>  #include "power.h"
>> @@ -96,8 +97,8 @@ void device_pm_add(struct device *dev)
>>                       dev_name(dev->parent));
>>       list_add_tail(&dev->power.entry, &dpm_list);
>>       mutex_unlock(&dpm_list_mtx);
>> -     /* ToDo: call PM QoS to init the per-device wakeup latency constraints */
>> -     plist_head_init(&dev->power.wakeup_lat_plist_head, &dev->power.lock);
>> +     /* Call PM QoS to init the per-device wakeup latency constraints */
>> +     pm_qos_dev_wakeup_lat_init(dev);
>>  }
>>
>>  /**
>> @@ -108,7 +109,8 @@ void device_pm_remove(struct device *dev)
>>  {
>>       pr_debug("PM: Removing info for %s:%s\n",
>>                dev->bus ? dev->bus->name : "No Bus", dev_name(dev));
>> -     /* ToDo: call PM QoS to de-init the per-device wakeup latency constraints */
>> +     /* Call PM QoS to de-init the per-device wakeup latency constraints */
>> +     pm_qos_dev_wakeup_lat_deinit(dev);
>>       complete_all(&dev->power.completion);
>>       mutex_lock(&dpm_list_mtx);
>>       list_del_init(&dev->power.entry);
>> diff --git a/include/linux/pm.h b/include/linux/pm.h
>> index 35fe682..d9b6092 100644
>> --- a/include/linux/pm.h
>> +++ b/include/linux/pm.h
>> @@ -464,6 +464,7 @@ struct dev_pm_info {
>>       void                    *subsys_data;  /* Owned by the subsystem. */
>>  #endif
>>       struct plist_head       wakeup_lat_plist_head;
>> +     int                     wakeup_lat_init;
>>  };
>>
>>  extern void update_pm_runtime_accounting(struct device *dev);
>> diff --git a/include/linux/pm_qos_params.h b/include/linux/pm_qos_params.h
>> index e6e16cb..5b6707a 100644
>> --- a/include/linux/pm_qos_params.h
>> +++ b/include/linux/pm_qos_params.h
>> @@ -45,4 +45,6 @@ int pm_qos_add_notifier(int class, struct notifier_block *notifier);
>>  int pm_qos_remove_notifier(int class, struct notifier_block *notifier);
>>  int pm_qos_request_active(struct pm_qos_request_list *req);
>>
>> +void pm_qos_dev_wakeup_lat_init(struct device *dev);
>> +void pm_qos_dev_wakeup_lat_deinit(struct device *dev);
>>  #endif
>> diff --git a/kernel/pm_qos_params.c b/kernel/pm_qos_params.c
>> index d61c8e5..6f25ccb 100644
>> --- a/kernel/pm_qos_params.c
>> +++ b/kernel/pm_qos_params.c
>> @@ -275,11 +275,21 @@ void pm_qos_add_request(struct pm_qos_request_list *pm_qos_req,
>>       struct pm_qos_object *o =  pm_qos_array[pm_qos_params->class];
>>       int new_value;
>>
>> -     if ((pm_qos_params->class != PM_QOS_DEV_WAKEUP_LATENCY) &&
>> -         (pm_qos_request_active(pm_qos_req))) {
>> -             WARN(1, KERN_ERR "pm_qos_add_request() called for already "
>> -                  "added request\n");
>> -             return;
>> +     if (pm_qos_params->class == PM_QOS_DEV_WAKEUP_LATENCY) {
>> +             if (!pm_qos_params->dev) {
>> +                     WARN(1, KERN_ERR "pm_qos_add_request() called for "
>> +                             "invalid device\n");
>> +                     return;
>> +             }
>> +             /* Silently return if the device is being released */
>> +             if (!pm_qos_params->dev->power.wakeup_lat_init)
>> +                     return;
>> +     } else {
>> +             if (pm_qos_request_active(pm_qos_req)) {
>> +                     WARN(1, KERN_ERR "pm_qos_add_request() called for "
>> +                             "already added request\n");
>> +                     return;
>> +             }
>>       }
>>
>>       if (pm_qos_params->value == PM_QOS_DEFAULT_VALUE)
>> @@ -312,11 +322,16 @@ void pm_qos_update_request(struct pm_qos_request_list *pm_qos_req,
>>       if (!pm_qos_req) /*guard against callers passing in null */
>>               return;
>>
>> -     if ((pm_qos_req->class != PM_QOS_DEV_WAKEUP_LATENCY) &&
>> -         (!pm_qos_request_active(pm_qos_req))) {
>> -             WARN(1, KERN_ERR "pm_qos_update_request() called for unknown "
>> -                  "object\n");
>> -             return;
>> +     if (pm_qos_req->class == PM_QOS_DEV_WAKEUP_LATENCY) {
>> +             /* Silently return if the device is being released */
>> +             if (!pm_qos_req->dev->power.wakeup_lat_init)
>> +                     return;
>> +     } else {
>> +             if (!pm_qos_request_active(pm_qos_req)) {
>> +                     WARN(1, KERN_ERR "pm_qos_update_request() called "
>> +                             "for unknown object\n");
>> +                     return;
>> +             }
>>       }
>>
>>       if (new_value == PM_QOS_DEFAULT_VALUE)
>> @@ -343,11 +358,16 @@ void pm_qos_remove_request(struct pm_qos_request_list *pm_qos_req)
>>               return;
>>               /* silent return to keep pcm code cleaner */
>>
>> -     if ((pm_qos_req->class != PM_QOS_DEV_WAKEUP_LATENCY) &&
>> -         (!pm_qos_request_active(pm_qos_req))) {
>> -             WARN(1, KERN_ERR "pm_qos_remove_request() called for unknown "
>> -                  "object\n");
>> +     if (pm_qos_req->class == PM_QOS_DEV_WAKEUP_LATENCY) {
>> +             /* Silently return if the device is being released */
>> +             if (!pm_qos_req->dev->power.wakeup_lat_init)
>> +                     return;
>> +     } else {
>> +             if (!pm_qos_request_active(pm_qos_req)) {
>> +                     WARN(1, KERN_ERR "pm_qos_remove_request() called "
>> +                             "for unknown object\n");
>>               return;
>> +             }
>>       }
>>
>>       update_target(pm_qos_req, 1, PM_QOS_DEFAULT_VALUE);
>> @@ -393,6 +413,28 @@ int pm_qos_remove_notifier(int class, struct notifier_block *notifier)
>>  }
>>  EXPORT_SYMBOL_GPL(pm_qos_remove_notifier);
>>
>> +/* Called from the device PM subsystem at device init */
>> +void pm_qos_dev_wakeup_lat_init(struct device *dev)
>> +{
>> +     plist_head_init(&dev->power.wakeup_lat_plist_head, &dev->power.lock);
>> +     dev->power.wakeup_lat_init = 1;
>> +}
>> +
>> +/* Called from the device PM subsystem at device release */
>> +void pm_qos_dev_wakeup_lat_deinit(struct device *dev)
>> +{
>> +     struct pm_qos_request_list *req, *tmp;
>> +
>> +     dev->power.wakeup_lat_init = 0;
>> +
>> +     /* Flush the constraints list for the device */
>> +     plist_for_each_entry_safe(req, tmp,
>> +                               &dev->power.wakeup_lat_plist_head,
>> +                               list)
>> +             update_target(req, 1, PM_QOS_DEFAULT_VALUE);
>> +     plist_head_init(&dev->power.wakeup_lat_plist_head, &dev->power.lock);
>> +}
>> +
>>  static int pm_qos_power_open(struct inode *inode, struct file *filp)
>>  {
>>       struct pm_qos_parameters pm_qos_params;
>>
>
>

^ permalink raw reply

* Re: [PATCH v2 00/11] PM QoS: add a per-device wake-up latency constraint class
From: Jean Pihet @ 2011-07-20  9:26 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: markgross, Linux PM mailing list, linux-omap, Jean Pihet
In-Reply-To: <201107022120.47221.rjw@sisk.pl>

Hi Rafael,

2011/7/2 Rafael J. Wysocki <rjw@sisk.pl>:
> Hi,
>
> On Thursday, June 30, 2011, jean.pihet@newoldbits.com wrote:
>> From: Jean Pihet <j-pihet@ti.com>
>>
>> This patch set is in an RFC state, for review and comments.
>
> First off, I'm sorry I couldn't review the patchset earlier.
Thank you very much for reviewing the patches!

>
>> In order to implement the new class in PM QoS the following changes have been
>> made:
>>
>> 1. Add a new PM QoS class for device wake-up constraints
>> (PM_QOS_DEV_WAKEUP_LATENCY).
>> Due to the per-device nature of the new class the constraints lists are stored
>> inside the device dev_pm_info struct instead of the internal per-class
>> constraints lists.
>> The new class is only available from kernel drivers and so is not exported to
>> user space.
>
> Have you considered a design in which multiple devices may use the same
> list of constraints?  It seems plausible that the constraints will be the
> same, for example, for all Ethernet adapters in the system, in which case it
> will be wasteful to duplicate the list of constraints for each of them.
How would the devices be grouped together? Today it looks like the
network throughput constraints from the device drivers are not used at
all but rather use the CPU_DMA latency API.

>
>> 2. Added a notification of device insertion/removal from the device PM framework
>> to PM QoS.
>> This allows to init/de-init the per-device constraints list upon device insertion
>> and removal.
>> RFC state for comments and review, barely tested
>
> I need to have a look at the details, but in principle this means that the
> per-device lists will be usable only after the devices have been registered.
> In particular, this means that it will only be possible to add new constraints
> after registering the device, which may be too late for some use cases.
Hmm I wonder how to solve this issue. How to manage constraints for a
non-present (not yet present or already removed) device? The CPU_DMA
latency constraint API might be used in those cases.

>
>> 3. Make the pm_qos_add_request API more generic by using a
>> struct pm_qos_parameters parameter. This allows easy extension in the future.
>>
>> 4. Upon a change of the strongest constraint in the PM_QOS_DEV_WAKEUP_LATENCY
>> class a notification chain mechanism is used to take action on the system.
>> This is the proposed way to have PM QoS and the platform dependant code to
>> interact with each other, cf. 4 below.
>
> I guess you mean 5.?
Yes

>
> I think we will need something in addition to the notifier here.  For example,
> I wouldn't like any core code, like runtime PM or cpuidle, to have to register
> a notifier with PM QoS.
I am not following this. Can you elaborate a bit?

>
>> The notification mechanism now passes the constraint request struct ptr in
>> order for the notifier callback to have access to the full set of constraint
>> data, e.g. the struct device ptr.
>>
>> 5. cpuidle interaction with the OMAP3 cpuidle handler
>> Since cpuidle is a CPU centric framework it decides the MPU next power state
>> based on the MPU exit_latency and target_residency figures.
>>
>> The rest of the power domains get their next power state programmed from
>> the PM_QOS_DEV_WAKEUP_LATENCY class of the PM QoS framework, via the device
>> wake-up latency constraints.
>>
>> Note: the exit_latency and target_residency figures of the MPU include the MPU
>> itself and the peripherals needed for the MPU to execute instructions (e.g.
>> main memory, caches, IRQ controller, MMU etc).
>> Some of those peripherals can belong to other power domains than the MPU
>> subsystem and so the corresponding latencies must be included in those figures.
>>
>> 6. Update the pm_qos_add_request callers to the generic API
>>
>> 7. Minor clean-ups and rename of struct fields
>>
>> Questions:
>> 1. How to retrieve the device ptr from a given device driver in order to add
>> a constraint on it?
>> 2. The device struct has recently been extended with the power domain
>> information. Can this be used to apply the constraints on power domains?
>
> Yes, it can in principle, but that will require some work.
>
>> On-going developments, patches in preparation:
>> 1. write Documentation for the new PM QoS class
>
> I'd wait with that until the code has settled.
Ok that was the intention to write the doc once for good.

>
>> 2. validate the constraints framework on OMAP4 HW (done on OMAP3)
>> 3. refine the power domains wake-up latency and the cpuidle figures
>>
>> Based on the master branch of the linux-omap git tree (3.0.0-rc3). Compile
>> tested using OMAP and x86 generic defconfigs.
>> Tested on OMAP3 Beagleboard (ES2.x) with full RETention and OFF modes.
>
> More detailed comments will follow.
>
> Thanks,
> Rafael
>

Thanks a lot,
Jean

^ permalink raw reply

* Re: [PATCH v2 00/11] PM QoS: add a per-device wake-up latency constraint class
From: mark gross @ 2011-07-20 13:22 UTC (permalink / raw)
  To: Jean Pihet; +Cc: markgross, Linux PM mailing list, linux-omap, Jean Pihet
In-Reply-To: <CAORVsuVt1cg04T7wKKTeaGHEDs-OEejs7+cuDXpVcCUv7r4_FQ@mail.gmail.com>

On Wed, Jul 20, 2011 at 11:26:13AM +0200, Jean Pihet wrote:
> Hi Rafael,
> 
> 2011/7/2 Rafael J. Wysocki <rjw@sisk.pl>:
> > Hi,
> >
> > On Thursday, June 30, 2011, jean.pihet@newoldbits.com wrote:
> >> From: Jean Pihet <j-pihet@ti.com>
> >>
> >> This patch set is in an RFC state, for review and comments.
> >
> > First off, I'm sorry I couldn't review the patchset earlier.
> Thank you very much for reviewing the patches!
> 
> >
> >> In order to implement the new class in PM QoS the following changes have been
> >> made:
> >>
> >> 1. Add a new PM QoS class for device wake-up constraints
> >> (PM_QOS_DEV_WAKEUP_LATENCY).
> >> Due to the per-device nature of the new class the constraints lists are stored
> >> inside the device dev_pm_info struct instead of the internal per-class
> >> constraints lists.
> >> The new class is only available from kernel drivers and so is not exported to
> >> user space.
> >
> > Have you considered a design in which multiple devices may use the same
> > list of constraints?  It seems plausible that the constraints will be the
> > same, for example, for all Ethernet adapters in the system, in which case it
> > will be wasteful to duplicate the list of constraints for each of them.
> How would the devices be grouped together? Today it looks like the
> network throughput constraints from the device drivers are not used at
> all but rather use the CPU_DMA latency API.

This is a challenge.  Over the pats 2 years I've see basically 2 types of
PM_QoS applications.  Global or subsystem qos requests and local or
device qos requests.

Global are things like use cpu_dma_latency to block C-states or Network
latency to shape traffic into more bursty bundles.  (let the modem
sleep more).

Local are things like a spi modem or camera falls over if the clock gets
gated for more than 400uS during some critical section.

Further there is an API gap in the ability to express things like
Network latency where multiple NIC's are present and you want different
latencies for each NIC.  (note: I can see such a need coming for
multi-core CPUs someday as well.  cpu0 needs to stay hot but the others
can have infinite latency--or something like that)

BTW: I don't have any good ideas for this API gap at this time.

Part of me feels that every "bus" driver should include an implicit
governor infrastructure (like CPU freq or cpu idle, perhaps both one for
throughput and one for latency) and a QoS like list that is taken into
account on Runtime PM operations.  This would be ok for the local users
of pm_qos.


FWIW I think it should be baked into runtime pm.



> >
> >> 2. Added a notification of device insertion/removal from the device PM framework
> >> to PM QoS.
> >> This allows to init/de-init the per-device constraints list upon device insertion
> >> and removal.
> >> RFC state for comments and review, barely tested
> >
> > I need to have a look at the details, but in principle this means that the
> > per-device lists will be usable only after the devices have been registered.
> > In particular, this means that it will only be possible to add new constraints
> > after registering the device, which may be too late for some use cases.
> Hmm I wonder how to solve this issue. How to manage constraints for a
> non-present (not yet present or already removed) device? The CPU_DMA
> latency constraint API might be used in those cases.

Bus drivers would tend to be always loaded so such constraints could be
pre-registered there.


--mark


> >
> >> 3. Make the pm_qos_add_request API more generic by using a
> >> struct pm_qos_parameters parameter. This allows easy extension in the future.
> >>
> >> 4. Upon a change of the strongest constraint in the PM_QOS_DEV_WAKEUP_LATENCY
> >> class a notification chain mechanism is used to take action on the system.
> >> This is the proposed way to have PM QoS and the platform dependant code to
> >> interact with each other, cf. 4 below.
> >
> > I guess you mean 5.?
> Yes
> 
> >
> > I think we will need something in addition to the notifier here.  For example,
> > I wouldn't like any core code, like runtime PM or cpuidle, to have to register
> > a notifier with PM QoS.
> I am not following this. Can you elaborate a bit?
> 
> >
> >> The notification mechanism now passes the constraint request struct ptr in
> >> order for the notifier callback to have access to the full set of constraint
> >> data, e.g. the struct device ptr.
> >>
> >> 5. cpuidle interaction with the OMAP3 cpuidle handler
> >> Since cpuidle is a CPU centric framework it decides the MPU next power state
> >> based on the MPU exit_latency and target_residency figures.
> >>
> >> The rest of the power domains get their next power state programmed from
> >> the PM_QOS_DEV_WAKEUP_LATENCY class of the PM QoS framework, via the device
> >> wake-up latency constraints.
> >>
> >> Note: the exit_latency and target_residency figures of the MPU include the MPU
> >> itself and the peripherals needed for the MPU to execute instructions (e.g.
> >> main memory, caches, IRQ controller, MMU etc).
> >> Some of those peripherals can belong to other power domains than the MPU
> >> subsystem and so the corresponding latencies must be included in those figures.
> >>
> >> 6. Update the pm_qos_add_request callers to the generic API
> >>
> >> 7. Minor clean-ups and rename of struct fields
> >>
> >> Questions:
> >> 1. How to retrieve the device ptr from a given device driver in order to add
> >> a constraint on it?
> >> 2. The device struct has recently been extended with the power domain
> >> information. Can this be used to apply the constraints on power domains?
> >
> > Yes, it can in principle, but that will require some work.
> >
> >> On-going developments, patches in preparation:
> >> 1. write Documentation for the new PM QoS class
> >
> > I'd wait with that until the code has settled.
> Ok that was the intention to write the doc once for good.
> 
> >
> >> 2. validate the constraints framework on OMAP4 HW (done on OMAP3)
> >> 3. refine the power domains wake-up latency and the cpuidle figures
> >>
> >> Based on the master branch of the linux-omap git tree (3.0.0-rc3). Compile
> >> tested using OMAP and x86 generic defconfigs.
> >> Tested on OMAP3 Beagleboard (ES2.x) with full RETention and OFF modes.
> >
> > More detailed comments will follow.
> >
> > Thanks,
> > Rafael
> >
> 
> Thanks a lot,
> Jean

^ permalink raw reply

* [RFC] Disable disk spinup during system resume
From: Pádraig Brady @ 2011-07-20 23:42 UTC (permalink / raw)
  To: linux-pm

Hi,

I have a secondary sata disk (sda)  in my system that
I would like not to spinup on resume.
The primary disk is an SSD.

I tried this to no avail:

  echo 0 > /sys/block/sda/device/scsi_disk/*/manage_start_stop

I can "manually" run this after each resume, but it
introduces ware and delays I would like to avoid.

  sdparm -r -C STOP /dev/sda

Note all partitions on the disk are "noauto" in fstab,
and I would have thought the kernel wouldn't need
to BLKRRPART on resume?

Any ideas appreciated.

cheers,
Pádraig.
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply

* [PATCH] PM / OPP: Fix dev_opp initial value
From: jhbird.choi @ 2011-07-21  6:31 UTC (permalink / raw)
  To: linux-pm, linux-kernel; +Cc: Jonghwan Choi

From: Jonghwan Choi <jhbird.choi@samsung.com>

Dev_opp initial value shoule be ERR_PTR(),
IS_ERR() is used to check error.

Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
---
 drivers/base/power/opp.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/base/power/opp.c b/drivers/base/power/opp.c
index 56a6899..d4ebf80 100644
--- a/drivers/base/power/opp.c
+++ b/drivers/base/power/opp.c
@@ -453,7 +453,7 @@ int opp_add(struct device *dev, unsigned long freq, unsigned long u_volt)
 static int opp_set_availability(struct device *dev, unsigned long freq,
 		bool availability_req)
 {
-	struct device_opp *tmp_dev_opp, *dev_opp = NULL;
+	struct device_opp *tmp_dev_opp, *dev_opp = ERR_PTR(-ENODEV);
 	struct opp *new_opp, *tmp_opp, *opp = ERR_PTR(-ENODEV);
 	int r = 0;
 
-- 
1.7.0

^ permalink raw reply related

* Re: [RFC] Disable disk spinup during system resume
From: Alan Stern @ 2011-07-21 14:49 UTC (permalink / raw)
  To: Pádraig Brady; +Cc: linux-pm
In-Reply-To: <4E2767DE.6090200@draigBrady.com>

On Thu, 21 Jul 2011, Pádraig Brady wrote:

> Hi,
> 
> I have a secondary sata disk (sda)  in my system that
> I would like not to spinup on resume.
> The primary disk is an SSD.
> 
> I tried this to no avail:
> 
>   echo 0 > /sys/block/sda/device/scsi_disk/*/manage_start_stop

That should have worked.  It prevents sd_resume() from doing anything 
to the drive.

Are you sure that the kernel is responsible for spinning up the drive?  
Maybe you have a program running in the background that does this 
automatically.

> I can "manually" run this after each resume, but it
> introduces ware and delays I would like to avoid.
> 
>   sdparm -r -C STOP /dev/sda
> 
> Note all partitions on the disk are "noauto" in fstab,
> and I would have thought the kernel wouldn't need
> to BLKRRPART on resume?
> 
> Any ideas appreciated.

Try adding a dump_stack() line to 
drivers/scsi/sd.c:sd_start_stop_device() and see what shows up in the 
kernel log.

Alan Stern

_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply

* Re: [RFC] Disable disk spinup during system resume
From: Pádraig Brady @ 2011-07-21 16:18 UTC (permalink / raw)
  To: Alan Stern; +Cc: linux-pm
In-Reply-To: <Pine.LNX.4.44L0.1107211045480.3132-100000@iolanthe.rowland.org>

On 21/07/11 15:49, Alan Stern wrote:
> On Thu, 21 Jul 2011, Pádraig Brady wrote:
> 
>> Hi,
>>
>> I have a secondary sata disk (sda)  in my system that
>> I would like not to spinup on resume.


>> I tried this to no avail:
>>
>>   echo 0 > /sys/block/sda/device/scsi_disk/*/manage_start_stop


> Try adding a dump_stack() line to 
> drivers/scsi/sd.c:sd_start_stop_device() and see what shows up in the 
> kernel log.

Tried that, and nothing is calling it for sda
(There were calls for sdb of course).
So it seems like something lower level :(
I'll keep digging.

cheers,
Pádraig.
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply

* Re: [RFC] Disable disk spinup during system resume
From: Alan Stern @ 2011-07-21 16:49 UTC (permalink / raw)
  To: Pádraig Brady; +Cc: linux-pm
In-Reply-To: <4E285143.1000902@draigBrady.com>

On Thu, 21 Jul 2011, Pádraig Brady wrote:

> On 21/07/11 15:49, Alan Stern wrote:
> > On Thu, 21 Jul 2011, Pádraig Brady wrote:
> > 
> >> Hi,
> >>
> >> I have a secondary sata disk (sda)  in my system that
> >> I would like not to spinup on resume.
> 
> 
> >> I tried this to no avail:
> >>
> >>   echo 0 > /sys/block/sda/device/scsi_disk/*/manage_start_stop
> 
> 
> > Try adding a dump_stack() line to 
> > drivers/scsi/sd.c:sd_start_stop_device() and see what shows up in the 
> > kernel log.
> 
> Tried that, and nothing is calling it for sda
> (There were calls for sdb of course).
> So it seems like something lower level :(

Not at all -- nothing at a lower level generates SCSI commands.  This
means it is something at a higher level, like a program using SG_IO to
pass the START STOP command to the drive directly.

> I'll keep digging.

What happens if you kill all the running processes (or as many as 
possible) before starting the suspend?

Also, how do you initiate the suspend?  Do you use a program, or do you 
simply "echo mem >/sys/power/state"?

Alan Stern

_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply

* Re: [RFC] Disable disk spinup during system resume
From: Pádraig Brady @ 2011-07-22  9:04 UTC (permalink / raw)
  To: Alan Stern; +Cc: linux-pm
In-Reply-To: <Pine.LNX.4.44L0.1107211244550.3132-100000@iolanthe.rowland.org>

On 21/07/11 17:49, Alan Stern wrote:
> On Thu, 21 Jul 2011, Pádraig Brady wrote:
> 
>> On 21/07/11 15:49, Alan Stern wrote:
>>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
>>>
>>>> Hi,
>>>>
>>>> I have a secondary sata disk (sda)  in my system that
>>>> I would like not to spinup on resume.
>>
>>

> What happens if you kill all the running processes (or as many as 
> possible) before starting the suspend?
> 
> Also, how do you initiate the suspend?  Do you use a program, or do you 
> simply "echo mem >/sys/power/state"?

I just rebooted with init=/bin/sh and did

sdparm -r -C STOP /dev/sda
echo 0 > /sys/block/sda/device/scsi_disk/*/manage_start_stop
echo mem > /sys/power/state

When I hit the power button to resume
sda started spinning again :(
There kernel logs about sata ports starting up.
Maybe I need to put the drive into a different
sleep state or something to stop it starting.

cheers,
Pádraig.
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply

* CPU Error when resuming from hiberanation.
From: Towheed Mohammed @ 2011-07-22 12:46 UTC (permalink / raw)
  To: linux-pm@lists.linux-foundation.org

When I issue the command to hibernate, the image is saved to swap and the machine powers off successfully. Up to this point everything is as 
expected. After resuming, the image is restored but then I get this 
error: CPU1 not responding. However, the boot process continues and I 
get back to my session exactly where I hibernated.  However, as would be 
expected from the error message, I'm only running on one CPU now. CPU0 
is online, but CPU1 is offline. Trying to online CPU1 manually with:

echo 1 > /sys/devices/system/cpu/cpu1/online
generates a bash write error.

Offlining CPU1 before the hibernate process still gives the CPU1 error when resuming.

Note that suspend-to-RAM works perfectly all the times.


Machine Info:
dmi.bios.date: 09/27/2004
dmi.bios.vendor: Dell Computer Corporation
dmi.bios.version: A07
dmi.board.name: 0M2035
dmi.board.vendor: Dell Computer Corp.
dmi.chassis.type: 6
dmi.chassis.vendor: Dell Computer Corporation
dmi.modalias: dmi:bvnDellComp
uterCorporation:bvrA07:bd09/27/2004:svnDellComputerCorporation:pnDimension8300:pvr:rvnDellComputerCorp.:rn0M2035:rvr:cvnDellComputerCorporation:ct6:cvr:
dmi.product.name: Dimension 8300
dmi.sys.vendor: Dell Computer Corporation

dmesg output:

[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 2.6.39.3-i686 (root@GA1A4CH) (gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5) ) #1 SMP Sat Jul 16 03:17:56 AST 2011
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
[    0.000000]  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000003ff74000 (usable)
[    0.000000]  BIOS-e820: 000000003ff74000 - 000000003ff76000 (ACPI NVS)
[    0.000000]  BIOS-e820: 000000003ff76000 - 000000003ff97000 (ACPI data)
[    0.000000]  BIOS-e820: 000000003ff97000 - 0000000040000000 (reserved)
[    0.000000]  BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
[    0.000000]  BIOS-e820: 00000000fecf0000 - 00000000fecf1000 (reserved)
[    0.000000]  BIOS-e820: 00000000fed20000 - 00000000fed90000 (reserved)
[    0.000000]  BIOS-e820: 00000000fee00000 - 00000000fee10000 (reserved)
[    0.000000]  BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved)
[    0.000000] Notice: NX (Execute Disable) protection missing in CPU!
[    0.000000] DMI 2.3 present.
[    0.000000] DMI: Dell Computer Corporation Dimension 8300               /0M2035, BIOS A07 09/27/2004
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
[    0.000000] last_pfn = 0x3ff74 max_arch_pfn = 0x100000
[    0.000000] MTRR default type: uncachable
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF uncachable
[    0.000000]   C0000-FFFFF write-protect
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 000000000 mask FC0000000 write-back
[    0.000000]   1 disabled
[    0.000000]   2 disabled
[    0.000000]   3 disabled
[    0.000000]   4 disabled
[    0.000000]   5 disabled
[    0.000000]   6 disabled
[    0.000000]   7 disabled
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[    0.000000] found SMP MP-table at [b00fe710] fe710
[    0.000000] initial memory mapped : 0 - 00c00000
[    0.000000] Base memory trampoline at [b009b000] 9b000 size 16384
[    0.000000] init_memory_mapping: 0000000000000000-000000003ff74000
[    0.000000]  0000000000 - 0000400000 page 4k
[    0.000000]  0000400000 - 003fc00000 page 2M
[    0.000000]  003fc00000 - 003ff74000 page 4k
[    0.000000] kernel direct mapping tables up to 3ff74000 @ bfb000-c00000
[    0.000000] RAMDISK: 2fa39000 - 2ffd7000
[    0.000000] ACPI: RSDP 000feb90 00014 (v00 DELL  )
[    0.000000] ACPI: RSDT 000fd1ca 00034 (v01 DELL    8300    00000008 ASL  00000061)
[    0.000000] ACPI: FACP 000fd1fe 00074 (v01 DELL    8300    00000008 ASL  00000061)
[    0.000000] ACPI: Override [DSDT-   dt_ex], this is unsafe: tainting kernel
[    0.000000] Disabling lock debugging due to kernel taint
[    0.000000] ACPI: DSDT @ 0xfffc6e75 Table override, replaced with:
[    0.000000] ACPI: DSDT b060c0c0 02331 (v01   DELL    dt_ex 00001000 INTL 20090521)
[    0.000000] ACPI: FACS 3ff74000 00040
[    0.000000] ACPI: SSDT fffc93d8 000BA (v01   DELL    st_ex 00001000 MSFT 0100000D)
[    0.000000] ACPI: APIC 000fd272 0006C (v01 DELL    8300    00000008 ASL  00000061)
[    0.000000] ACPI: BOOT 000fd2de 00028 (v01 DELL    8300    00000008 ASL  00000061)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] 0MB HIGHMEM available.
[    0.000000] 1023MB LOWMEM available.
[    0.000000]   mapped low ram: 0 - 3ff74000
[    0.000000]   low ram: 0 - 3ff74000
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   Normal   0x00001000 -> 0x0003ff74
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[2] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x000000a0
[    0.000000]     0: 0x00000100 -> 0x0003ff74
[    0.000000] On node 0 totalpages: 261892
[    0.000000] free_area_init_node: node 0, pgdat b0624980, node_mem_map ef773200
[    0.000000]   DMA zone: 32 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 3952 pages, LIFO batch:0
[    0.000000]   Normal zone: 2015 pages used for memmap
[    0.000000]   Normal zone: 255893 pages, LIFO batch:31
[    0.000000] Using APIC driver default
[    0.000000] ACPI: PM-Timer IO Port: 0x808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x01] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] disabled)
[    0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] SMP: Allowing 4 CPUs, 2 hotplug CPUs
[    0.000000] nr_irqs_gsi: 40
[    0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000f0000
[    0.000000] PM: Registered nosave memory: 00000000000f0000 - 0000000000100000
[    0.000000] Allocating PCI resources starting at 40000000 (gap: 40000000:bec00000)
[    0.000000] setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:4 nr_node_ids:1
[    0.000000] PERCPU: Embedded 12 pages/cpu @ef000000 s26240 r0 d22912 u1048576
[    0.000000] pcpu-alloc: s26240 r0 d22912 u1048576 alloc=1*4194304
[    0.000000] pcpu-alloc: [0] 0 1 2 3 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 259845
[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-2.6.39.3-i686 root=UUID=9eb1494b-dd27-42a8-94ad-e78f31454dc0 ro console=ttyS0,115200n8 console=tty0 resume=/dev/sdb13
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Initializing CPU#0
[    0.000000] allocated 4191808 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] Initializing HighMem for node 0 (00000000:00000000)
[    0.000000] Memory: 1022216k/1048016k available (3634k kernel code, 25352k reserved, 1658k data, 476k init, 0k highmem)
[    0.000000] virtual kernel memory layout:
[    0.000000]     fixmap  : 0xfff17000 - 0xfffff000   ( 928 kB)
[    0.000000]     pkmap   : 0xff800000 - 0xffc00000   (4096 kB)
[    0.000000]     vmalloc : 0xf0774000 - 0xff7fe000   ( 240 MB)
[    0.000000]     lowmem  : 0xb0000000 - 0xeff74000   (1023 MB)
[    0.000000]       .init : 0xb062c000 - 0xb06a3000   ( 476 kB)
[    0.000000]       .data : 0xb048cacd - 0xb062b600   (1658 kB)
[    0.000000]       .text : 0xb0100000 - 0xb048cacd   (3634 kB)
[    0.000000] Checking if this processor honours the WP bit even in supervisor mode...Ok.
[    0.000000] SLUB: Genslabs=15, HWalign=128, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000]     RCU-based detection of stalled CPUs is disabled.
[    0.000000] NR_IRQS:512
[    0.000000] CPU 0 irqstacks, hard=ee80c000 soft=ee80e000
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [tty0] enabled
[    0.000000] console [ttyS0] enabled
[    0.000000] Fast TSC calibration using PIT
[    0.000000] Detected 2793.580 MHz processor.
[    0.010003] Calibrating delay loop (skipped), value calculated using timer frequency.. 5589.95 BogoMIPS (lpj=9311933)
[    0.016669] pid_max: default: 32768 minimum: 301
[    0.020057] Security Framework initialized
[    0.023350] AppArmor: AppArmor initialized
[    0.026687] Mount-cache hash table entries: 512
[    0.030218] Initializing cgroup subsys ns
[    0.033337] ns_cgroup deprecated: consider using the 'clone_children' flag without the ns_cgroup.
[    0.036668] Initializing cgroup subsys memory
[    0.040011] Initializing cgroup subsys devices
[    0.043335] Initializing cgroup subsys freezer
[    0.046668] Initializing cgroup subsys net_cls
[    0.050001] Initializing cgroup subsys blkio
[    0.053360] CPU: Physical Processor ID: 0
[    0.056667] CPU: Processor Core ID: 0
[    0.060001] mce: CPU supports 4 MCE banks
[    0.063342] CPU0: Thermal monitoring enabled (TM1)
[    0.067172] ACPI: Core revision 20110316
[    0.074332] Enabling APIC mode:  Flat.  Using 1 I/O APICs
[    0.076956] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.115786] CPU0: Intel(R) Pentium(R) 4 CPU 2.80GHz stepping 09
[    0.123325] Performance Events: Netburst events, Netburst P4/Xeon PMU driver.
[    0.126667] ... version:                0
[    0.129994] ... bit width:              40
[    0.133327] ... generic registers:      18
[    0.136660] ... value mask:             000000ffffffffff
[    0.139993] ... max period:             0000007fffffffff
[    0.143326] ... fixed-purpose events:   0
[    0.146660] ... event mask:             000000000003ffff
[    0.153346] CPU 1 irqstacks, hard=ee890000 soft=ee892000
[    0.153350] Booting Node   0, Processors  #1
[    0.156961] smpboot cpu 1: start_ip = 9b000
[    0.013332] Initializing CPU#1
[    0.256672] Brought up 2 CPUs
[    0.259677] Total of 2 processors activated (11177.27 BogoMIPS).
[    0.260277] devtmpfs: initialized
[    0.263352] PM: Adding info for No Bus:platform
[    0.263509] PM: Registering ACPI NVS region at 3ff74000 (8192 bytes)
[    0.274226] xor: automatically using best checksumming function: pIII_sse
[    0.296514]    pIII_sse  :  3643.200 MB/sec
[    0.299984] xor: using function: pIII_sse (3643.200 MB/sec)
[    0.303376] NET: Registered protocol family 16
[    0.310088] PM: Adding info for No Bus:vtcon0
[    0.310135] EISA bus registered
[    0.313331] ACPI: bus type pci registered
[    0.316725] PM: Adding info for No Bus:id
[    0.316817] PCI: PCI BIOS revision 2.10 entry at 0xfbb30, last bus=2
[    0.323316] PCI: Using configuration type 1 for base access
[    0.331205] PM: Adding info for No Bus:default
[    0.331205] bio: create slab <bio-0> at 0
[    0.390078] raid6: int32x1    459 MB/s
[    0.449994] raid6: int32x2    962 MB/s
[    0.510024] raid6: int32x4    733 MB/s
[    0.570008] raid6: int32x8    543 MB/s
[    0.629989] raid6: mmxx1     2309 MB/s
[    0.689965] raid6: mmxx2     2940 MB/s
[    0.749974] raid6: sse1x1    1361 MB/s
[    0.809951] raid6: sse1x2    2476 MB/s
[    0.869951] raid6: sse2x1    2920 MB/s
[    0.929957] raid6: sse2x2    3152 MB/s
[    0.933276] raid6: using algorithm sse2x2 (3152 MB/s)
[    0.937362] ACPI: EC: Look up EC in DSDT
[    0.950123] ACPI: Interpreter enabled
[    0.953281] ACPI: (supports S0 S1 S3 S4 S5)
[    0.958150] ACPI: Using IOAPIC for interrupt routing
[    0.960007] PM: Adding info for acpi:LNXSYSTM:00
[    0.960047] PM: Adding info for acpi:LNXCPU:00
[    0.960078] PM: Adding info for acpi:LNXCPU:01
[    0.960129] PM: Adding info for acpi:device:00
[    0.960193] PM: Adding info for acpi:PNP0C0C:00
[    0.960246] PM: Adding info for acpi:PNP0C01:00
[    0.962037] PM: Adding info for acpi:PNP0A03:00
[    0.963001] PM: Adding info for acpi:device:01
[    0.963997] PM: Adding info for acpi:device:02
[    0.964955] PM: Adding info for acpi:device:03
[    0.965918] PM: Adding info for acpi:device:04
[    0.969617] PM: Adding info for acpi:device:05
[    0.969676] PM: Adding info for acpi:device:06
[    0.969725] PM: Adding info for acpi:PNP0200:00
[    0.969777] PM: Adding info for acpi:PNP0C04:00
[    0.969831] PM: Adding info for acpi:PNP0000:00
[    0.969882] PM: Adding info for acpi:PNP0800:00
[    0.969944] PM: Adding info for acpi:PNP0B00:00
[    0.969996] PM: Adding info for acpi:PNP0100:00
[    0.974078] PM: Adding info for acpi:PNP0501:00
[    0.975145] PM: Adding info for acpi:PNP0401:00
[    0.975205] PM: Adding info for acpi:PNP0C01:01
[    0.975452] PM: Adding info for acpi:PNP0C0F:00
[    0.975549] PM: Adding info for acpi:PNP0C0F:01
[    0.975646] PM: Adding info for acpi:PNP0C0F:02
[    0.975744] PM: Adding info for acpi:PNP0C0F:03
[    0.975849] PM: Adding info for acpi:PNP0C0F:04
[    0.975958] PM: Adding info for acpi:PNP0C0F:05
[    0.976068] PM: Adding info for acpi:PNP0C0F:06
[    0.976167] PM: Adding info for acpi:PNP0C0F:07
[    0.976221] PM: Adding info for acpi:device:07
[    0.976295] PM: Adding info for acpi:LNXPWRBN:00
[    0.983279] HEST: Table not found.
[    0.986610] PCI: Ignoring host bridge windows from ACPI; if necessary, use "pci=use_crs" and report a bug
[    0.993577] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.996628] PM: Adding info for No Bus:pci0000:00
[    0.996644] PM: Adding info for No Bus:0000:00
[    1.000763] pci_root PNP0A03:00: host bridge window [io  0x0000-0x0cf7] (ignored)
[    1.000768] pci_root PNP0A03:00: host bridge window [io  0x0d00-0xffff] (ignored)
[    1.000772] pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff] (ignored)
[    1.000775] pci_root PNP0A03:00: host bridge window [mem 0x80000000-0xfebfffff] (ignored)
[    1.000791] pci 0000:00:00.0: [8086:2578] type 0 class 0x000600
[    1.000796] pci 0000:00:00.0: Enabling MCH 'Overflow' Device
[    1.003279] pci 0000:00:00.0: reg 10: [mem 0xe8000000-0xefffffff pref]
[    1.003320] pci 0000:00:00.0: rpm_resume flags 0x0
[    1.003323] pci 0000:00:00.0: rpm_resume returns -11
[    1.003342] pci 0000:00:01.0: [8086:2579] type 1 class 0x000604
[    1.003370] pci 0000:00:01.0: rpm_resume flags 0x0
[    1.003373] pci 0000:00:01.0: rpm_resume returns -11
[    1.003388] pci 0000:00:06.0: [8086:257e] type 0 class 0x000880
[    1.003400] pci 0000:00:06.0: reg 10: [mem 0xfecf0000-0xfecf0fff]
[    1.003443] pci 0000:00:06.0: rpm_resume flags 0x0
[    1.003446] pci 0000:00:06.0: rpm_resume returns -11
[    1.003484] pci 0000:00:1d.0: [8086:24d2] type 0 class 0x000c03
[    1.003530] pci 0000:00:1d.0: reg 20: [io  0xff80-0xff9f]
[    1.003554] pci 0000:00:1d.0: rpm_resume flags 0x0
[    1.003557] pci 0000:00:1d.0: rpm_resume returns -11
[    1.003570] pci 0000:00:1d.1: [8086:24d4] type 0 class 0x000c03
[    1.003616] pci 0000:00:1d.1: reg 20: [io  0xff60-0xff7f]
[    1.003640] pci 0000:00:1d.1: rpm_resume flags 0x0
[    1.003643] pci 0000:00:1d.1: rpm_resume returns -11
[    1.003655] pci 0000:00:1d.2: [8086:24d7] type 0 class 0x000c03
[    1.003701] pci 0000:00:1d.2: reg 20: [io  0xff40-0xff5f]
[    1.003726] pci 0000:00:1d.2: rpm_resume flags 0x0
[    1.003729] pci 0000:00:1d.2: rpm_resume returns -11
[    1.003741] pci 0000:00:1d.3: [8086:24de] type 0 class 0x000c03
[    1.003787] pci 0000:00:1d.3: reg 20: [io  0xff20-0xff3f]
[    1.003811] pci 0000:00:1d.3: rpm_resume flags 0x0
[    1.003814] pci 0000:00:1d.3: rpm_resume returns -11
[    1.003838] pci 0000:00:1d.7: [8086:24dd] type 0 class 0x000c03
[    1.003861] pci 0000:00:1d.7: reg 10: [mem 0xffa80800-0xffa80bff]
[    1.003938] pci 0000:00:1d.7: rpm_resume flags 0x0
[    1.003941] pci 0000:00:1d.7: rpm_resume returns -11
[    1.003950] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
[    1.003956] pci 0000:00:1d.7: PME# disabled
[    1.003974] pci 0000:00:1e.0: [8086:244e] type 1 class 0x000604
[    1.004008] pci 0000:00:1e.0: rpm_resume flags 0x0
[    1.004011] pci 0000:00:1e.0: rpm_resume returns -11
[    1.004024] pci 0000:00:1f.0: [8086:24d0] type 0 class 0x000601
[    1.004088] pci 0000:00:1f.0: HPET at 0xfed00000
[    1.004099] pci 0000:00:1f.0: rpm_resume flags 0x0
[    1.004102] pci 0000:00:1f.0: rpm_resume returns -11
[    1.004114] pci 0000:00:1f.1: [8086:24db] type 0 class 0x000101
[    1.004129] pci 0000:00:1f.1: reg 10: [io  0x01f0-0x01f7]
[    1.004140] pci 0000:00:1f.1: reg 14: [io  0x03f4-0x03f7]
[    1.004151] pci 0000:00:1f.1: reg 18: [io  0x0170-0x0177]
[    1.004162] pci 0000:00:1f.1: reg 1c: [io  0x0374-0x0377]
[    1.004173] pci 0000:00:1f.1: reg 20: [io  0xffa0-0xffaf]
[    1.004184] pci 0000:00:1f.1: reg 24: [mem 0xfebffc00-0xfebfffff]
[    1.004202] pci 0000:00:1f.1: rpm_resume flags 0x0
[    1.004205] pci 0000:00:1f.1: rpm_resume returns -11
[    1.004217] pci 0000:00:1f.2: [8086:24d1] type 0 class 0x000101
[    1.004230] pci 0000:00:1f.2: reg 10: [io  0xfe00-0xfe07]
[    1.004240] pci 0000:00:1f.2: reg 14: [io  0xfe10-0xfe13]
[    1.004250] pci 0000:00:1f.2: reg 18: [io  0xfe20-0xfe27]
[    1.004260] pci 0000:00:1f.2: reg 1c: [io  0xfe30-0xfe33]
[    1.004269] pci 0000:00:1f.2: reg 20: [io  0xfea0-0xfeaf]
[    1.004292] pci 0000:00:1f.2: rpm_resume flags 0x0
[    1.004295] pci 0000:00:1f.2: rpm_resume returns -11
[    1.004307] pci 0000:00:1f.3: [8086:24d3] type 0 class 0x000c05
[    1.004353] pci 0000:00:1f.3: reg 20: [io  0xeda0-0xedbf]
[    1.004377] pci 0000:00:1f.3: rpm_resume flags 0x0
[    1.004380] pci 0000:00:1f.3: rpm_resume returns -11
[    1.004400] pci 0000:00:1f.5: [8086:24d5] type 0 class 0x000401
[    1.004417] pci 0000:00:1f.5: reg 10: [io  0xee00-0xeeff]
[    1.004427] pci 0000:00:1f.5: reg 14: [io  0xedc0-0xedff]
[    1.004438] pci 0000:00:1f.5: reg 18: [mem 0xfebffa00-0xfebffbff]
[    1.004448] pci 0000:00:1f.5: reg 1c: [mem 0xfebff900-0xfebff9ff]
[    1.004483] pci 0000:00:1f.5: rpm_resume flags 0x0
[    1.004486] pci 0000:00:1f.5: rpm_resume returns -11
[    1.004493] pci 0000:00:1f.5: PME# supported from D0 D3hot D3cold
[    1.004498] pci 0000:00:1f.5: PME# disabled
[    1.004526] pci 0000:01:00.0: [10de:0322] type 0 class 0x000300
[    1.004542] pci 0000:01:00.0: reg 10: [mem 0xfd000000-0xfdffffff]
[    1.004551] pci 0000:01:00.0: reg 14: [mem 0xf0000000-0xf7ffffff pref]
[    1.004581] pci 0000:01:00.0: reg 30: [mem 0xfea00000-0xfea1ffff pref]
[    1.004597] pci 0000:01:00.0: rpm_resume flags 0x0
[    1.004600] pci 0000:01:00.0: rpm_resume returns -11
[    1.004641] pci 0000:00:01.0: PCI bridge to [bus 01-01]
[    1.006607] pci 0000:00:01.0:   bridge window [io  0xf000-0x0000] (disabled)
[    1.006613] pci 0000:00:01.0:   bridge window [mem 0xfd000000-0xfeafffff]
[    1.006618] pci 0000:00:01.0:   bridge window [mem 0xf0000000-0xf7ffffff pref]
[    1.006654] pci 0000:02:08.0: [8086:1050] type 0 class 0x000200
[    1.006671] pci 0000:02:08.0: reg 10: [mem 0xfcfff000-0xfcffffff]
[    1.006681] pci 0000:02:08.0: reg 14: [io  0xdf40-0xdf7f]
[    1.006732] pci 0000:02:08.0: rpm_resume flags 0x0
[    1.006735] pci 0000:02:08.0: rpm_resume returns -11
[    1.006742] pci 0000:02:08.0: supports D1 D2
[    1.006745] pci 0000:02:08.0: PME# supported from D0 D1 D2 D3hot D3cold
[    1.006750] pci 0000:02:08.0: PME# disabled
[    1.006785] pci 0000:00:1e.0: PCI bridge to [bus 02-02] (subtractive decode)
[    1.009941] pci 0000:00:1e.0:   bridge window [io  0xd000-0xdfff]
[    1.009947] pci 0000:00:1e.0:   bridge window [mem 0xfcf00000-0xfcffffff]
[    1.009953] pci 0000:00:1e.0:   bridge window [mem 0xfff00000-0x000fffff pref] (disabled)
[    1.009957] pci 0000:00:1e.0:   bridge window [io  0x0000-0xffff] (subtractive decode)
[    1.009960] pci 0000:00:1e.0:   bridge window [mem 0x00000000-0xffffffff] (subtractive decode)
[    1.009974] pci_bus 0000:00: on NUMA node 0
[    1.009979] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    1.010215] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCI1._PRT]
[    1.016319] PM: Adding info for pci:0000:00:00.0
[    1.021698] PM: Adding info for pci:0000:00:01.0
[    1.027084] PM: Adding info for pci:0000:00:06.0
[    1.032566] PM: Adding info for pci:0000:00:1d.0
[    1.037957] PM: Adding info for pci:0000:00:1d.1
[    1.043331] PM: Adding info for pci:0000:00:1d.2
[    1.048794] PM: Adding info for pci:0000:00:1d.3
[    1.054178] PM: Adding info for pci:0000:00:1d.7
[    1.059428] PM: Adding info for pci:0000:00:1e.0
[    1.064804] PM: Adding info for pci:0000:00:1f.0
[    1.070188] PM: Adding info for pci:0000:00:1f.1
[    1.075663] PM: Adding info for pci:0000:00:1f.2
[    1.081039] PM: Adding info for pci:0000:00:1f.3
[    1.086320] PM: Adding info for pci:0000:00:1f.5
[    1.086356] PM: Adding info for pci:0000:01:00.0
[    1.086384] PM: Adding info for No Bus:0000:01
[    1.086424] PM: Adding info for pci:0000:02:08.0
[    1.086449] PM: Adding info for No Bus:0000:02
[    1.086685] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11 12 15)
[    1.093988] ACPI: PCI Interrupt Link [LNKB] (IRQs *3 4 5 6 7 9 10 11 12 15)
[    1.101778] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 *9 10 11 12 15)
[    1.109394] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 *10 11 12 15)
[    1.113555] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 *10 11 12 15)
[    1.120958] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 9 10 11 12 15) *0, disabled.
[    1.129992] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 9 10 11 12 15) *0, disabled.
[    1.138625] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 *5 6 7 9 10 11 12 15)
[    1.142968] PM: Adding info for No Bus:vga_arbiter
[    1.142999] vgaarb: device added: PCI:0000:01:00.0,decodes=io+mem,owns=io+mem,locks=none
[    1.143264] vgaarb: loaded
[    1.146726] SCSI subsystem initialized
[    1.149962] libata version 3.00 loaded.
[    1.150005] usbcore: registered new interface driver usbfs
[    1.153278] usbcore: registered new interface driver hub
[    1.156613] usbcore: registered new device driver usb
[    1.159987] wmi: Mapper loaded
[    1.163261] PCI: Using ACPI for IRQ routing
[    1.166596] PCI: pci_cache_line_size set to 64 bytes
[    1.166677] reserve RAM buffer: 000000003ff74000 - 000000003fffffff 
[    1.166766] PM: Adding info for No Bus:lo
[    1.166818] NetLabel: Initializing
[    1.169928] NetLabel:  domain hash size = 128
[    1.173259] NetLabel:  protocols = UNLABELED CIPSOv4
[    1.176606] NetLabel:  unlabeled traffic allowed by default
[    1.180017] hpet clockevent registered
[    1.180022] HPET: 3 timers in total, 0 timers will be used for per-cpu timer
[    1.183263] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    1.187640] hpet0: 3 comparators, 64-bit 14.318180 MHz counter
[    1.196610] Switching to clocksource hpet
[    1.202368] Switched to NOHz mode on CPU #0
[    1.202497] Switched to NOHz mode on CPU #1
[    1.218956] AppArmor: AppArmor Filesystem Enabled
[    1.223754] pnp: PnP ACPI init
[    1.226866] PM: Adding info for No Bus:pnp0
[    1.226871] ACPI: bus type pnp registered
[    1.235285] pnp 00:00: [mem 0x00000000-0x0009ffff]
[    1.235290] pnp 00:00: [mem 0x00100000-0x00ffffff]
[    1.235293] pnp 00:00: [mem 0x01000000-0x3ff73fff]
[    1.235296] pnp 00:00: [mem 0x000c0000-0x000fffff]
[    1.235299] pnp 00:00: [mem 0xfec00000-0xfec0ffff]
[    1.235303] pnp 00:00: [mem 0xfee00000-0xfee0ffff]
[    1.235306] pnp 00:00: [mem 0xfed20000-0xfed8ffff]
[    1.235309] pnp 00:00: [mem 0xfecf0000-0xfecf0fff]
[    1.235312] pnp 00:00: [mem 0xffb00000-0xffbfffff]
[    1.235315] pnp 00:00: [mem 0xffc00000-0xffffffff]
[    1.235374] PM: Adding info for pnp:00:00
[    1.235390] system 00:00: [mem 0x00000000-0x0009ffff] could not be reserved
[    1.242399] system 00:00: [mem 0x00100000-0x00ffffff] could not be reserved
[    1.249405] system 00:00: [mem 0x01000000-0x3ff73fff] could not be reserved
[    1.256407] system 00:00: [mem 0x000c0000-0x000fffff] could not be reserved
[    1.263409] system 00:00: [mem 0xfec00000-0xfec0ffff] could not be reserved
[    1.270410] system 00:00: [mem 0xfee00000-0xfee0ffff] has been reserved
[    1.277066] system 00:00: [mem 0xfed20000-0xfed8ffff] has been reserved
[    1.283721] system 00:00: [mem 0xfecf0000-0xfecf0fff] has been reserved
[    1.290376] system 00:00: [mem 0xffb00000-0xffbfffff] has been reserved
[    1.297031] system 00:00: [mem 0xffc00000-0xffffffff] has been reserved
[    1.303688] system 00:00: Plug and Play ACPI device, IDs PNP0c01 (active)
[    1.304241] pnp 00:01: [bus 00-ff]
[    1.304245] pnp 00:01: [io  0x0cf8-0x0cff]
[    1.304249] pnp 00:01: [io  0x0000-0x0cf7 window]
[    1.304252] pnp 00:01: [io  0x0d00-0xffff window]
[    1.304255] pnp 00:01: [mem 0x000a0000-0x000bffff window]
[    1.304259] pnp 00:01: [mem 0x80000000-0xfebfffff window]
[    1.304299] PM: Adding info for pnp:00:01
[    1.304309] pnp 00:01: Plug and Play ACPI device, IDs PNP0a03 (active)
[    1.306113] pnp 00:02: [io  0x0080-0x009f]
[    1.306117] pnp 00:02: [io  0x0000-0x001f]
[    1.306120] pnp 00:02: [io  0x00c0-0x00df]
[    1.306124] pnp 00:02: [dma 4]
[    1.306150] PM: Adding info for pnp:00:02
[    1.306160] pnp 00:02: Plug and Play ACPI device, IDs PNP0200 (active)
[    1.306186] pnp 00:03: [io  0x00f0-0x00ff]
[    1.306199] pnp 00:03: [irq 13]
[    1.306226] PM: Adding info for pnp:00:03
[    1.306236] pnp 00:03: Plug and Play ACPI device, IDs PNP0c04 (active)
[    1.306264] pnp 00:04: [io  0x0061]
[    1.306292] PM: Adding info for pnp:00:04
[    1.306302] pnp 00:04: Plug and Play ACPI device, IDs PNP0800 (active)
[    1.306328] pnp 00:05: [io  0x0070-0x007f]
[    1.306334] pnp 00:05: [irq 8]
[    1.306361] PM: Adding info for pnp:00:05
[    1.306371] pnp 00:05: Plug and Play ACPI device, IDs PNP0b00 (active)
[    1.308437] pnp 00:06: [io  0x03f8-0x03ff]
[    1.308444] pnp 00:06: [irq 4]
[    1.308516] PM: Adding info for pnp:00:06
[    1.308527] pnp 00:06: Plug and Play ACPI device, IDs PNP0501 (active)
[    1.309300] pnp 00:07: [io  0x0378-0x037f]
[    1.309304] pnp 00:07: [io  0x0778-0x077f]
[    1.309310] pnp 00:07: [irq 7]
[    1.309313] pnp 00:07: [dma 0 disabled]
[    1.309442] PM: Adding info for pnp:00:07
[    1.309452] pnp 00:07: Plug and Play ACPI device, IDs PNP0401 (active)
[    1.310369] pnp 00:08: [io  0x0060]
[    1.310372] pnp 00:08: [io  0x0064]
[    1.310375] pnp 00:08: [io  0x0062-0x0063]
[    1.310378] pnp 00:08: [io  0x0065-0x006f]
[    1.310381] pnp 00:08: [io  0x00e0-0x00ef]
[    1.310383] pnp 00:08: [io  0x0800-0x085f]
[    1.310386] pnp 00:08: [io  0x0c00-0x0c7f]
[    1.310389] pnp 00:08: [io  0x0860-0x08ff]
[    1.310446] PM: Adding info for pnp:00:08
[    1.310460] system 00:08: [io  0x0800-0x085f] has been reserved
[    1.316424] system 00:08: [io  0x0c00-0x0c7f] has been reserved
[    1.322386] system 00:08: [io  0x0860-0x08ff] has been reserved
[    1.328348] system 00:08: Plug and Play ACPI device, IDs PNP0c01 (active)
[    1.328561] pnp: PnP ACPI: found 9 devices
[    1.332700] ACPI: ACPI bus type pnp unregistered
[    1.337361] PnPBIOS: Disabled by ACPI PNP
[    1.341471] PM: Adding info for No Bus:mem
[    1.341502] PM: Adding info for No Bus:null
[    1.341534] PM: Adding info for No Bus:port
[    1.341560] PM: Adding info for No Bus:zero
[    1.341589] PM: Adding info for No Bus:full
[    1.341616] PM: Adding info for No Bus:random
[    1.341645] PM: Adding info for No Bus:urandom
[    1.341672] PM: Adding info for No Bus:kmsg
[    1.341701] PM: Adding info for No Bus:tty
[    1.341729] PM: Adding info for No Bus:console
[    1.341758] PM: Adding info for No Bus:tty0
[    1.341796] PM: Adding info for No Bus:vcs
[    1.341822] PM: Adding info for No Bus:vcsa
[    1.341848] PM: Adding info for No Bus:vcs1
[    1.341875] PM: Adding info for No Bus:vcsa1
[    1.341907] PM: Adding info for No Bus:tty1
[    1.341933] PM: Adding info for No Bus:tty2
[    1.341966] PM: Adding info for No Bus:tty3
[    1.341996] PM: Adding info for No Bus:tty4
[    1.342022] PM: Adding info for No Bus:tty5
[    1.342049] PM: Adding info for No Bus:tty6
[    1.342084] PM: Adding info for No Bus:tty7
[    1.342113] PM: Adding info for No Bus:tty8
[    1.342139] PM: Adding info for No Bus:tty9
[    1.342166] PM: Adding info for No Bus:tty10
[    1.342196] PM: Adding info for No Bus:tty11
[    1.342223] PM: Adding info for No Bus:tty12
[    1.342250] PM: Adding info for No Bus:tty13
[    1.342277] PM: Adding info for No Bus:tty14
[    1.342307] PM: Adding info for No Bus:tty15
[    1.342335] PM: Adding info for No Bus:tty16
[    1.342362] PM: Adding info for No Bus:tty17
[    1.342393] PM: Adding info for No Bus:tty18
[    1.342420] PM: Adding info for No Bus:tty19
[    1.342448] PM: Adding info for No Bus:tty20
[    1.342483] PM: Adding info for No Bus:tty21
[    1.342511] PM: Adding info for No Bus:tty22
[    1.342543] PM: Adding info for No Bus:tty23
[    1.342574] PM: Adding info for No Bus:tty24
[    1.342605] PM: Adding info for No Bus:tty25
[    1.342635] PM: Adding info for No Bus:tty26
[    1.342664] PM: Adding info for No Bus:tty27
[    1.342693] PM: Adding info for No Bus:tty28
[    1.342722] PM: Adding info for No Bus:tty29
[    1.342752] PM: Adding info for No Bus:tty30
[    1.342781] PM: Adding info for No Bus:tty31
[    1.342813] PM: Adding info for No Bus:tty32
[    1.342844] PM: Adding info for No Bus:tty33
[    1.342874] PM: Adding info for No Bus:tty34
[    1.342903] PM: Adding info for No Bus:tty35
[    1.342934] PM: Adding info for No Bus:tty36
[    1.342964] PM: Adding info for No Bus:tty37
[    1.342993] PM: Adding info for No Bus:tty38
[    1.343033] PM: Adding info for No Bus:tty39
[    1.343064] PM: Adding info for No Bus:tty40
[    1.343094] PM: Adding info for No Bus:tty41
[    1.343126] PM: Adding info for No Bus:tty42
[    1.343156] PM: Adding info for No Bus:tty43
[    1.343186] PM: Adding info for No Bus:tty44
[    1.343216] PM: Adding info for No Bus:tty45
[    1.343251] PM: Adding info for No Bus:tty46
[    1.343281] PM: Adding info for No Bus:tty47
[    1.343312] PM: Adding info for No Bus:tty48
[    1.343357] PM: Adding info for No Bus:tty49
[    1.343388] PM: Adding info for No Bus:tty50
[    1.343421] PM: Adding info for No Bus:tty51
[    1.343453] PM: Adding info for No Bus:tty52
[    1.343486] PM: Adding info for No Bus:tty53
[    1.343518] PM: Adding info for No Bus:tty54
[    1.343553] PM: Adding info for No Bus:tty55
[    1.343585] PM: Adding info for No Bus:tty56
[    1.343624] PM: Adding info for No Bus:tty57
[    1.343656] PM: Adding info for No Bus:tty58
[    1.343690] PM: Adding info for No Bus:tty59
[    1.343724] PM: Adding info for No Bus:tty60
[    1.343756] PM: Adding info for No Bus:tty61
[    1.343789] PM: Adding info for No Bus:tty62
[    1.343823] PM: Adding info for No Bus:tty63
[    1.378464] pci 0000:00:01.0: PCI bridge to [bus 01-01]
[    1.383736] pci 0000:00:01.0:   bridge window [io  disabled]
[    1.389440] pci 0000:00:01.0:   bridge window [mem 0xfd000000-0xfeafffff]
[    1.396269] pci 0000:00:01.0:   bridge window [mem 0xf0000000-0xf7ffffff pref]
[    1.403545] pci 0000:00:1e.0: PCI bridge to [bus 02-02]
[    1.408811] pci 0000:00:1e.0:   bridge window [io  0xd000-0xdfff]
[    1.414947] pci 0000:00:1e.0:   bridge window [mem 0xfcf00000-0xfcffffff]
[    1.421777] pci 0000:00:1e.0:   bridge window [mem pref disabled]
[    1.427927] pci 0000:00:1e.0: setting latency timer to 64
[    1.427932] pci_bus 0000:00: resource 0 [io  0x0000-0xffff]
[    1.427936] pci_bus 0000:00: resource 1 [mem 0x00000000-0xffffffff]
[    1.427939] pci_bus 0000:01: resource 1 [mem 0xfd000000-0xfeafffff]
[    1.427943] pci_bus 0000:01: resource 2 [mem 0xf0000000-0xf7ffffff pref]
[    1.427947] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
[    1.427950] pci_bus 0000:02: resource 1 [mem 0xfcf00000-0xfcffffff]
[    1.427953] pci_bus 0000:02: resource 4 [io  0x0000-0xffff]
[    1.427956] pci_bus 0000:02: resource 5 [mem 0x00000000-0xffffffff]
[    1.428012] NET: Registered protocol family 2
[    1.432513] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[    1.440043] TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
[    1.448026] TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
[    1.454996] TCP: Hash tables configured (established 131072 bind 65536)
[    1.461666] TCP reno registered
[    1.464857] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    1.470829] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    1.477410] NET: Registered protocol family 1
[    1.481939] pci 0000:01:00.0: Boot video device
[    1.481954] pci 0000:02:08.0: Firmware left e100 interrupts enabled; disabling
[    1.489231] PCI: CLS 64 bytes, default 64
[    1.489302] Trying to unpack rootfs image as initramfs...
[    1.686889] Freeing initrd memory: 5752k freed
[    1.695958] Simple Boot Flag value 0x87 read from CMOS RAM was invalid
[    1.702544] Simple Boot Flag at 0x7a set to 0x1
[    1.707258] PM: Adding info for No Bus:mcelog
[    1.707332] PM: Adding info for No Bus:msr0
[    1.707372] PM: Adding info for No Bus:msr1
[    1.707413] PM: Adding info for No Bus:cpu0
[    1.707444] PM: Adding info for No Bus:cpu1
[    1.707469] PM: Adding info for platform:microcode
[    1.707486] microcode: CPU0 sig=0xf29, pf=0x4, revision=0x21
[    1.713221] microcode: CPU1 sig=0xf29, pf=0x4, revision=0x21
[    1.718940] PM: Adding info for No Bus:microcode
[    1.718952] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[    1.727861] PM: Adding info for No Bus:snapshot
[    1.727919] audit: initializing netlink socket (disabled)
[    1.733372] type=2000 audit(1311318596.733:1): initialized
[    1.738956] PM: Adding info for event_source:cpu
[    1.738978] PM: Adding info for event_source:breakpoint
[    1.738996] PM: Adding info for event_source:tracepoint
[    1.739015] PM: Adding info for event_source:software
[    1.739211] HugeTLB registered 4 MB page size, pre-allocated 0 pages
[    1.749071] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    1.755159] NTFS driver 2.1.30 [Flags: R/W].
[    1.759593] fuse init (API version 7.16)
[    1.763695] PM: Adding info for No Bus:fuse
[    1.763761] msgmni has been set to 2007
[    1.767924] async_tx: api initialized (async)
[    1.772410] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    1.779900] io scheduler noop registered
[    1.783869] io scheduler deadline registered
[    1.788206] io scheduler cfq registered (default)
[    1.793042] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    1.798656] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    1.805300] PM: Adding info for No Bus:fbcon
[    1.805326] PM: Adding info for platform:vesafb.0
[    1.805359] PM: Removing info for platform:vesafb.0
[    1.805424] PM: Adding info for No Bus:input0
[    1.805464] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0
[    1.813706] ACPI: Power Button [VBTN]
[    1.817462] PM: Adding info for No Bus:input1
[    1.817499] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    1.824947] ACPI: Power Button [PWRF]
[    1.828762] ACPI: acpi_idle registered with cpuidle
[    1.828816] PM: Adding info for No Bus:cooling_device0
[    1.828858] PM: Adding info for No Bus:cooling_device1
[    1.838952] ERST: Table is not found!
[    1.842679] PM: Adding info for No Bus:pnp1
[    1.842683] isapnp: Scanning for PnP cards...
[    2.203558] isapnp: No Plug & Play device found
[    2.208203] PM: Adding info for No Bus:ptmx
[    2.208216] Serial: 8250/16550 driver, 2 ports, IRQ sharing enabled
[    2.214542] PM: Adding info for platform:serial8250
[    2.234980] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    2.241056] PM: Adding info for No Bus:ttyS0
[    2.283383] PM: Adding info for No Bus:ttyS1
[    2.336783] PM: Removing info for No Bus:ttyS0
[    2.357256] 00:06: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    2.362897] PM: Adding info for No Bus:ttyS0
[    2.410117] PM: Adding info for No Bus:ttyprintk
[    2.410149] PM: Adding info for No Bus:hpet
[    2.410204] PM: Adding info for No Bus:nvram
[    2.410219] Non-volatile memory driver v1.3
[    2.414447] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds).
[    2.423452] Hangcheck: Using getrawmonotonic().
[    2.428050] PM: Adding info for No Bus:isa
[    2.428471] PM: Adding info for No Bus:1:0
[    2.428520] PM: Adding info for No Bus:ram0
[    2.428565] PM: Adding info for No Bus:1:1
[    2.428600] PM: Adding info for No Bus:ram1
[    2.428646] PM: Adding info for No Bus:1:2
[    2.428681] PM: Adding info for No Bus:ram2
[    2.428727] PM: Adding info for No Bus:1:3
[    2.428762] PM: Adding info for No Bus:ram3
[    2.428806] PM: Adding info for No Bus:1:4
[    2.428844] PM: Adding info for No Bus:ram4
[    2.428889] PM: Adding info for No Bus:1:5
[    2.428924] PM: Adding info for No Bus:ram5
[    2.428975] PM: Adding info for No Bus:1:6
[    2.429011] PM: Adding info for No Bus:ram6
[    2.429058] PM: Adding info for No Bus:1:7
[    2.429099] PM: Adding info for No Bus:ram7
[    2.429144] PM: Adding info for No Bus:1:8
[    2.429184] PM: Adding info for No Bus:ram8
[    2.429229] PM: Adding info for No Bus:1:9
[    2.429266] PM: Adding info for No Bus:ram9
[    2.429313] PM: Adding info for No Bus:1:10
[    2.429355] PM: Adding info for No Bus:ram10
[    2.429401] PM: Adding info for No Bus:1:11
[    2.429440] PM: Adding info for No Bus:ram11
[    2.429486] PM: Adding info for No Bus:1:12
[    2.429524] PM: Adding info for No Bus:ram12
[    2.429573] PM: Adding info for No Bus:1:13
[    2.429610] PM: Adding info for No Bus:ram13
[    2.429663] PM: Adding info for No Bus:1:14
[    2.429701] PM: Adding info for No Bus:ram14
[    2.429748] PM: Adding info for No Bus:1:15
[    2.429786] PM: Adding info for No Bus:ram15
[    2.429820] brd: module loaded
[    2.433128] PM: Adding info for No Bus:7:0
[    2.433167] PM: Adding info for No Bus:loop0
[    2.433214] PM: Adding info for No Bus:7:1
[    2.433250] PM: Adding info for No Bus:loop1
[    2.433294] PM: Adding info for No Bus:7:2
[    2.433345] PM: Adding info for No Bus:loop2
[    2.433390] PM: Adding info for No Bus:7:3
[    2.433425] PM: Adding info for No Bus:loop3
[    2.433472] PM: Adding info for No Bus:7:4
[    2.433511] PM: Adding info for No Bus:loop4
[    2.433558] PM: Adding info for No Bus:7:5
[    2.433594] PM: Adding info for No Bus:loop5
[    2.433639] PM: Adding info for No Bus:7:6
[    2.433676] PM: Adding info for No Bus:loop6
[    2.433722] PM: Adding info for No Bus:7:7
[    2.433758] PM: Adding info for No Bus:loop7
[    2.433794] loop: module loaded
[    2.437037] PM: Adding info for No Bus:pktcdvd
[    2.437128] ata_piix 0000:00:1f.1: version 2.13
[    2.437150] ata_piix 0000:00:1f.1: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[    2.444374] ata_piix 0000:00:1f.1: setting latency timer to 64
[    2.444434] PM: Adding info for No Bus:ata1
[    2.444449] PM: Adding info for No Bus:ata1
[    2.444472] PM: Adding info for No Bus:link1
[    2.444486] PM: Adding info for No Bus:link1
[    2.444509] PM: Adding info for No Bus:dev1.0
[    2.444526] PM: Adding info for No Bus:dev1.0
[    2.444555] PM: Adding info for No Bus:dev1.1
[    2.444570] PM: Adding info for No Bus:dev1.1
[    2.444598] PM: Adding info for No Bus:ata2
[    2.444613] PM: Adding info for No Bus:ata2
[    2.444634] PM: Adding info for No Bus:link2
[    2.444650] PM: Adding info for No Bus:link2
[    2.444672] PM: Adding info for No Bus:dev2.0
[    2.444687] PM: Adding info for No Bus:dev2.0
[    2.444713] PM: Adding info for No Bus:dev2.1
[    2.444728] PM: Adding info for No Bus:dev2.1
[    2.444808] scsi0 : ata_piix
[    2.447781] PM: Adding info for scsi:host0
[    2.447821] PM: Adding info for No Bus:host0
[    2.447873] scsi1 : ata_piix
[    2.450810] PM: Adding info for scsi:host1
[    2.450847] PM: Adding info for No Bus:host1
[    2.450860] ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0xffa0 irq 14
[    2.457864] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xffa8 irq 15
[    2.464913] ata_piix 0000:00:1f.2: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[    2.464995] scsi host1: rpm_resume flags 0x4
[    2.464999] scsi host1: rpm_resume returns 1
[    2.465132] scsi host0: rpm_resume flags 0x4
[    2.465136] scsi host0: rpm_resume returns 1
[    2.472102] ata_piix 0000:00:1f.2: MAP [ P0 -- P1 -- ]
[    2.477545] ata_piix 0000:00:1f.2: setting latency timer to 64
[    2.477592] PM: Adding info for No Bus:ata3
[    2.477609] PM: Adding info for No Bus:ata3
[    2.477633] PM: Adding info for No Bus:link3
[    2.477648] PM: Adding info for No Bus:link3
[    2.477671] PM: Adding info for No Bus:dev3.0
[    2.477687] PM: Adding info for No Bus:dev3.0
[    2.477716] PM: Adding info for No Bus:ata4
[    2.477732] PM: Adding info for No Bus:ata4
[    2.477753] PM: Adding info for No Bus:link4
[    2.477769] PM: Adding info for No Bus:link4
[    2.477791] PM: Adding info for No Bus:dev4.0
[    2.477807] PM: Adding info for No Bus:dev4.0
[    2.477873] scsi2 : ata_piix
[    2.480813] PM: Adding info for scsi:host2
[    2.480858] PM: Adding info for No Bus:host2
[    2.480912] scsi3 : ata_piix
[    2.483853] PM: Adding info for scsi:host3
[    2.483893] PM: Adding info for No Bus:host3
[    2.483904] ata3: SATA max UDMA/133 cmd 0xfe00 ctl 0xfe10 bmdma 0xfea0 irq 18
[    2.491081] ata4: SATA max UDMA/133 cmd 0xfe20 ctl 0xfe30 bmdma 0xfea8 irq 18
[    2.498309] scsi host2: rpm_resume flags 0x4
[    2.498315] scsi host2: rpm_resume returns 1
[    2.498346] scsi host3: rpm_resume flags 0x4
[    2.498350] scsi host3: rpm_resume returns 1
[    2.498425] VMware vmxnet3 virtual NIC driver - version 1.0.25.0-k-NAPI
[    2.505103] e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
[    2.511236] e100: Copyright(c) 1999-2006 Intel Corporation
[    2.516800] e100 0000:02:08.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[    2.560015] e100 0000:02:08.0: PME# disabled
[    2.560084] PM: Adding info for No Bus:eth0
[    2.560309] e100 0000:02:08.0: eth0: addr 0xfcfff000, irq 20, MAC addr 00:07:e9:47:08:38
[    2.568558] PM: Adding info for No Bus:usbmon0
[    2.568570] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.575161] ehci_hcd 0000:00:1d.7: PCI INT D -> GSI 23 (level, low) -> IRQ 23
[    2.582347] ehci_hcd 0000:00:1d.7: setting latency timer to 64
[    2.582352] ehci_hcd 0000:00:1d.7: EHCI Host Controller
[    2.587654] PM: Adding info for No Bus:usbmon1
[    2.587666] ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
[    2.610040] ehci_hcd 0000:00:1d.7: debug port 1
[    2.618497] ehci_hcd 0000:00:1d.7: cache line size of 64 is not supported
[    2.618519] ehci_hcd 0000:00:1d.7: irq 23, io mem 0xffa80800
[    2.625369] ata1.00: HPA detected: current 156250000, native 156301488
[    2.631959] ata1.00: ATA-5: WDC WD800BB-75CAA0, 16.06V16, max UDMA/100
[    2.636693] ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
[    2.636710] usb usb1: rpm_resume flags 0x0
[    2.636714] usb usb1: rpm_resume returns 1
[    2.636735] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    2.636740] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.636743] usb usb1: Product: EHCI Host Controller
[    2.636746] usb usb1: Manufacturer: Linux 2.6.39.3-i686 ehci_hcd
[    2.636749] usb usb1: SerialNumber: 0000:00:1d.7
[    2.636866] PM: Adding info for usb:usb1
[    2.636904] usb usb1: rpm_resume flags 0x4
[    2.636907] usb usb1: rpm_resume returns 1
[    2.636934] PM: Adding info for usb:1-0:1.0
[    2.636957] usb usb1: rpm_resume flags 0x4
[    2.636960] usb usb1: rpm_resume returns 1
[    2.636964] hub 1-0:1.0: USB hub found
[    2.636971] hub 1-0:1.0: 8 ports detected
[    2.637032] PM: Adding info for No Bus:ep_81
[    2.637059] PM: Adding info for No Bus:ep_00
[    2.637064] usb usb1: rpm_suspend flags 0xc
[    2.637067] usb usb1: rpm_suspend returns -16
[    2.637122] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    2.637146] uhci_hcd: USB Universal Host Controller Interface driver
[    2.637207] uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    2.637220] uhci_hcd 0000:00:1d.0: setting latency timer to 64
[    2.637224] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[    2.637293] PM: Adding info for No Bus:usbmon2
[    2.637308] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
[    2.714287] ata1.00: 156250000 sectors, multi 8: LBA 
[    2.719731] Refined TSC clocksource calibration: 2792.999 MHz.
[    2.719752] ata2.00: ATAPI: HL-DT-STDVD-ROM GDR8162B, 0015, max UDMA/33
[    2.719765] ata2.01: ATAPI: TEAC DVD+RW DV-W58E, D.0N, max UDMA/33
[    2.738480] Switching to clocksource tsc
[    2.740405] uhci_hcd 0000:00:1d.0: irq 16, io base 0x0000ff80
[    2.740445] usb usb2: rpm_resume flags 0x0
[    2.740448] usb usb2: rpm_resume returns 1
[    2.740471] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[    2.740475] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.740478] usb usb2: Product: UHCI Host Controller
[    2.740481] usb usb2: Manufacturer: Linux 2.6.39.3-i686 uhci_hcd
[    2.740484] usb usb2: SerialNumber: 0000:00:1d.0
[    2.740594] PM: Adding info for usb:usb2
[    2.740631] usb usb2: rpm_resume flags 0x4
[    2.740634] usb usb2: rpm_resume returns 1
[    2.740661] PM: Adding info for usb:2-0:1.0
[    2.740686] usb usb2: rpm_resume flags 0x4
[    2.740689] usb usb2: rpm_resume returns 1
[    2.740693] hub 2-0:1.0: USB hub found
[    2.740700] hub 2-0:1.0: 2 ports detected
[    2.740734] PM: Adding info for No Bus:ep_81
[    2.740757] PM: Adding info for No Bus:ep_00
[    2.740762] usb usb2: rpm_suspend flags 0xc
[    2.740765] usb usb2: rpm_suspend returns -16
[    2.740821] uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 19 (level, low) -> IRQ 19
[    2.740833] uhci_hcd 0000:00:1d.1: setting latency timer to 64
[    2.740837] uhci_hcd 0000:00:1d.1: UHCI Host Controller
[    2.740902] PM: Adding info for No Bus:usbmon3
[    2.740917] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
[    2.805613] ata3.00: ATA-8: ST3500418AS, CC35, max UDMA/133
[    2.811239] ata3.00: 976773168 sectors, multi 8: LBA48 NCQ (depth 0/32)
[    2.817995] uhci_hcd 0000:00:1d.1: irq 19, io base 0x0000ff60
[    2.818149] ata4.00: ATA-8: ST3500418AS, CC38, max UDMA/133
[    2.818154] ata4.00: 976773168 sectors, multi 8: LBA48 NCQ (depth 0/32)
[    2.824673] ata1.00: configured for UDMA/100
[    2.824690] scsi host0: rpm_suspend flags 0x0
[    2.824694] scsi host0: rpm_suspend returns 0
[    2.824709] scsi target0:0:0: rpm_resume flags 0x4
[    2.824713] scsi target0:0:0: rpm_resume returns -11
[    2.824716] scsi host0: rpm_resume flags 0x4
[    2.824720] ata_piix 0000:00:1f.1: rpm_resume flags 0x0
[    2.824723] ata_piix 0000:00:1f.1: rpm_resume returns 1
[    2.824727] scsi host0: rpm_resume returns 0
[    2.824881] scsi 0:0:0:0: Direct-Access     ATA      WDC WD800BB-75CA 16.0 PQ: 0 ANSI: 5
[    2.824903] PM: Adding info for scsi:target0:0:0
[    2.824920] scsi target0:0:0: rpm_resume flags 0x4
[    2.824924] scsi target0:0:0: rpm_resume returns 1
[    2.824927] scsi 0:0:0:0: rpm_resume flags 0x0
[    2.824930] scsi 0:0:0:0: rpm_resume returns -11
[    2.824934] scsi 0:0:0:0: rpm_resume flags 0x4
[    2.824937] scsi 0:0:0:0: rpm_resume returns 1
[    2.824967] PM: Adding info for scsi:0:0:0:0
[    2.825028] PM: Adding info for No Bus:0:0:0:0
[    2.825066] PM: Adding info for No Bus:0:0:0:0
[    2.825160] PM: Adding info for No Bus:0:0:0:0
[    2.825245] sd 0:0:0:0: [sda] 156250000 512-byte logical blocks: (80.0 GB/74.5 GiB)
[    2.825333] sd 0:0:0:0: [sda] Write Protect is off
[    2.825338] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.825378] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.825410] PM: Adding info for No Bus:8:0
[    2.825478] PM: Adding info for No Bus:sda
[    2.825500] sd 0:0:0:0: rpm_resume flags 0x4
[    2.825503] sd 0:0:0:0: rpm_resume returns 1
[    2.830403] ata4.00: configured for UDMA/133
[    2.830419] scsi host3: rpm_suspend flags 0x0
[    2.830424] scsi host3: rpm_suspend returns 0
[    2.874448] usb usb3: rpm_resume flags 0x0
[    2.874453] usb usb3: rpm_resume returns 1
[    2.874480] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
[    2.874616] ata2.00: configured for UDMA/33
[    2.874789] hub 1-0:1.0: rpm_resume flags 0x4
[    2.874793] hub 1-0:1.0: rpm_resume returns 1
[    2.885602] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.885997] ata2.01: configured for UDMA/33
[    2.897138] usb usb3: Product: UHCI Host Controller
[    2.897199] ata3.00: configured for UDMA/133
[    2.897212] scsi host2: rpm_suspend flags 0x0
[    2.897217] scsi host2: rpm_suspend returns 0
[    2.906387] usb usb3: Manufacturer: Linux 2.6.39.3-i686 uhci_hcd
[    2.912477] usb usb3: SerialNumber: 0000:00:1d.1
[    2.917277] PM: Adding info for usb:usb3
[    2.917312] usb usb3: rpm_resume flags 0x4
[    2.917316] usb usb3: rpm_resume returns 1
[    2.917356] scsi host1: rpm_suspend flags 0x0
[    2.917360] scsi target1:0:0: rpm_resume flags 0x4
[    2.917364] scsi target1:0:0: rpm_resume returns -11
[    2.917369] scsi host1: rpm_suspend returns -11
[    2.917373] scsi host1: rpm_resume flags 0x4
[    2.917378] scsi host1: rpm_resume returns 1
[    2.917491] PM: Adding info for usb:3-0:1.0
[    2.917511] usb usb3: rpm_resume flags 0x4
[    2.917515] usb usb3: rpm_resume returns 1
[    2.917518] hub 3-0:1.0: USB hub found
[    2.921315] hub 3-0:1.0: 2 ports detected
[    2.925391] PM: Adding info for No Bus:ep_81
[    2.925415] PM: Adding info for No Bus:ep_00
[    2.925419] usb usb3: rpm_suspend flags 0xc
[    2.925422] usb usb3: rpm_suspend returns -16
[    2.925469] uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    2.932694]  sda: sda1 sda2 < sda5 sda6 sda7 sda8 sda9 >
[    2.932711] uhci_hcd 0000:00:1d.2: setting latency timer to 64
[    2.932720] uhci_hcd 0000:00:1d.2: UHCI Host Controller
[    2.932812] PM: Adding info for No Bus:usbmon4
[    2.932831] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
[    2.936557] scsi 1:0:0:0: CD-ROM            HL-DT-ST DVD-ROM GDR8162B 0015 PQ: 0 ANSI: 5
[    2.936586] PM: Adding info for scsi:target1:0:0
[    2.936603] scsi target1:0:0: rpm_resume flags 0x4
[    2.936607] scsi target1:0:0: rpm_resume returns 1
[    2.936610] scsi 1:0:0:0: rpm_resume flags 0x0
[    2.936613] scsi 1:0:0:0: rpm_resume returns -11
[    2.936617] scsi 1:0:0:0: rpm_resume flags 0x4
[    2.936620] scsi 1:0:0:0: rpm_resume returns 1
[    2.936651] PM: Adding info for scsi:1:0:0:0
[    2.936698] PM: Adding info for No Bus:1:0:0:0
[    2.936759] PM: Adding info for No Bus:1:0:0:0
[    2.936785] scsi target1:0:1: rpm_resume flags 0x4
[    2.936789] scsi target1:0:1: rpm_resume returns -11
[    2.936792] scsi host1: rpm_resume flags 0x4
[    2.936795] scsi host1: rpm_resume returns 1
[    2.938225] scsi 1:0:1:0: CD-ROM            TEAC     DVD+RW DV-W58E   D.0N PQ: 0 ANSI: 5
[    2.938252] PM: Adding info for scsi:target1:0:1
[    2.938269] scsi target1:0:1: rpm_resume flags 0x4
[    2.938273] scsi target1:0:1: rpm_resume returns 1
[    2.938276] scsi 1:0:1:0: rpm_resume flags 0x0
[    2.938279] scsi 1:0:1:0: rpm_resume returns -11
[    2.938283] scsi 1:0:1:0: rpm_resume flags 0x4
[    2.938286] scsi 1:0:1:0: rpm_resume returns 1
[    2.938316] PM: Adding info for scsi:1:0:1:0
[    2.938350] PM: Adding info for No Bus:1:0:1:0
[    2.938406] PM: Adding info for No Bus:1:0:1:0
[    2.938448] scsi target2:0:0: rpm_resume flags 0x4
[    2.938452] scsi target2:0:0: rpm_resume returns -11
[    2.938455] scsi host2: rpm_resume flags 0x4
[    2.938459] ata_piix 0000:00:1f.2: rpm_resume flags 0x0
[    2.938462] ata_piix 0000:00:1f.2: rpm_resume returns 1
[    2.938466] scsi host2: rpm_resume returns 0
[    2.938583] scsi 2:0:0:0: Direct-Access     ATA      ST3500418AS      CC35 PQ: 0 ANSI: 5
[    2.938603] PM: Adding info for scsi:target2:0:0
[    2.938617] scsi target2:0:0: rpm_resume flags 0x4
[    2.938620] scsi target2:0:0: rpm_resume returns 1
[    2.938624] scsi 2:0:0:0: rpm_resume flags 0x0
[    2.938627] scsi 2:0:0:0: rpm_resume returns -11
[    2.938630] scsi 2:0:0:0: rpm_resume flags 0x4
[    2.938633] scsi 2:0:0:0: rpm_resume returns 1
[    2.938667] PM: Adding info for scsi:2:0:0:0
[    2.938723] PM: Adding info for No Bus:2:0:0:0
[    2.938759] PM: Adding info for No Bus:2:0:0:0
[    2.938819] PM: Adding info for No Bus:2:0:0:0
[    2.938864] scsi target3:0:0: rpm_resume flags 0x4
[    2.938868] scsi target3:0:0: rpm_resume returns -11
[    2.938871] scsi host3: rpm_resume flags 0x4
[    2.938874] ata_piix 0000:00:1f.2: rpm_resume flags 0x0
[    2.938878] ata_piix 0000:00:1f.2: rpm_resume returns 1
[    2.938881] scsi host3: rpm_resume returns 0
[    2.938998] scsi 3:0:0:0: Direct-Access     ATA      ST3500418AS      CC38 PQ: 0 ANSI: 5
[    2.939019] PM: Adding info for scsi:target3:0:0
[    2.939033] scsi target3:0:0: rpm_resume flags 0x4
[    2.939036] scsi target3:0:0: rpm_resume returns 1
[    2.939039] scsi 3:0:0:0: rpm_resume flags 0x0
[    2.939042] scsi 3:0:0:0: rpm_resume returns -11
[    2.939046] scsi 3:0:0:0: rpm_resume flags 0x4
[    2.939049] scsi 3:0:0:0: rpm_resume returns 1
[    2.939082] PM: Adding info for scsi:3:0:0:0
[    2.939136] PM: Adding info for No Bus:3:0:0:0
[    2.939167] PM: Adding info for No Bus:3:0:0:0
[    2.939223] PM: Adding info for No Bus:3:0:0:0
[    2.939317] sd 3:0:0:0: [sdc] 976773168 512-byte logical blocks: (500 GB/465 GiB)
[    2.939346] sd 2:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/465 GiB)
[    2.939493] sd 3:0:0:0: [sdc] Write Protect is off
[    2.939498] sd 3:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    2.939519] sd 2:0:0:0: [sdb] Write Protect is off
[    2.939523] sd 2:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    2.939576] sd 3:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.939610] PM: Adding info for No Bus:8:32
[    2.939682] PM: Adding info for No Bus:sdc
[    2.939706] sd 3:0:0:0: rpm_resume flags 0x4
[    2.939710] sd 3:0:0:0: rpm_resume returns 1
[    2.939742] sd 2:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.939776] PM: Adding info for No Bus:8:16
[    2.939834] PM: Adding info for No Bus:sdb
[    2.939849] sd 2:0:0:0: rpm_resume flags 0x4
[    2.939853] sd 2:0:0:0: rpm_resume returns 1
[    3.029062] PM: Adding info for No Bus:sda1
[    3.029109] PM: Adding info for No Bus:sda2
[    3.029149] PM: Adding info for No Bus:sda5
[    3.029186] PM: Adding info for No Bus:sda6
[    3.029223] PM: Adding info for No Bus:sda7
[    3.029258] PM: Adding info for No Bus:sda8
[    3.029293] PM: Adding info for No Bus:sda9
[    3.029643] sd 0:0:0:0: [sda] Attached SCSI disk
[    3.039254]  sdc: sdc1 sdc2 < sdc5 sdc6 sdc7 sdc8 sdc9 sdc10 >
[    3.045190] PM: Adding info for No Bus:sdc1
[    3.045227] PM: Adding info for No Bus:sdc2
[    3.045265] PM: Adding info for No Bus:sdc5
[    3.045300] PM: Adding info for No Bus:sdc6
[    3.045338] PM: Adding info for No Bus:sdc7
[    3.045374] PM: Adding info for No Bus:sdc8
[    3.045414] PM: Adding info for No Bus:sdc9
[    3.045450] PM: Adding info for No Bus:sdc10
[    3.045750] sd 3:0:0:0: [sdc] Attached SCSI disk
[    3.050463] uhci_hcd 0000:00:1d.2: irq 18, io base 0x0000ff40
[    3.056287] usb usb4: rpm_resume flags 0x0
[    3.056291] usb usb4: rpm_resume returns 1
[    3.056310] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
[    3.056461]  sdb: sdb1 sdb2 < sdb5 sdb6 sdb7 sdb8 sdb9 sdb10 sdb11 sdb12 sdb13 >
[    3.056551] PM: Adding info for No Bus:sdb1
[    3.056604] PM: Adding info for No Bus:sdb2
[    3.056655] PM: Adding info for No Bus:sdb5
[    3.056725] PM: Adding info for No Bus:sdb6
[    3.056774] PM: Adding info for No Bus:sdb7
[    3.056824] PM: Adding info for No Bus:sdb8
[    3.056880] PM: Adding info for No Bus:sdb9
[    3.056933] PM: Adding info for No Bus:sdb10
[    3.056985] PM: Adding info for No Bus:sdb11
[    3.057039] PM: Adding info for No Bus:sdb12
[    3.057095] PM: Adding info for No Bus:sdb13
[    3.070584] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.070991] sd 2:0:0:0: [sdb] Attached SCSI disk
[    3.080041] hub 1-0:1.0: rpm_resume flags 0x4
[    3.080045] hub 1-0:1.0: rpm_resume returns 1
[    3.080053] hub 1-0:1.0: rpm_suspend flags 0x4
[    3.080060] hub 1-0:1.0: rpm_suspend returns 0
[    3.080064] hub 2-0:1.0: rpm_resume flags 0x4
[    3.080067] hub 2-0:1.0: rpm_resume returns 1
[    3.080087] usb usb1: rpm_suspend flags 0x8
[    3.080092] usb usb1: rpm_suspend returns 0
[    3.082511] usb usb4: Product: UHCI Host Controller
[    3.087427] usb usb4: Manufacturer: Linux 2.6.39.3-i686 uhci_hcd
[    3.093473] usb usb4: SerialNumber: 0000:00:1d.2
[    3.098228] PM: Adding info for usb:usb4
[    3.098260] usb usb4: rpm_resume flags 0x4
[    3.098263] usb usb4: rpm_resume returns 1
[    3.098284] PM: Adding info for usb:4-0:1.0
[    3.098303] usb usb4: rpm_resume flags 0x4
[    3.098306] usb usb4: rpm_resume returns 1
[    3.098309] hub 4-0:1.0: USB hub found
[    3.102102] hub 4-0:1.0: 2 ports detected
[    3.106181] PM: Adding info for No Bus:ep_81
[    3.106200] PM: Adding info for No Bus:ep_00
[    3.106204] usb usb4: rpm_suspend flags 0xc
[    3.106207] usb usb4: rpm_suspend returns -16
[    3.106256] uhci_hcd 0000:00:1d.3: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    3.113438] uhci_hcd 0000:00:1d.3: setting latency timer to 64
[    3.113443] uhci_hcd 0000:00:1d.3: UHCI Host Controller
[    3.118753] PM: Adding info for No Bus:usbmon5
[    3.118769] uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
[    3.130033] uhci_hcd 0000:00:1d.3: irq 16, io base 0x0000ff20
[    3.135842] usb usb5: rpm_resume flags 0x0
[    3.135845] usb usb5: rpm_resume returns 1
[    3.135863] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
[    3.142691] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.149961] usb usb5: Product: UHCI Host Controller
[    3.154878] usb usb5: Manufacturer: Linux 2.6.39.3-i686 uhci_hcd
[    3.160922] usb usb5: SerialNumber: 0000:00:1d.3
[    3.165659] PM: Adding info for usb:usb5
[    3.165687] usb usb5: rpm_resume flags 0x4
[    3.165691] usb usb5: rpm_resume returns 1
[    3.165710] PM: Adding info for usb:5-0:1.0
[    3.165728] usb usb5: rpm_resume flags 0x4
[    3.165731] usb usb5: rpm_resume returns 1
[    3.165734] hub 5-0:1.0: USB hub found
[    3.169531] hub 5-0:1.0: 2 ports detected
[    3.173606] PM: Adding info for No Bus:ep_81
[    3.173625] PM: Adding info for No Bus:ep_00
[    3.173629] usb usb5: rpm_suspend flags 0xc
[    3.173632] usb usb5: rpm_suspend returns -16
[    3.173704] usbcore: registered new interface driver usblp
[    3.179267] PM: Adding info for platform:dummy_hcd
[    3.179281] dummy_hcd dummy_hcd: USB Host+Gadget Emulator, driver 02 May 2005
[    3.186455] dummy_hcd dummy_hcd: Dummy host controller
[    3.191670] PM: Adding info for No Bus:usbmon6
[    3.191682] dummy_hcd dummy_hcd: new USB bus registered, assigned bus number 6
[    3.213347] usb usb6: rpm_resume flags 0x0
[    3.213351] usb usb6: rpm_resume returns 1
[    3.213368] usb usb6: New USB device found, idVendor=1d6b, idProduct=0002
[    3.220194] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.227462] usb usb6: Product: Dummy host controller
[    3.232466] usb usb6: Manufacturer: Linux 2.6.39.3-i686 dummy_hcd
[    3.238599] usb usb6: SerialNumber: dummy_hcd
[    3.243067] PM: Adding info for usb:usb6
[    3.243093] usb usb6: rpm_resume flags 0x4
[    3.243096] usb usb6: rpm_resume returns 1
[    3.243118] PM: Adding info for usb:6-0:1.0
[    3.243135] usb usb6: rpm_resume flags 0x4
[    3.243138] usb usb6: rpm_resume returns 1
[    3.243142] hub 6-0:1.0: USB hub found
[    3.246933] hub 6-0:1.0: 1 port detected
[    3.250920] PM: Adding info for No Bus:ep_81
[    3.250938] PM: Adding info for No Bus:ep_00
[    3.250942] usb usb6: rpm_suspend flags 0xc
[    3.250945] usb usb6: rpm_suspend returns -16
[    3.250961] PM: Adding info for platform:dummy_udc
[    3.250982] PM: Adding info for No Bus:gadget
[    3.251046] i8042: PNP: No PS/2 controller found. Probing ports directly.
[    3.257938] PM: Adding info for platform:i8042
[    3.261087] serio: i8042 KBD port at 0x60,0x64 irq 1
[    3.266099] serio: i8042 AUX port at 0x60,0x64 irq 12
[    3.271211] PM: Adding info for serio:serio0
[    3.271297] PM: Adding info for No Bus:mice
[    3.271334] PM: Adding info for No Bus:psaux
[    3.271343] mousedev: PS/2 mouse device common for all mice
[    3.276979] PM: Adding info for serio:serio1
[    3.277021] PM: Adding info for No Bus:event0
[    3.277057] PM: Adding info for No Bus:event1
[    3.277221] PM: Adding info for No Bus:uinput
[    3.277254] rtc_cmos 00:05: RTC can wake from S4
[    3.286750] PM: Adding info for No Bus:rtc0
[    3.286771] rtc_cmos 00:05: rtc core: registered rtc_cmos as rtc0
[    3.292925] rtc0: alarms up to one day, 242 bytes nvram, hpet irqs
[    3.299157] i2c /dev entries driver
[    3.302751] i801_smbus 0000:00:1f.3: PCI INT B -> GSI 17 (level, low) -> IRQ 17
[    3.306692] usb 2-1: new full speed USB device number 2 using uhci_hcd
[    3.316701] PM: Adding info for i2c:i2c-0
[    3.316739] PM: Adding info for No Bus:i2c-0
[    3.316793] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.06
[    3.322429] PM: Adding info for platform:iTCO_wdt
[    3.322469] iTCO_wdt: Found a ICH5 or ICH5R TCO device (Version=1, TCOBASE=0x0860)
[    3.330117] PM: Adding info for No Bus:watchdog
[    3.330131] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[    3.336178] md: linear personality registered for level -1
[    3.341706] md: raid0 personality registered for level 0
[    3.347074] md: raid1 personality registered for level 1
[    3.352426] md: raid10 personality registered for level 10
[    3.357950] md: raid6 personality registered for level 6
[    3.363300] md: raid5 personality registered for level 5
[    3.368652] md: raid4 personality registered for level 4
[    3.374133] device-mapper: uevent: version 1.0.3
[    3.378902] PM: Adding info for No Bus:device-mapper
[    3.378914] device-mapper: ioctl: 4.20.0-ioctl (2011-02-02) initialised: dm-devel@redhat.com
[    3.387486] device-mapper: multipath: version 1.3.0 loaded
[    3.393012] device-mapper: multipath round-robin: version 1.0.0 loaded
[    3.399693] cpuidle: using governor ladder
[    3.403831] cpuidle: using governor menu
[    3.408313] usbcore: registered new interface driver usbhid
[    3.413923] usbhid: USB HID core driver
[    3.418220] TCP cubic registered
[    3.421700] NET: Registered protocol family 10
[    3.427384] NET: Registered protocol family 17
[    3.431930] Bridge firewalling registered
[    3.435980] Registering the dns_resolver key type
[    3.439348] usb 2-1: rpm_resume flags 0x0
[    3.439352] usb 2-1: rpm_resume returns 1
[    3.440753] Using IPI No-Shortcut mode
[    3.444606] PM: Adding info for No Bus:cpu_dma_latency
[    3.444649] PM: Adding info for No Bus:network_latency
[    3.444680] PM: Adding info for No Bus:network_throughput
[    3.444691] PM: Checking hibernation image partition /dev/sdb13
[    3.444717] PM: Hibernation image partition 8:29 present
[    3.444719] PM: Looking for hibernation image.
[    3.444740] sd 2:0:0:0: rpm_resume flags 0x4
[    3.444743] sd 2:0:0:0: rpm_resume returns 1
[    3.444979] PM: Image not found (code -22)
[    3.444983] PM: Hibernation image not present or could not be loaded.
[    3.445320] rtc_cmos 00:05: setting system clock to 2011-07-22 07:09:59 UTC (1311318599)
[    3.453473] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    3.459522] EDD information not available.
[    3.463780] Freeing unused kernel memory: 476k freed
[    3.495348] usb 2-1: New USB device found, idVendor=054c, idProduct=0155
[    3.502150] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    3.506293] udev[66]: starting version 163
[    3.513492] usb 2-1: Product: EyeToy USB camera Namtai
[    3.518721] usb 2-1: Manufacturer: Sony corporation
[    3.526907] PM: Adding info for usb:2-1
[    3.526963] usb 2-1: rpm_resume flags 0x4
[    3.526969] usb 2-1: rpm_resume returns 1
[    3.528043] sd 2:0:0:0: rpm_resume flags 0x4
[    3.528049] sd 2:0:0:0: rpm_resume returns 1
[    3.529386] PM: Adding info for usb:2-1:1.0
[    3.529459] PM: Adding info for No Bus:ep_81
[    3.529485] PM: Adding info for usb:2-1:1.1
[    3.529545] PM: Adding info for usb:2-1:1.2
[    3.529607] PM: Adding info for No Bus:ep_00
[    3.529618] hub 3-0:1.0: rpm_resume flags 0x4
[    3.529622] hub 3-0:1.0: rpm_resume returns 1
[    3.539422] PM: Adding info for No Bus:vcs2
[    3.539478] PM: Adding info for No Bus:vcsa2
[    3.550915] sd 3:0:0:0: rpm_resume flags 0x4
[    3.550924] sd 3:0:0:0: rpm_resume returns 1
[    3.555007] PM: Adding info for No Bus:vcs3
[    3.555069] PM: Adding info for No Bus:vcsa3
[    3.559276] sd 0:0:0:0: rpm_resume flags 0x4
[    3.559282] sd 0:0:0:0: rpm_resume returns 1
[    3.568090] sd 0:0:0:0: rpm_resume flags 0x4
[    3.568097] sd 0:0:0:0: rpm_resume returns 1
[    3.571826] PM: Adding info for No Bus:vcs4
[    3.571882] PM: Adding info for No Bus:vcsa4
[    3.581371] sd 2:0:0:0: rpm_resume flags 0x4
[    3.581379] sd 2:0:0:0: rpm_resume returns 1
[    3.584035] PM: Adding info for No Bus:vcs5
[    3.584092] PM: Adding info for No Bus:vcsa5
[    3.591452] sd 3:0:0:0: rpm_resume flags 0x4
[    3.591460] sd 3:0:0:0: rpm_resume returns 1
[    3.596125] sd 0:0:0:0: rpm_resume flags 0x4
[    3.596132] sd 0:0:0:0: rpm_resume returns 1
[    3.597310] PM: Adding info for No Bus:vcs6
[    3.597365] PM: Adding info for No Bus:vcsa6
[    3.597954] sd 3:0:0:0: rpm_resume flags 0x4
[    3.597961] sd 3:0:0:0: rpm_resume returns 1
[    3.617180] sd 2:0:0:0: rpm_resume flags 0x4
[    3.617186] sd 2:0:0:0: rpm_resume returns 1
[    3.655671] sd 0:0:0:0: rpm_resume flags 0x4
[    3.655678] sd 0:0:0:0: rpm_resume returns 1
[    3.673453] sd 3:0:0:0: rpm_resume flags 0x4
[    3.673459] sd 3:0:0:0: rpm_resume returns 1
[    3.703056] sd 2:0:0:0: rpm_resume flags 0x4
[    3.703062] sd 2:0:0:0: rpm_resume returns 1
[    3.729264] PM: Adding info for No Bus:vcs7
[    3.729337] PM: Adding info for No Bus:vcsa7
[    3.753411] usb 3-1: new low speed USB device number 2 using uhci_hcd
[    3.762296] sd 3:0:0:0: rpm_resume flags 0x4
[    3.762301] sd 3:0:0:0: rpm_resume returns 1
[    3.764979] sd 3:0:0:0: rpm_resume flags 0x4
[    3.764986] sd 3:0:0:0: rpm_resume returns 1
[    3.769461] sd 3:0:0:0: rpm_resume flags 0x4
[    3.769468] sd 3:0:0:0: rpm_resume returns 1
[    3.781389] sd 3:0:0:0: rpm_resume flags 0x4
[    3.781397] sd 3:0:0:0: rpm_resume returns 1
[    3.781689] sd 3:0:0:0: rpm_resume flags 0x4
[    3.781697] sd 3:0:0:0: rpm_resume returns 1
[    3.782723] sd 3:0:0:0: rpm_resume flags 0x4
[    3.782729] sd 3:0:0:0: rpm_resume returns 1
[    3.785273] sd 3:0:0:0: rpm_resume flags 0x4
[    3.785281] sd 3:0:0:0: rpm_resume returns 1
[    3.792370] sd 3:0:0:0: rpm_resume flags 0x4
[    3.792378] sd 3:0:0:0: rpm_resume returns 1
[    3.812892] sd 0:0:0:0: rpm_resume flags 0x4
[    3.812899] sd 0:0:0:0: rpm_resume returns 1
[    3.814152] sd 0:0:0:0: rpm_resume flags 0x4
[    3.814159] sd 0:0:0:0: rpm_resume returns 1
[    3.815161] sd 0:0:0:0: rpm_resume flags 0x4
[    3.815168] sd 0:0:0:0: rpm_resume returns 1
[    3.816657] sd 0:0:0:0: rpm_resume flags 0x4
[    3.816665] sd 0:0:0:0: rpm_resume returns 1
[    3.820886] sd 2:0:0:0: rpm_resume flags 0x4
[    3.820893] sd 2:0:0:0: rpm_resume returns 1
[    3.823997] sd 2:0:0:0: rpm_resume flags 0x4
[    3.824004] sd 2:0:0:0: rpm_resume returns 1
[    3.830098] sd 2:0:0:0: rpm_resume flags 0x4
[    3.830104] sd 2:0:0:0: rpm_resume returns 1
[    3.832793] sd 2:0:0:0: rpm_resume flags 0x4
[    3.832803] sd 2:0:0:0: rpm_resume returns 1
[    3.832856] sd 2:0:0:0: rpm_resume flags 0x4
[    3.832865] sd 2:0:0:0: rpm_resume returns 1
[    3.833792] sd 2:0:0:0: rpm_resume flags 0x4
[    3.833801] sd 2:0:0:0: rpm_resume returns 1
[    3.835308] sd 0:0:0:0: rpm_resume flags 0x4
[    3.835314] sd 0:0:0:0: rpm_resume returns 1
[    3.835326] sd 0:0:0:0: rpm_resume flags 0x4
[    3.835333] sd 0:0:0:0: rpm_resume returns 1
[    3.836851] sd 2:0:0:0: rpm_resume flags 0x4
[    3.836858] sd 2:0:0:0: rpm_resume returns 1
[    3.838302] sd 2:0:0:0: rpm_resume flags 0x4
[    3.838310] sd 2:0:0:0: rpm_resume returns 1
[    3.841464] sd 0:0:0:0: rpm_resume flags 0x4
[    3.841471] sd 0:0:0:0: rpm_resume returns 1
[    3.842220] sd 2:0:0:0: rpm_resume flags 0x4
[    3.842229] sd 2:0:0:0: rpm_resume returns 1
[    3.845904] sd 2:0:0:0: rpm_resume flags 0x4
[    3.845910] sd 2:0:0:0: rpm_resume returns 1
[    3.846331] sd 2:0:0:0: rpm_resume flags 0x4
[    3.846337] sd 2:0:0:0: rpm_resume returns 1
[    3.858406] sd 2:0:0:0: rpm_resume flags 0x4
[    3.858412] sd 2:0:0:0: rpm_resume returns 1
[    3.861578] sd 3:0:0:0: rpm_resume flags 0x4
[    3.861585] sd 3:0:0:0: rpm_resume returns 1
[    3.877971] sd 2:0:0:0: rpm_resume flags 0x4
[    3.877978] sd 2:0:0:0: rpm_resume returns 1
[    3.892284] usb 3-1: rpm_resume flags 0x0
[    3.892289] usb 3-1: rpm_resume returns 1
[    3.912382] sd 3:0:0:0: rpm_resume flags 0x4
[    3.912387] sd 3:0:0:0: rpm_resume returns 1
[    3.928269] usb 3-1: New USB device found, idVendor=046d, idProduct=c517
[    3.935157] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    3.942388] usb 3-1: Product: USB Receiver
[    3.945627] sd 2:0:0:0: rpm_resume flags 0x4
[    3.945633] sd 2:0:0:0: rpm_resume returns 1
[    3.946805] usb 3-1: Manufacturer: Logitech
[    3.951267] PM: Adding info for usb:3-1
[    3.951489] usb 3-1: rpm_resume flags 0x4
[    3.951495] usb 3-1: rpm_resume returns 1
[    3.953788] sd 3:0:0:0: rpm_resume flags 0x4
[    3.953793] sd 3:0:0:0: rpm_resume returns 1
[    3.954312] PM: Adding info for usb:3-1:1.0
[    3.954353] usb 3-1: rpm_resume flags 0x4
[    3.954359] usb 3-1: rpm_resume returns 1
[    3.954409] PM: Adding info for hid:0003:046D:C517.0001
[    3.962278] sd 3:0:0:0: rpm_resume flags 0x4
[    3.962284] sd 3:0:0:0: rpm_resume returns 1
[    3.968482] usbhid 3-1:1.0: rpm_resume flags 0x5
[    3.968487] usbhid 3-1:1.0: rpm_resume returns 1
[    3.976787] PM: Adding info for No Bus:input2
[    3.976854] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input2
[    3.987020] usbhid 3-1:1.0: rpm_resume flags 0x4
[    3.987027] usbhid 3-1:1.0: rpm_resume returns 1
[    3.987364] PM: Adding info for No Bus:event2
[    3.987686] PM: Adding info for No Bus:hidraw0
[    3.987722] logitech 0003:046D:C517.0001: input,hidraw0: USB HID v1.10 Keyboard [Logitech USB Receiver] on usb-0000:00:1d.1-1/input0
[    3.999904] usbhid 3-1:1.0: rpm_suspend flags 0x4
[    3.999911] usbhid 3-1:1.0: rpm_suspend returns 0
[    3.999947] PM: Adding info for No Bus:ep_81
[    4.000055] PM: Adding info for usb:3-1:1.1
[    4.000176] usb 3-1: rpm_resume flags 0x4
[    4.000180] usb 3-1: rpm_resume returns 1
[    4.000219] PM: Adding info for hid:0003:046D:C517.0002
[    4.029260] logitech 0003:046D:C517.0002: fixing up Logitech keyboard report descriptor
[    4.037591] PM: Adding info for No Bus:9:4
[    4.037681] PM: Adding info for No Bus:md4
[    4.038128] sd 3:0:0:0: rpm_resume flags 0x4
[    4.038134] sd 3:0:0:0: rpm_resume returns 1
[    4.039039] PM: Adding info for No Bus:input3
[    4.039049] md: bind<sdc9>
[    4.039243] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.1/input/input3
[    4.039256] usbhid 3-1:1.1: rpm_resume flags 0x4
[    4.039259] usbhid 3-1:1.1: rpm_resume returns 1
[    4.039342] PM: Adding info for No Bus:mouse0
[    4.039480] PM: Adding info for No Bus:event3
[    4.040327] PM: Adding info for No Bus:hiddev0
[    4.040630] PM: Adding info for No Bus:hidraw1
[    4.040725] logitech 0003:046D:C517.0002: input,hiddev0,hidraw1: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:1d.1-1/input1
[    4.040738] usbhid 3-1:1.1: rpm_suspend flags 0x4
[    4.040742] usbhid 3-1:1.1: rpm_suspend returns 0
[    4.040772] PM: Adding info for No Bus:ep_82
[    4.040804] PM: Adding info for No Bus:ep_00
[    4.040810] hub 3-0:1.0: rpm_suspend flags 0x4
[    4.040814] hub 3-0:1.0: rpm_suspend returns 0
[    4.041882] hub 4-0:1.0: rpm_resume flags 0x4
[    4.041887] hub 4-0:1.0: rpm_resume returns 1
[    4.041891] hub 4-0:1.0: rpm_suspend flags 0x4
[    4.041901] hub 4-0:1.0: rpm_suspend returns 0
[    4.041909] usb usb4: rpm_suspend flags 0x8
[    4.041915] usb usb4: rpm_suspend returns 0
[    4.041921] hub 5-0:1.0: rpm_resume flags 0x4
[    4.041924] hub 5-0:1.0: rpm_resume returns 1
[    4.041928] hub 5-0:1.0: rpm_suspend flags 0x4
[    4.041934] hub 5-0:1.0: rpm_suspend returns 0
[    4.041939] usb usb5: rpm_suspend flags 0x8
[    4.041943] usb usb5: rpm_suspend returns 0
[    4.041948] hub 2-0:1.0: rpm_resume flags 0x4
[    4.041951] hub 2-0:1.0: rpm_resume returns 1
[    4.041967] hub 2-0:1.0: rpm_suspend flags 0x4
[    4.041971] hub 2-0:1.0: rpm_suspend returns 0
[    4.041975] hub 6-0:1.0: rpm_resume flags 0x4
[    4.041977] hub 6-0:1.0: rpm_resume returns 1
[    4.041981] hub 6-0:1.0: rpm_suspend flags 0x4
[    4.041988] hub 6-0:1.0: rpm_suspend returns 0
[    4.041993] usb usb6: rpm_suspend flags 0x8
[    4.041997] usb usb6: rpm_suspend returns 0
[    4.068524] sd 2:0:0:0: rpm_resume flags 0x4
[    4.068531] sd 2:0:0:0: rpm_resume returns 1
[    4.147903] PM: Adding info for No Bus:9:3
[    4.148003] PM: Adding info for No Bus:md3
[    4.148478] sd 2:0:0:0: rpm_resume flags 0x4
[    4.148485] sd 2:0:0:0: rpm_resume returns 1
[    4.177133] PM: Adding info for No Bus:9:2
[    4.177241] PM: Adding info for No Bus:md2
[    4.184082] PM: Adding info for No Bus:9:1
[    4.184181] PM: Adding info for No Bus:md1
[    4.470752] md: bind<sdb7>
[    4.473824] sd 3:0:0:0: rpm_resume flags 0x4
[    4.473832] sd 3:0:0:0: rpm_resume returns 1
[    4.474298] sd 3:0:0:0: rpm_resume flags 0x4
[    4.474304] sd 3:0:0:0: rpm_resume returns 1
[    4.476856] md: bind<sdc6>
[    4.481122] md: bind<sdc5>
[    4.485067] sd 2:0:0:0: rpm_resume flags 0x4
[    4.485074] sd 2:0:0:0: rpm_resume returns 1
[    4.558927] md: bind<sdb11>
[    4.564711] bio: create slab <bio-1> at 1
[    4.568852] md/raid0:md4: looking at sdb11
[    4.572960] md/raid0:md4:   comparing sdb11(94371712) with sdb11(94371712)
[    4.579861] md/raid0:md4:   END
[    4.583017] md/raid0:md4:   ==> UNIQUE
[    4.586864] md/raid0:md4: 1 zones
[    4.590265] md/raid0:md4: looking at sdc9
[    4.594286] md/raid0:md4:   comparing sdc9(94367616) with sdb11(94371712)
[    4.601188] md/raid0:md4:   NOT EQUAL
[    4.604950] md/raid0:md4:   comparing sdc9(94367616) with sdc9(94367616)
[    4.611870] md/raid0:md4:   END
[    4.615109] md/raid0:md4:   ==> UNIQUE
[    4.618953] md/raid0:md4: 2 zones
[    4.622363] md/raid0:md4: FINAL 2 zones
[    4.626215] md/raid0:md4: zone 1
[    4.629477] md/raid0:md4: checking sdb11 ... contained as device 0
[    4.635673] md/raid0:md4:  (94371712) is smallest!.
[    4.640644] md/raid0:md4: checking sdc9 ... nope.
[    4.645369] md/raid0:md4: zone->nb_dev: 1, sectors: 4096
[    4.650695] md/raid0:md4: current zone start: 94371712
[    4.655844] md/raid0:md4: done.
[    4.658997] md/raid0:md4: md_size is 188739328 sectors.
[    4.664317] ******* md4 configuration *********
[    4.668939] zone0=[sdb11/sdc9/]
[    4.672196]         zone offset=0kb device offset=0kb size=94367616kb
[    4.678646] zone1=[sdb11/]
[    4.681386]         zone offset=94367616kb device offset=47183808kb size=2048kb
[    4.688711] **********************************
[    4.688712] 
[    4.694749] md4: detected capacity change from 0 to 96634535936
[    4.702316] sd 3:0:0:0: rpm_resume flags 0x4
[    4.702322] sd 3:0:0:0: rpm_resume returns 1
[    4.702587] sd 2:0:0:0: rpm_resume flags 0x4
[    4.702594] sd 2:0:0:0: rpm_resume returns 1
[    4.707009] sd 2:0:0:0: rpm_resume flags 0x4
[    4.707014] sd 2:0:0:0: rpm_resume returns 1
[    4.713550] md: bind<sdc7>
[    4.728035] md: bind<sdb6>
[    4.733894] md/raid0:md2: looking at sdb6
[    4.737929] md/raid0:md2:   comparing sdb6(19534848) with sdb6(19534848)
[    4.744655] md/raid0:md2:   END
[    4.747806] md/raid0:md2:   ==> UNIQUE
[    4.751563] md/raid0:md2: 1 zones
[    4.754887] md/raid0:md2: looking at sdc6
[    4.759016] md/raid0:md2:   comparing sdc6(19534848) with sdb6(19534848)
[    4.765821] md/raid0:md2:   EQUAL
[    4.769150] md/raid0:md2: FINAL 1 zones
[    4.773008] md/raid0:md2: done.
[    4.776172] md/raid0:md2: md_size is 39069696 sectors.
[    4.781321] ******* md2 configuration *********
[    4.785859] zone0=[sdb6/sdc6/
[    4.788356]  md4: unknown partition table
[    4.792903] ]
[    4.794520]         zone offset=0kb device offset=0kb size=19534848kb
[    4.800982] **********************************
[    4.800985] 
[    4.806975] md2: detected capacity change from 0 to 20003684352
[    4.817924] md: bind<sdb5>
[    4.823529] md/raid0:md1: looking at sdb5
[    4.827709] md/raid0:md1:   comparing sdb5(29302272) with sdb5(29302272)
[    4.834479] md/raid0:md1:   END
[    4.837664] md/raid0:md1:   ==> UNIQUE
[    4.841441] md/raid0:md1: 1 zones
[    4.844785] md/raid0:md1: looking at sdc5
[    4.848912] md/raid0:md1:   comparing sdc5(29302272) with sdb5(29302272)
[    4.855827] md/raid0:md1:   EQUAL
[    4.859246] md/raid0:md1: FINAL 1 zones
[    4.863189] md/raid0:md1: done.
[    4.866363] md/raid0:md1: md_size is 58604544 sectors.
[    4.871525] ******* md1 configuration *********
[    4.876070] zone0=[sdb5/sdc5/]
[    4.879167]         zone offset=0kb device offset=0kb size=29302272kb
[    4.885626] **********************************
[    4.885630] 
[    4.891622] md1: detected capacity change from 0 to 30005526528
[    4.897919]  md2: unknown partition table
[    4.898295] md/raid0:md3: looking at sdc7
[    4.898300] md/raid0:md3:   comparing sdc7(9767296) with sdc7(9767296)
[    4.898304] md/raid0:md3:   END
[    4.898306] md/raid0:md3:   ==> UNIQUE
[    4.898309] md/raid0:md3: 1 zones
[    4.898312] md/raid0:md3: looking at sdb7
[    4.898315] md/raid0:md3:   comparing sdb7(9767296) with sdc7(9767296)
[    4.898319] md/raid0:md3:   EQUAL
[    4.898322] md/raid0:md3: FINAL 1 zones
[    4.898327] md/raid0:md3: done.
[    4.898330] md/raid0:md3: md_size is 19534592 sectors.
[    4.898333] ******* md3 configuration *********
[    4.898336] zone0=[sdb7/sdc7/]
[    4.898342]         zone offset=0kb device offset=0kb size=9767296kb
[    4.898344] **********************************
[    4.898346] 
[    4.898366] md3: detected capacity change from 0 to 10001711104
[    5.015305]  md1: unknown partition table
[    5.020268]  md3: unknown partition table
[    5.161883] EXT4-fs (md1): mounted filesystem with ordered data mode. Opts: (null)
[    5.353345] usb usb1: rpm_suspend flags 0x9
[    5.353352] usb usb1: rpm_suspend returns 0
[    5.353364] usb usb1: rpm_suspend flags 0xa
[    5.353399] usb usb1: rpm_suspend returns 0
[    6.353346] usb usb4: rpm_suspend flags 0x9
[    6.353352] usb usb4: rpm_suspend returns 0
[    6.353356] usb usb5: rpm_suspend flags 0x9
[    6.353359] usb usb5: rpm_suspend returns 0
[    6.353363] usb usb6: rpm_suspend flags 0x9
[    6.353366] usb usb6: rpm_suspend returns 0
[    6.353375] usb usb4: rpm_suspend flags 0xa
[    6.353397] usb usb4: rpm_suspend returns 0
[    6.353401] usb usb5: rpm_suspend flags 0xa
[    6.353416] usb usb5: rpm_suspend returns 0
[    6.353419] usb usb6: rpm_suspend flags 0xa
[    6.353427] usb usb6: rpm_suspend returns 0
[    9.073532] sd 2:0:0:0: rpm_resume flags 0x4
[    9.073539] sd 2:0:0:0: rpm_resume returns 1
[    9.084598] sd 2:0:0:0: rpm_resume flags 0x4
[    9.084607] sd 2:0:0:0: rpm_resume returns 1
[    9.086370] Adding 2097148k swap on /dev/sdb13.  Priority:1 extents:1 across:2097148k 
[    9.113183] udev[357]: starting version 163
[    9.259062] sd 2:0:0:0: rpm_resume flags 0x4
[    9.259069] sd 2:0:0:0: rpm_resume returns 1
[    9.318971] intel_rng: Firmware space is locked read-only. If you can't or
[    9.318975] intel_rng: don't want to disable this in firmware setup, and if
[    9.318977] intel_rng: you are certain that your system has a functional
[    9.318980] intel_rng: RNG, try using the 'no_fwh_detect' option.
[    9.353196] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    9.406014] Linux media interface: v0.10
[    9.410343] EDAC MC: Ver: 2.1.0 Jul 16 2011
[    9.514267] Linux video capture interface: v2.00
[    9.514702] EDAC i82875p: i82875p init one
[    9.517483] EDAC MC0: Giving out device to 'i82875p_edac' 'i82875p': DEV 0000:00:00.0
[    9.517650] EDAC PCI0: Giving out device to module 'i82875p_edac' controller 'EDAC PCI controller': DEV '0000:00:00.0' (POLLED)
[    9.629029] sd 0:0:0:0: rpm_resume flags 0x4
[    9.629037] sd 0:0:0:0: rpm_resume returns 1
[    9.631977] gspca: v2.12.0 registered
[    9.687135] usb 2-1: rpm_resume flags 0x4
[    9.687141] usb 2-1: rpm_resume returns 1
[    9.687147] gspca: probing 054c:0155
[    9.688318] sd 0:0:0:0: rpm_resume flags 0x4
[    9.688325] sd 0:0:0:0: rpm_resume returns 1
[    9.698030] sd 0:0:0:0: rpm_resume flags 0x4
[    9.698037] sd 0:0:0:0: rpm_resume returns 1
[    9.702313] sd 2:0:0:0: rpm_resume flags 0x4
[    9.702319] sd 2:0:0:0: rpm_resume returns 1
[    9.707771] sd 2:0:0:0: rpm_resume flags 0x4
[    9.707777] sd 2:0:0:0: rpm_resume returns 1
[    9.713018] sd 3:0:0:0: rpm_resume flags 0x4
[    9.713025] sd 3:0:0:0: rpm_resume returns 1
[    9.749157] sd 3:0:0:0: rpm_resume flags 0x4
[    9.749163] sd 3:0:0:0: rpm_resume returns 1
[    9.762712] sd 3:0:0:0: rpm_resume flags 0x4
[    9.762719] sd 3:0:0:0: rpm_resume returns 1
[    9.764152] sd 0:0:0:0: rpm_resume flags 0x4
[    9.764160] sd 0:0:0:0: rpm_resume returns 1
[    9.791604] sd 2:0:0:0: rpm_resume flags 0x4
[    9.791610] sd 2:0:0:0: rpm_resume returns 1
[    9.805009] Linux agpgart interface v0.103
[    9.819667] sd 2:0:0:0: rpm_resume flags 0x4
[    9.819674] sd 2:0:0:0: rpm_resume returns 1
[    9.833434] sd 2:0:0:0: rpm_resume flags 0x4
[    9.833439] sd 2:0:0:0: rpm_resume returns 1
[    9.833492] sd 2:0:0:0: rpm_resume flags 0x4
[    9.833496] sd 2:0:0:0: rpm_resume returns 1
[    9.836651] sd 2:0:0:0: rpm_resume flags 0x4
[    9.836659] sd 2:0:0:0: rpm_resume returns 1
[    9.845825] sd 2:0:0:0: rpm_resume flags 0x4
[    9.845832] sd 2:0:0:0: rpm_resume returns 1
[    9.881278] sd 3:0:0:0: rpm_resume flags 0x4
[    9.881286] sd 3:0:0:0: rpm_resume returns 1
[    9.894535] EXT4-fs (md1): re-mounted. Opts: errors=remount-ro
[    9.942802] sd 2:0:0:0: rpm_resume flags 0x4
[    9.942809] sd 2:0:0:0: rpm_resume returns 1
[    9.947418] ov519: I2C synced in 0 attempt(s)
[    9.947424] ov519: starting OV7xx0 configuration
[    9.983452] ov519: Sensor is an OV7648
[   10.068232] sd 0:0:0:0: rpm_resume flags 0x4
[   10.068238] sd 0:0:0:0: rpm_resume returns 1
[   10.098374] PM: Adding info for No Bus:input4
[   10.098449] input: ov519 as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/input/input4
[   10.098547] PM: Adding info for No Bus:event4
[   10.098623] PM: Adding info for No Bus:video0
[   10.098649] gspca: video0 created
[   10.098669] usb 2-1: rpm_resume flags 0x4
[   10.098674] usb 2-1: rpm_resume returns 1
[   10.098693] usb 2-1: rpm_resume flags 0x4
[   10.098697] usb 2-1: rpm_resume returns 1
[   10.098742] usbcore: registered new interface driver ov519
[   10.169042] EXT4-fs (md3): mounted filesystem with ordered data mode. Opts: (null)
[   10.244420] sd 0:0:0:0: rpm_resume flags 0x4
[   10.244427] sd 0:0:0:0: rpm_resume returns 1
[   10.335480] sd 3:0:0:0: rpm_resume flags 0x4
[   10.335487] sd 3:0:0:0: rpm_resume returns 1
[   10.343196] sd 2:0:0:0: rpm_resume flags 0x4
[   10.343209] sd 2:0:0:0: rpm_resume returns 1
[   10.361486] type=1400 audit(1311333006.411:2): apparmor="STATUS" operation="profile_load" name="/sbin/dhclient3" pid=563 comm="apparmor_parser"
[   10.361627] type=1400 audit(1311333006.411:3): apparmor="STATUS" operation="profile_load" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=563 comm="apparmor_parser"
[   10.361733] type=1400 audit(1311333006.411:4): apparmor="STATUS" operation="profile_load" name="/usr/lib/connman/scripts/dhclient-script" pid=563 comm="apparmor_parser"
[   10.431702] PM: Adding info for No Bus:timer
[   10.453091] sd 0:0:0:0: rpm_resume flags 0x4
[   10.453099] sd 0:0:0:0: rpm_resume returns 1
[   10.455259] scsi host0: rpm_resume flags 0x4
[   10.455267] scsi host0: rpm_resume returns 1
[   10.470300] sd 0:0:0:0: rpm_resume flags 0x4
[   10.470306] sd 0:0:0:0: rpm_resume returns 1
[   10.471624] sd 0:0:0:0: rpm_resume flags 0x4
[   10.471630] sd 0:0:0:0: rpm_resume returns 1
[   10.472924] sd 0:0:0:0: rpm_resume flags 0x4
[   10.472931] sd 0:0:0:0: rpm_resume returns 1
[   10.474271] sd 0:0:0:0: rpm_resume flags 0x4
[   10.474277] sd 0:0:0:0: rpm_resume returns 1
[   10.475503] sd 0:0:0:0: rpm_resume flags 0x4
[   10.475510] sd 0:0:0:0: rpm_resume returns 1
[   10.476801] sd 0:0:0:0: rpm_resume flags 0x4
[   10.476807] sd 0:0:0:0: rpm_resume returns 1
[   10.479454] sd 0:0:0:0: rpm_resume flags 0x4
[   10.479460] sd 0:0:0:0: rpm_resume returns 1
[   10.493386] sd 3:0:0:0: rpm_resume flags 0x4
[   10.493393] sd 3:0:0:0: rpm_resume returns 1
[   10.499200] sd 0:0:0:0: rpm_resume flags 0x4
[   10.499206] sd 0:0:0:0: rpm_resume returns 1
[   10.517993] sd 3:0:0:0: rpm_resume flags 0x4
[   10.518000] sd 3:0:0:0: rpm_resume returns 1
[   10.518626] scsi host3: rpm_resume flags 0x4
[   10.518631] scsi host3: rpm_resume returns 1
[   10.532723] type=1400 audit(1311333006.581:5): apparmor="STATUS" operation="profile_replace" name="/sbin/dhclient3" pid=646 comm="apparmor_parser"
[   10.532846] type=1400 audit(1311333006.581:6): apparmor="STATUS" operation="profile_replace" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=646 comm="apparmor_parser"
[   10.532954] type=1400 audit(1311333006.581:7): apparmor="STATUS" operation="profile_replace" name="/usr/lib/connman/scripts/dhclient-script" pid=646 comm="apparmor_parser"
[   10.544847] sd 3:0:0:0: rpm_resume flags 0x4
[   10.544855] sd 3:0:0:0: rpm_resume returns 1
[   10.546598] sd 3:0:0:0: rpm_resume flags 0x4
[   10.546606] sd 3:0:0:0: rpm_resume returns 1
[   10.549706] sd 3:0:0:0: rpm_resume flags 0x4
[   10.549720] sd 3:0:0:0: rpm_resume returns 1
[   10.557843] sd 3:0:0:0: rpm_resume flags 0x4
[   10.557852] sd 3:0:0:0: rpm_resume returns 1
[   10.583120] sd 3:0:0:0: rpm_resume flags 0x4
[   10.583128] sd 3:0:0:0: rpm_resume returns 1
[   10.604292] sd 3:0:0:0: rpm_resume flags 0x4
[   10.604300] sd 3:0:0:0: rpm_resume returns 1
[   10.612461] sd 3:0:0:0: rpm_resume flags 0x4
[   10.612466] sd 3:0:0:0: rpm_resume returns 1
[   10.639734] sd 3:0:0:0: rpm_resume flags 0x4
[   10.639739] sd 3:0:0:0: rpm_resume returns 1
[   10.644730] sd 3:0:0:0: rpm_resume flags 0x4
[   10.644735] sd 3:0:0:0: rpm_resume returns 1
[   10.666554] sd 2:0:0:0: rpm_resume flags 0x4
[   10.666560] sd 2:0:0:0: rpm_resume returns 1
[   10.692443] PM: Adding info for No Bus:seq
[   10.760351] sd 0:0:0:0: rpm_resume flags 0x4
[   10.760359] sd 0:0:0:0: rpm_resume returns 1
[   10.768801] sd 2:0:0:0: rpm_resume flags 0x4
[   10.768809] sd 2:0:0:0: rpm_resume returns 1
[   10.852019] scsi host2: rpm_resume flags 0x4
[   10.852031] scsi host2: rpm_resume returns 1
[   10.852650] nvidia: module license 'NVIDIA' taints kernel.
[   10.905738] sd 3:0:0:0: rpm_resume flags 0x4
[   10.905744] sd 3:0:0:0: rpm_resume returns 1
[   10.940721] sd 2:0:0:0: rpm_resume flags 0x4
[   10.940727] sd 2:0:0:0: rpm_resume returns 1
[   10.943067] sd 2:0:0:0: rpm_resume flags 0x4
[   10.943074] sd 2:0:0:0: rpm_resume returns 1
[   10.949447] sd 2:0:0:0: rpm_resume flags 0x4
[   10.949453] sd 2:0:0:0: rpm_resume returns 1
[   10.971857] sd 2:0:0:0: rpm_resume flags 0x4
[   10.971864] sd 2:0:0:0: rpm_resume returns 1
[   10.993081] sd 2:0:0:0: rpm_resume flags 0x4
[   10.993087] sd 2:0:0:0: rpm_resume returns 1
[   10.997837] sd 2:0:0:0: rpm_resume flags 0x4
[   10.997843] sd 2:0:0:0: rpm_resume returns 1
[   10.998186] sd 2:0:0:0: rpm_resume flags 0x4
[   10.998191] sd 2:0:0:0: rpm_resume returns 1
[   10.998557] sd 3:0:0:0: rpm_resume flags 0x4
[   10.998563] sd 3:0:0:0: rpm_resume returns 1
[   11.015268] sd 2:0:0:0: rpm_resume flags 0x4
[   11.015275] sd 2:0:0:0: rpm_resume returns 1
[   11.021439] sd 0:0:0:0: rpm_resume flags 0x4
[   11.021445] sd 0:0:0:0: rpm_resume returns 1
[   11.025066] sd 3:0:0:0: rpm_resume flags 0x4
[   11.025072] sd 3:0:0:0: rpm_resume returns 1
[   11.042038] sd 2:0:0:0: rpm_resume flags 0x4
[   11.042044] sd 2:0:0:0: rpm_resume returns 1
[   11.128155] sd 2:0:0:0: rpm_resume flags 0x4
[   11.128161] sd 2:0:0:0: rpm_resume returns 1
[   11.143515] sd 2:0:0:0: rpm_resume flags 0x4
[   11.143522] sd 2:0:0:0: rpm_resume returns 1
[   11.302650] usb 2-1: rpm_resume flags 0x4
[   11.302656] usb 2-1: rpm_resume returns 1
[   11.308055] PM: Adding info for No Bus:ep_82
[   11.309022] PM: Removing info for No Bus:ep_82
[   11.309075] PM: Adding info for No Bus:card1
[   11.309302] PM: Adding info for No Bus:pcmC1D0c
[   11.309487] PM: Adding info for No Bus:controlC1
[   11.309629] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   11.309635] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   11.311493] usbcore: registered new interface driver snd-usb-audio
[   11.331396] sd 0:0:0:0: rpm_resume flags 0x4
[   11.331402] sd 0:0:0:0: rpm_resume returns 1
[   11.415226] sd 0:0:0:0: rpm_resume flags 0x4
[   11.415233] sd 0:0:0:0: rpm_resume returns 1
[   11.433567] sd 0:0:0:0: rpm_resume flags 0x4
[   11.433573] sd 0:0:0:0: rpm_resume returns 1
[   11.464148] sd 2:0:0:0: rpm_resume flags 0x4
[   11.464154] sd 2:0:0:0: rpm_resume returns 1
[   11.508831] sd 0:0:0:0: rpm_resume flags 0x4
[   11.508837] sd 0:0:0:0: rpm_resume returns 1
[   11.658861] nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[   11.658876] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=io+mem
[   11.659194] NVRM: loading NVIDIA UNIX x86 Kernel Module  173.14.30  Thu Apr 14 08:47:14 PDT 2011
[   11.756126] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)
[   11.801076] sd 2:0:0:0: rpm_resume flags 0x4
[   11.801084] sd 2:0:0:0: rpm_resume returns 1
[   11.837031] Intel ICH 0000:00:1f.5: PCI INT B -> GSI 17 (level, low) -> IRQ 17
[   11.837080] Intel ICH 0000:00:1f.5: setting latency timer to 64
[   12.081699] sd 2:0:0:0: rpm_resume flags 0x4
[   12.081704] sd 2:0:0:0: rpm_resume returns 1
[   12.128144] sd 2:0:0:0: rpm_resume flags 0x4
[   12.128149] sd 2:0:0:0: rpm_resume returns 1
[   12.176131] sd 2:0:0:0: rpm_resume flags 0x4
[   12.176137] sd 2:0:0:0: rpm_resume returns 1
[   12.209085] sd 2:0:0:0: rpm_resume flags 0x4
[   12.209090] sd 2:0:0:0: rpm_resume returns 1
[   12.256689] intel8x0_measure_ac97_clock: measured 51650 usecs (2489 samples)
[   12.256694] intel8x0: clocking to 48000
[   12.256731] PM: Adding info for No Bus:card0
[   12.256916] PM: Adding info for No Bus:pcmC0D4p
[   12.256997] PM: Adding info for No Bus:pcmC0D3c
[   12.257064] PM: Adding info for No Bus:pcmC0D2c
[   12.257137] PM: Adding info for No Bus:pcmC0D1c
[   12.257220] PM: Adding info for No Bus:pcmC0D0p
[   12.257302] PM: Adding info for No Bus:pcmC0D0c
[   12.257353] PM: Adding info for ac97:0-0:AD1980
[   12.257419] PM: Adding info for No Bus:controlC0
[   12.303070] sd 2:0:0:0: rpm_resume flags 0x4
[   12.303081] sd 2:0:0:0: rpm_resume returns 1
[   12.334090] EXT4-fs (md2): mounted filesystem with ordered data mode. Opts: (null)
[   12.609615] EXT4-fs (sdb10): mounted filesystem with ordered data mode. Opts: (null)
[   12.624222] sd 2:0:0:0: rpm_resume flags 0x4
[   12.624227] sd 2:0:0:0: rpm_resume returns 1
[   12.656366] EXT4-fs (md4): mounted filesystem with ordered data mode. Opts: (null)
[   12.884548] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   12.886846] e100 0000:02:08.0: eth0: NIC Link is Up 100 Mbps Full Duplex
[   12.903962] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   13.731510] type=1400 audit(1311333009.781:8): apparmor="STATUS" operation="profile_load" name="/usr/share/gdm/guest-session/Xsession" pid=1001 comm="apparmor_parser"
[   13.758148] type=1400 audit(1311333009.808:9): apparmor="STATUS" operation="profile_load" name="/usr/lib/cups/backend/cups-pdf" pid=974 comm="apparmor_parser"
[   13.758447] type=1400 audit(1311333009.808:10): apparmor="STATUS" operation="profile_load" name="/usr/sbin/cupsd" pid=974 comm="apparmor_parser"
[   13.828206] type=1400 audit(1311333009.878:11): apparmor="STATUS" operation="profile_replace" name="/sbin/dhclient3" pid=1002 comm="apparmor_parser"
[   13.902262] PM: Adding info for i2c:i2c-1
[   13.902340] PM: Adding info for No Bus:i2c-1
[   13.902762] PM: Adding info for i2c:i2c-2
[   13.902845] PM: Adding info for No Bus:i2c-2
[   13.903243] PM: Adding info for i2c:i2c-3
[   13.903324] PM: Adding info for No Bus:i2c-3
[   18.435507] sd 0:0:0:0: rpm_resume flags 0x4
[   18.435515] sd 0:0:0:0: rpm_resume returns 1
[   18.455175] sd 2:0:0:0: rpm_resume flags 0x4
[   18.455181] sd 2:0:0:0: rpm_resume returns 1
[   18.481980] sd 3:0:0:0: rpm_resume flags 0x4
[   18.481987] sd 3:0:0:0: rpm_resume returns 1
[   18.793069] EXT4-fs (md1): re-mounted. Opts: errors=remount-ro,commit=0
[   19.402736] EXT4-fs (md3): re-mounted. Opts: commit=0
[   19.413552] EXT4-fs (sdb1): re-mounted. Opts: commit=0
[   19.420227] EXT4-fs (md2): re-mounted. Opts: commit=0
[   19.569355] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.569363] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.574467] EXT4-fs (sdb10): re-mounted. Opts: commit=0
[   19.577047] PM: Adding info for No Bus:ep_82
[   19.577685] PM: Removing info for No Bus:ep_82
[   19.577733] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.577741] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.578762] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.578770] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.578954] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.578963] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.579753] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.579761] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.579908] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.579914] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.582065] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.582073] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.582293] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.582300] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.583042] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.583049] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.590518] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.590526] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.590862] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.590869] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.590985] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.590991] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.591260] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.591266] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.591376] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.591382] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.591676] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.591682] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.591853] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.591860] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.592154] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.592161] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.592823] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.592830] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.595875] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.595883] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.596031] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.596038] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.603862] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.603871] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.604027] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.604034] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.605092] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.605100] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.605296] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.605302] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.606451] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.606458] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.608603] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.608613] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.609874] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.609883] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.610650] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.610658] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.612247] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.612255] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.612408] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.612415] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.620353] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.620365] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.620625] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.620632] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.622085] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.622093] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.622815] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   19.622822] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   19.626622] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   19.626632] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   19.628700] PM: Adding info for No Bus:ep_82
[   19.812516] EXT4-fs (md4): re-mounted. Opts: commit=0
[   23.510025] eth0: no IPv6 routers present
[   25.198732] PM: Removing info for No Bus:ep_82
[   25.198775] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   25.198782] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   26.270146] audit_printk_skb: 6 callbacks suppressed
[   26.270152] type=1400 audit(1311333022.321:14): apparmor="STATUS" operation="profile_load" name="/usr/bin/evince" pid=1079 comm="apparmor_parser"
[   26.271348] type=1400 audit(1311333022.321:15): apparmor="STATUS" operation="profile_load" name="/usr/bin/evince-previewer" pid=1079 comm="apparmor_parser"
[   26.272519] type=1400 audit(1311333022.321:16): apparmor="STATUS" operation="profile_load" name="/usr/bin/evince-thumbnailer" pid=1079 comm="apparmor_parser"
[   26.826331] type=1400 audit(1311333022.875:17): apparmor="STATUS" operation="profile_load" name="/usr/lib/libvirt/virt-aa-helper" pid=1083 comm="apparmor_parser"
[   26.928585] type=1400 audit(1311333022.978:18): apparmor="STATUS" operation="profile_replace" name="/usr/lib/cups/backend/cups-pdf" pid=1251 comm="apparmor_parser"
[   26.928872] type=1400 audit(1311333022.978:19): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/cupsd" pid=1251 comm="apparmor_parser"
[   27.131414] type=1400 audit(1311333023.181:20): apparmor="STATUS" operation="profile_load" name="/usr/sbin/mysqld-akonadi" pid=1253 comm="apparmor_parser"
[   27.335196] type=1400 audit(1311333023.385:21): apparmor="STATUS" operation="profile_load" name="/usr/sbin/tcpdump" pid=1254 comm="apparmor_parser"
[   27.598969] type=1400 audit(1311333023.648:22): apparmor="STATUS" operation="profile_load" name="/usr/sbin/libvirtd" pid=1252 comm="apparmor_parser"
[   27.712297] microcode: CPU0 updated to revision 0x2e, date = 2004-08-11
[   27.712899] microcode: CPU1 updated to revision 0x2e, date = 2004-08-11
[   42.514801] PM: Adding info for No Bus:0:20
[   42.845956] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.845963] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.846888] PM: Adding info for No Bus:ep_82
[   42.847415] PM: Removing info for No Bus:ep_82
[   42.847464] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.847472] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.848674] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.848683] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.849063] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.849071] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.850948] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.850957] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.851356] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.851365] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.852670] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.852678] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.853090] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.853099] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.854537] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.854545] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.855472] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.855482] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.855843] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.855851] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.856164] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.856172] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.856506] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.856513] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.857248] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.857257] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.857667] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.857675] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.858088] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.858096] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.858468] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.858476] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.859380] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.859388] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.861373] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.861384] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.861780] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.861788] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.863630] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.863639] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.864026] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.864036] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.865646] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.865655] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.866038] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.866046] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.868377] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.868386] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.869536] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.869545] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.871410] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.871418] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.871750] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.871759] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.873230] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.873237] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.873674] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.873684] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.875275] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.875291] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.875705] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.875714] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.877387] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.877395] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.878441] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   42.878449] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   42.881497] snd-usb-audio 2-1:1.1: rpm_resume flags 0x4
[   42.881505] snd-usb-audio 2-1:1.1: rpm_resume returns 0
[   42.883586] PM: Adding info for No Bus:ep_82
[   43.439625] usbhid 3-1:1.0: rpm_resume flags 0x5
[   43.439634] usbhid 3-1:1.0: rpm_resume returns 0
[   43.442935] usbhid 3-1:1.0: rpm_suspend flags 0x5
[   43.442942] usbhid 3-1:1.0: rpm_suspend returns 0
[   48.261710] PM: Removing info for No Bus:ep_82
[   48.261746] snd-usb-audio 2-1:1.1: rpm_suspend flags 0x4
[   48.261751] snd-usb-audio 2-1:1.1: rpm_suspend returns 0
[   73.969053] sd 0:0:0:0: rpm_resume flags 0x4
[   73.969060] sd 0:0:0:0: rpm_resume returns 1
[   73.974154] sd 2:0:0:0: rpm_resume flags 0x4
[   73.974160] sd 2:0:0:0: rpm_resume returns 1
[   73.986082] sd 3:0:0:0: rpm_resume flags 0x4
[   73.986089] sd 3:0:0:0: rpm_resume returns 1
[   95.568745] sd 2:0:0:0: rpm_resume flags 0x4
[   95.568752] sd 2:0:0:0: rpm_resume returns 1
[   95.617205] EXT4-fs (sdb9): warning: maximal mount count reached, running e2fsck is recommended
[   95.619447] EXT4-fs (sdb9): mounted filesystem with ordered data mode. Opts: (null)
[ 1844.046396] sd 3:0:0:0: rpm_resume flags 0x4
[ 1844.046403] sd 3:0:0:0: rpm_resume returns 1
[ 1844.047624] sd 0:0:0:0: rpm_resume flags 0x4
[ 1844.047632] sd 0:0:0:0: rpm_resume returns 1
[ 1844.049060] sd 2:0:0:0: rpm_resume flags 0x4
[ 1844.049067] sd 2:0:0:0: rpm_resume returns 1
[ 3644.031675] sd 0:0:0:0: rpm_resume flags 0x4
[ 3644.031682] sd 0:0:0:0: rpm_resume returns 1
[ 3644.034184] sd 3:0:0:0: rpm_resume flags 0x4
[ 3644.034192] sd 3:0:0:0: rpm_resume returns 1
[ 3644.035693] sd 2:0:0:0: rpm_resume flags 0x4
[ 3644.035701] sd 2:0:0:0: rpm_resume returns 1

Info from /proc/cpuinfo:

processor    : 0
vendor_id    : GenuineIntel
cpu family    : 15
model        : 2
model name    : Intel(R) Pentium(R) 4 CPU 2.80GHz
stepping    : 9
cpu MHz        : 2793.580
cache size    : 512 KB
physical id    : 0
siblings    : 2
core id        : 0
cpu cores    : 1
apicid        : 0
initial apicid    : 0
fdiv_bug    : no
hlt_bug        : no
f00f_bug    : no
coma_bug    : no
fpu        : yes
fpu_exception    : yes
cpuid level    : 2
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pebs bts cid xtpr
bogomips    : 5589.95
clflush size    : 64
cache_alignment    : 128
address sizes    : 36 bits physical, 32 bits virtual
power management:

processor    : 1
vendor_id    : GenuineIntel
cpu family    : 15
model        : 2
model name    : Intel(R) Pentium(R) 4 CPU 2.80GHz
stepping    : 9
cpu MHz        : 2793.580
cache size    : 512 KB
physical id    : 0
siblings    : 2
core id        : 0
cpu cores    : 1
apicid        : 1
initial apicid    : 1
fdiv_bug    : no
hlt_bug        : no
f00f_bug    : no
coma_bug    : no
fpu        : yes
fpu_exception    : yes
cpuid level    : 2
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pebs bts cid xtpr
bogomips    : 5587.31
clflush size    : 64
cache_alignment    : 128
address sizes    : 36 bits physical, 32 bits virtual
power management:

Info /proc/interrupts:

           CPU0       CPU1       
  0:         84          0   IO-APIC-edge      timer
  1:          2          0   IO-APIC-edge      i8042
  4:        104          0   IO-APIC-edge    
  8:          1          0   IO-APIC-edge      rtc0
  9:          0          0   IO-APIC-fasteoi   acpi
 12:          4          0   IO-APIC-edge      i8042
 14:        428          0   IO-APIC-edge      ata_piix
 15:         16          0   IO-APIC-edge      ata_piix
 16:     525872          0   IO-APIC-fasteoi   uhci_hcd:usb2, uhci_hcd:usb5, nvidia
 17:        227      12275   IO-APIC-fasteoi   Intel ICH5
 18:       5412      31022   IO-APIC-fasteoi   ata_piix, uhci_hcd:usb4
 19:         57      17605   IO-APIC-fasteoi   uhci_hcd:usb3
 20:       9894          0   IO-APIC-fasteoi   eth0
 23:          3          0   IO-APIC-fasteoi   ehci_hcd:usb1
NMI:          0          0   Non-maskable interrupts
LOC:     817807    1037941   Local timer interrupts
SPU:          0          0   Spurious interrupts
PMI:          0          0   Performance monitoring interrupts
IWI:          0          0   IRQ work interrupts
RES:    1100881    1058033   Rescheduling interrupts
CAL:       3328       3274   Function call interrupts
TLB:      23337      18220   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
MCE:          0          0   Machine check exceptions
MCP:         16         16   Machine check polls
ERR:          0
MIS:          0

Info from /proc/timers_list:

Timer List Version: v0.6
HRTIMER_MAX_CLOCK_BASES: 3
now at 4551094137590 nsecs

cpu: 0
 clock 0:
  .base:       ef002c84
  .index:      0
  .resolution: 1 nsecs
  .get_time:   ktime_get_real
  .offset:     1311332996054684268 nsecs
active timers:
 clock 1:
  .base:       ef002cb0
  .index:      1
  .resolution: 1 nsecs
  .get_time:   ktime_get
  .offset:     0 nsecs
active timers:
 #0: <ef002d40>, tick_sched_timer, S:01
 # expires at 4551096211557-4551096211557 nsecs [in 2073967 to 2073967 nsecs]
 #1: <e5f01b94>, hrtimer_wakeup, S:01
 # expires at 4551101506798-4551101556798 nsecs [in 7369208 to 7419208 nsecs]
 #2: <d577beb8>, hrtimer_wakeup, S:01
 # expires at 4551113306390-4551113356390 nsecs [in 19168800 to 19218800 nsecs]
 #3: <d5633b94>, hrtimer_wakeup, S:01
 # expires at 4551115894172-4551115994170 nsecs [in 21756582 to 21856580 nsecs]
 #4: <e5f23b94>, hrtimer_wakeup, S:01
 # expires at 4551123172772-4551123372771 nsecs [in 29035182 to 29235181 nsecs]
 #5: <edebdb94>, hrtimer_wakeup, S:01
 # expires at 4551467318671-4551468919670 nsecs [in 373181081 to 374782080 nsecs]
 #6: <d85a5f60>, hrtimer_wakeup, S:01
 # expires at 4551479385868-4551479435868 nsecs [in 385248278 to 385298278 nsecs]
 #7: <d87adb94>, hrtimer_wakeup, S:01
 # expires at 4551489953808-4551490953807 nsecs [in 395816218 to 396816217 nsecs]
 #8: <edebfb94>, hrtimer_wakeup, S:01
 # expires at 4551559991971-4551560490970 nsecs [in 465854381 to 466353380 nsecs]
 #9: <e51d5b1c>, hrtimer_wakeup, S:01
 # expires at 4551590728146-4551591227143 nsecs [in 496590556 to 497089553 nsecs]
 #10: <d87afb94>, hrtimer_wakeup, S:01
 # expires at 4551675876062-4551676872061 nsecs [in 581738472 to 582734471 nsecs]
 #11: <edef7b94>, hrtimer_wakeup, S:01
 # expires at 4551866071158-4551868366156 nsecs [in 771933568 to 774228566 nsecs]
 #12: <e5d85b94>, hrtimer_wakeup, S:01
 # expires at 4552865704837-4552872360835 nsecs [in 1771567247 to 1778223245 nsecs]
 #13: <ec79db94>, hrtimer_wakeup, S:01
 # expires at 4553092642815-4553094642814 nsecs [in 1998505225 to 2000505224 nsecs]
 #14: <e5e81b1c>, hrtimer_wakeup, S:01
 # expires at 4554486236554-4554496236553 nsecs [in 3392098964 to 3402098963 nsecs]
 #15: <eda19b94>, hrtimer_wakeup, S:01
 # expires at 4554865923559-4554869697557 nsecs [in 3771785969 to 3775559967 nsecs]
 #16: <d5551b94>, hrtimer_wakeup, S:01
 # expires at 4554865736544-4554874391542 nsecs [in 3771598954 to 3780253952 nsecs]
 #17: <eb6a9b94>, hrtimer_wakeup, S:01
 # expires at 4552999618764-4555499618764 nsecs [in 1905481174 to 4405481174 nsecs]
 #18: <eb6abb94>, hrtimer_wakeup, S:01
 # expires at 4557999612873-4557999612873 nsecs [in 6905475283 to 6905475283 nsecs]
 #19: <d56cfeb8>, hrtimer_wakeup, S:01
 # expires at 4562785638395-4562785688395 nsecs [in 11691500805 to 11691550805 nsecs]
 #20: <d540fb94>, hrtimer_wakeup, S:01
 # expires at 4563946781905-4563964519904 nsecs [in 12852644315 to 12870382314 nsecs]
 #21: <edf27f60>, hrtimer_wakeup, S:01
 # expires at 4565064431181-4565064481181 nsecs [in 13970293591 to 13970343591 nsecs]
 #22: <eda25b94>, hrtimer_wakeup, S:01
 # expires at 4571866310844-4571890864842 nsecs [in 20772173254 to 20796727252 nsecs]
 #23: <ec799b1c>, hrtimer_wakeup, S:01
 # expires at 4590953964226-4591013964224 nsecs [in 39859826636 to 39919826634 nsecs]
 #24: <d549db94>, hrtimer_wakeup, S:01
 # expires at 4597866323649-4597917974647 nsecs [in 46772186059 to 46823837057 nsecs]
 #25: <edeffb94>, hrtimer_wakeup, S:01
 # expires at 4844865696222-4844965696222 nsecs [in 293771558632 to 293871558632 nsecs]
 #26: <e5eb1f60>, hrtimer_wakeup, S:01
 # expires at 7227782069813-7227782119813 nsecs [in 2676687932223 to 2676687982223 nsecs]
 clock 2:
  .base:       ef002cdc
  .index:      7
  .resolution: 1 nsecs
  .get_time:   ktime_get_boottime
  .offset:     0 nsecs
active timers:
  .expires_next   : 4551096211557 nsecs
  .hres_active    : 1
  .nr_events      : 823531
  .nr_retries     : 663
  .nr_hangs       : 0
  .max_hang_time  : 0 nsecs
  .nohz_mode      : 2
  .idle_tick      : 4551092878224 nsecs
  .tick_stopped   : 0
  .idle_jiffies   : 1275327
  .idle_calls     : 1865391
  .idle_sleeps    : 1613239
  .idle_entrytime : 4551092719226 nsecs
  .idle_waketime  : 4551080517851 nsecs
  .idle_exittime  : 4551092719226 nsecs
  .idle_sleeptime : 3527968796920 nsecs
  .iowait_sleeptime: 13982097290 nsecs
  .last_jiffies   : 1275327
  .next_jiffies   : 1275371
  .idle_expires   : 4551236211543 nsecs
jiffies: 1275328

cpu: 1
 clock 0:
  .base:       ef102c84
  .index:      0
  .resolution: 1 nsecs
  .get_time:   ktime_get_real
  .offset:     1311332996054684268 nsecs
active timers:
 clock 1:
  .base:       ef102cb0
  .index:      1
  .resolution: 1 nsecs
  .get_time:   ktime_get
  .offset:     0 nsecs
active timers:
 #0: <ef102d40>, tick_sched_timer, S:01
 # expires at 4551096211557-4551096211557 nsecs [in 2073967 to 2073967 nsecs]
 #1: <df84deb8>, hrtimer_wakeup, S:01
 # expires at 4551099812342-4551099862342 nsecs [in 5674752 to 5724752 nsecs]
 #2: <e5eedb80>, hrtimer_wakeup, S:01
 # expires at 4551196903883-4551196903883 nsecs [in 102766293 to 102766293 nsecs]
 #3: <d8609b94>, hrtimer_wakeup, S:01
 # expires at 4551264581369-4551288946368 nsecs [in 170443779 to 194808778 nsecs]
 #4: <e5c97b94>, hrtimer_wakeup, S:01
 # expires at 4551678301437-4551679301436 nsecs [in 584163847 to 585163846 nsecs]
 #5: <e512fb80>, hrtimer_wakeup, S:01
 # expires at 4551977859864-4551982854261 nsecs [in 883722274 to 888716671 nsecs]
 #6: <b06b8054>, sched_rt_period_timer, S:01
 # expires at 4552000000000-4552000000000 nsecs [in 905862410 to 905862410 nsecs]
 #7: <edf25f60>, hrtimer_wakeup, S:01
 # expires at 4558945318490-4558945368490 nsecs [in 7851180900 to 7851230900 nsecs]
 #8: <e416bb94>, hrtimer_wakeup, S:01
 # expires at 4560928692128-4561028692128 nsecs [in 9834554538 to 9934554538 nsecs]
 #9: <df81beb8>, hrtimer_wakeup, S:01
 # expires at 4562125261331-4562125311331 nsecs [in 11031123741 to 11031173741 nsecs]
 #10: <e41f1b1c>, hrtimer_wakeup, S:01
 # expires at 4575451717605-4575481717603 nsecs [in 24357580015 to 24387580013 nsecs]
 #11: <d865fb94>, hrtimer_wakeup, S:01
 # expires at 4849012929504-4849112929504 nsecs [in 297918791914 to 298018791914 nsecs]
 #12: <e5fa1b94>, hrtimer_wakeup, S:01
 # expires at 5443945795991-5444045795991 nsecs [in 892851658401 to 892951658401 nsecs]
 #13: <d868bb94>, hrtimer_wakeup, S:01
 # expires at 7248865901250-7248965901250 nsecs [in 2697771763660 to 2697871763660 nsecs]
 clock 2:
  .base:       ef102cdc
  .index:      7
  .resolution: 1 nsecs
  .get_time:   ktime_get_boottime
  .offset:     0 nsecs
active timers:
  .expires_next   : 4551096211557 nsecs
  .hres_active    : 1
  .nr_events      : 1043757
  .nr_retries     : 2023
  .nr_hangs       : 0
  .max_hang_time  : 0 nsecs
  .nohz_mode      : 2
  .idle_tick      : 4551092878224 nsecs
  .tick_stopped   : 0
  .idle_jiffies   : 1275327
  .idle_calls     : 1716295
  .idle_sleeps    : 1516658
  .idle_entrytime : 4551092900933 nsecs
  .idle_waketime  : 4551090651128 nsecs
  .idle_exittime  : 4551091266698 nsecs
  .idle_sleeptime : 3638641266855 nsecs
  .iowait_sleeptime: 32205960960 nsecs
  .last_jiffies   : 1275328
  .next_jiffies   : 1275329
  .idle_expires   : 4551249544875 nsecs
jiffies: 1275328


Tick Device: mode:     1
Broadcast device
Clock Event Device: hpet
 max_delta_ns:   149983005959
 min_delta_ns:   13409
 mult:           61496114
 shift:          32
 mode:           3
 next_event:     9223372036854775807 nsecs
 set_next_event: hpet_legacy_next_event
 set_mode:       hpet_legacy_set_mode
 event_handler:  tick_handle_oneshot_broadcast
 retries:        0
tick_broadcast_mask: 00000000
tick_broadcast_oneshot_mask: 00000000


Tick Device: mode:     1
Per CPU device: 0
Clock Event Device: lapic
 max_delta_ns:   172228809760
 min_delta_ns:   1203
 mult:           53553015
 shift:          32
 mode:           3
 next_event:     4551096211557 nsecs
 set_next_event: lapic_next_event
 set_mode:       lapic_timer_setup
 event_handler:  hrtimer_interrupt
 retries:        1

Tick Device: mode:     1
Per CPU device: 1
Clock Event Device: lapic
 max_delta_ns:   172228809760
 min_delta_ns:   1203
 mult:           53553015
 shift:          32
 mode:           3
 next_event:     4551096211557 nsecs
 set_next_event: lapic_next_event
 set_mode:       lapic_timer_setup
 event_handler:  hrtimer_interrupt
 retries:        0

Unfortunately, I do not know C, so I have no idea what to do next.  Any help is greatly appreciated.
Thank you.
Towheed Mohammed

^ permalink raw reply

* BUG: soft lockup - CPU#1 stuck for 193s [vmware-tools-up:6468]
From: Nathan Viray @ 2011-07-22 13:22 UTC (permalink / raw)
  To: linux-pm


[-- Attachment #1.1: Type: text/plain, Size: 62 bytes --]

BUG: soft lockup - CPU#1 stuck for 193s [vmware-tools-up:6468]

[-- Attachment #1.2: Type: text/html, Size: 289 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply

* Re: [RFC] Disable disk spinup during system resume
From: Alan Stern @ 2011-07-22 14:05 UTC (permalink / raw)
  To: Pádraig Brady; +Cc: Linux-pm mailing list, SCSI development list
In-Reply-To: <4E293D20.3080403@draigBrady.com>

On Fri, 22 Jul 2011, Pádraig Brady wrote:

> On 21/07/11 17:49, Alan Stern wrote:
> > On Thu, 21 Jul 2011, Pádraig Brady wrote:
> > 
> >> On 21/07/11 15:49, Alan Stern wrote:
> >>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> I have a secondary sata disk (sda)  in my system that
> >>>> I would like not to spinup on resume.
> >>
> >>
> 
> > What happens if you kill all the running processes (or as many as 
> > possible) before starting the suspend?
> > 
> > Also, how do you initiate the suspend?  Do you use a program, or do you 
> > simply "echo mem >/sys/power/state"?
> 
> I just rebooted with init=/bin/sh and did
> 
> sdparm -r -C STOP /dev/sda
> echo 0 > /sys/block/sda/device/scsi_disk/*/manage_start_stop
> echo mem > /sys/power/state
> 
> When I hit the power button to resume
> sda started spinning again :(

I have no idea why.  Unless maybe the BIOS started the drive.

Here's another test you can try.  Before starting the suspend, make 
sure no filesystems are mounted on sda and do:

	echo scsi remove-single-device 0 0 0 0 >/proc/scsi/scsi

(replace the "0 0 0 0" with the appropriate Host, Channel, ID, and LUN 
values for your sda drive).  This will erase all knowledge of that 
drive from the kernel.  If it still spins up during resume, you can be 
sure the kernel isn't responsible.

> There kernel logs about sata ports starting up.
> Maybe I need to put the drive into a different
> sleep state or something to stop it starting.

I really don't know what's going on.  Maybe somebody on the linux-scsi
mailing list can explain this.

Alan Stern

_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply

* Re: [RFC] Disable disk spinup during system resume
From: Pádraig Brady @ 2011-07-22 15:50 UTC (permalink / raw)
  To: Alan Stern; +Cc: Linux-pm mailing list, SCSI development list
In-Reply-To: <Pine.LNX.4.44L0.1107220951280.1923-100000@iolanthe.rowland.org>

On 22/07/11 15:05, Alan Stern wrote:
> On Fri, 22 Jul 2011, Pádraig Brady wrote:
> 
>> On 21/07/11 17:49, Alan Stern wrote:
>>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
>>>
>>>> On 21/07/11 15:49, Alan Stern wrote:
>>>>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I have a secondary sata disk (sda)  in my system that
>>>>>> I would like not to spinup on resume.
>>>>
>>>>
>>
>>> What happens if you kill all the running processes (or as many as 
>>> possible) before starting the suspend?
>>>
>>> Also, how do you initiate the suspend?  Do you use a program, or do you 
>>> simply "echo mem >/sys/power/state"?
>>
>> I just rebooted with init=/bin/sh and did
>>
>> sdparm -r -C STOP /dev/sda
>> echo 0 > /sys/block/sda/device/scsi_disk/*/manage_start_stop
>> echo mem > /sys/power/state
>>
>> When I hit the power button to resume
>> sda started spinning again :(
> 
> I have no idea why.  Unless maybe the BIOS started the drive.
> 
> Here's another test you can try.  Before starting the suspend, make 
> sure no filesystems are mounted on sda and do:
> 
> 	echo scsi remove-single-device 0 0 0 0 >/proc/scsi/scsi
> 
> (replace the "0 0 0 0" with the appropriate Host, Channel, ID, and LUN 
> values for your sda drive).  This will erase all knowledge of that 
> drive from the kernel.  If it still spins up during resume, you can be 
> sure the kernel isn't responsible.

drive still spins up on resume.

cheers,
Pádraig.
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply

* Re: [RFC] Disable disk spinup during system resume
From: Douglas Gilbert @ 2011-07-22 17:38 UTC (permalink / raw)
  To: Pádraig Brady; +Cc: Linux-pm mailing list, SCSI development list
In-Reply-To: <4E299C4A.6060802@draigBrady.com>

On 11-07-22 11:50 AM, Pádraig Brady wrote:
> On 22/07/11 15:05, Alan Stern wrote:
>> On Fri, 22 Jul 2011, Pádraig Brady wrote:
>>
>>> On 21/07/11 17:49, Alan Stern wrote:
>>>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
>>>>
>>>>> On 21/07/11 15:49, Alan Stern wrote:
>>>>>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I have a secondary sata disk (sda)  in my system that
>>>>>>> I would like not to spinup on resume.
>>>>>
>>>>>
>>>
>>>> What happens if you kill all the running processes (or as many as
>>>> possible) before starting the suspend?
>>>>
>>>> Also, how do you initiate the suspend?  Do you use a program, or do you
>>>> simply "echo mem>/sys/power/state"?
>>>
>>> I just rebooted with init=/bin/sh and did
>>>
>>> sdparm -r -C STOP /dev/sda
>>> echo 0>  /sys/block/sda/device/scsi_disk/*/manage_start_stop
>>> echo mem>  /sys/power/state
>>>
>>> When I hit the power button to resume
>>> sda started spinning again :(
>>
>> I have no idea why.  Unless maybe the BIOS started the drive.
>>
>> Here's another test you can try.  Before starting the suspend, make
>> sure no filesystems are mounted on sda and do:
>>
>> 	echo scsi remove-single-device 0 0 0 0>/proc/scsi/scsi
>>
>> (replace the "0 0 0 0" with the appropriate Host, Channel, ID, and LUN
>> values for your sda drive).  This will erase all knowledge of that
>> drive from the kernel.  If it still spins up during resume, you can be
>> sure the kernel isn't responsible.
>
> drive still spins up on resume.

Did the disk (/dev/sda) spin down after
    sdparm -r -C STOP /dev/sda
? I'm guessing that neither the root file system nor swap
are located on /dev/sda ?

Doug Gilbert
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply

* Re: [RFC] Disable disk spinup during system resume
From: Pádraig Brady @ 2011-07-22 18:03 UTC (permalink / raw)
  To: dgilbert; +Cc: Linux-pm mailing list, SCSI development list
In-Reply-To: <4E29B5A8.4030204@interlog.com>

On 22/07/11 18:38, Douglas Gilbert wrote:
> On 11-07-22 11:50 AM, Pádraig Brady wrote:
>> On 22/07/11 15:05, Alan Stern wrote:
>>> On Fri, 22 Jul 2011, Pádraig Brady wrote:
>>>
>>>> On 21/07/11 17:49, Alan Stern wrote:
>>>>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
>>>>>
>>>>>> On 21/07/11 15:49, Alan Stern wrote:
>>>>>>> On Thu, 21 Jul 2011, Pádraig Brady wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I have a secondary sata disk (sda)  in my system that
>>>>>>>> I would like not to spinup on resume.
>>>>>>
>>>>>>
>>>>
>>>>> What happens if you kill all the running processes (or as many as
>>>>> possible) before starting the suspend?
>>>>>
>>>>> Also, how do you initiate the suspend?  Do you use a program, or do
>>>>> you
>>>>> simply "echo mem>/sys/power/state"?
>>>>
>>>> I just rebooted with init=/bin/sh and did
>>>>
>>>> sdparm -r -C STOP /dev/sda
>>>> echo 0>  /sys/block/sda/device/scsi_disk/*/manage_start_stop
>>>> echo mem>  /sys/power/state
>>>>
>>>> When I hit the power button to resume
>>>> sda started spinning again :(
>>>
>>> I have no idea why.  Unless maybe the BIOS started the drive.
>>>
>>> Here's another test you can try.  Before starting the suspend, make
>>> sure no filesystems are mounted on sda and do:
>>>
>>>     echo scsi remove-single-device 0 0 0 0>/proc/scsi/scsi
>>>
>>> (replace the "0 0 0 0" with the appropriate Host, Channel, ID, and LUN
>>> values for your sda drive).  This will erase all knowledge of that
>>> drive from the kernel.  If it still spins up during resume, you can be
>>> sure the kernel isn't responsible.
>>
>> drive still spins up on resume.
> 
> Did the disk (/dev/sda) spin down after
>    sdparm -r -C STOP /dev/sda

y

> ? I'm guessing that neither the root file system nor swap
> are located on /dev/sda ?

correct

I now notice the `hdparm -s` option which might be applicable:

"Enable/disable the power-on in standby feature,
 if supported by the drive. VERY DANGEROUS"

Now I'm wary of enabling that because I do need
the drive enabled on first boot as the bios in this
dell laptop can only boot from a disk in this sata slot.
(I unmount and spin down after boot).

Seems like I might be left doing a spinup and spindown
at each resume.

cheers,
Pâdraig.
_______________________________________________
linux-pm mailing list
linux-pm@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

^ permalink raw reply

* [RFC/PATCH] PM / Runtime: allow _put_sync() from interrupts-disabled context
From: Kevin Hilman @ 2011-07-22 21:17 UTC (permalink / raw)
  To: linux-pm; +Cc: linux-omap, linux-arm-kernel

Currently the use of pm_runtime_put_sync() is not safe from
interrupts-disabled context because rpm_idle() will release the
spinlock and enable interrupts for the idle callbacks.  This enables
interrupts during a time where interrupts were expected to be
disabled, and can have strange side effects on drivers that expected
interrupts to be disabled.

This is not a bug since the documentation clearly states that only
_put_sync_suspend() is safe in IRQ-safe mode.

However, pm_runtime_put_sync() could be made safe when in IRQ-safe
mode by releasing the spinlock but not re-enabling interrupts, which
is what this patch aims to do.

Problem was found when using some buggy drivers that set
pm_runtime_irq_safe() and used _put_sync() in interrupts-disabled
context.

The offending drivers have been fixed to use _put_sync_suspend(),
But this patch is an RFC to see if it might make sense to allow
using _put_sync() from interrupts-disabled context.

Reported-by: Colin Cross <ccross@google.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
---
 drivers/base/power/runtime.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
index 8dc247c..acb3f83 100644
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -226,11 +226,17 @@ static int rpm_idle(struct device *dev, int rpmflags)
 		callback = NULL;
 
 	if (callback) {
-		spin_unlock_irq(&dev->power.lock);
+		if (dev->power.irq_safe)
+			spin_unlock(&dev->power.lock);
+		else
+			spin_unlock_irq(&dev->power.lock);
 
 		callback(dev);
 
-		spin_lock_irq(&dev->power.lock);
+		if (dev->power.irq_safe)
+			spin_lock(&dev->power.lock);
+		else
+			spin_lock_irq(&dev->power.lock);
 	}
 
 	dev->power.idle_notification = false;
-- 
1.7.6

^ permalink raw reply related

* [RFC/PATCH v2] PM / Runtime: allow _put_sync() from interrupts-disabled context
From: Kevin Hilman @ 2011-07-22 21:46 UTC (permalink / raw)
  To: linux-pm; +Cc: linux-omap, linux-arm-kernel

Currently the use of pm_runtime_put_sync() is not safe from
interrupts-disabled context because rpm_idle() will release the
spinlock and enable interrupts for the idle callbacks.  This enables
interrupts during a time where interrupts were expected to be
disabled, and can have strange side effects on drivers that expected
interrupts to be disabled.

This is not a bug since the documentation clearly states that only
_put_sync_suspend() is safe in IRQ-safe mode.

However, pm_runtime_put_sync() could be made safe when in IRQ-safe
mode by releasing the spinlock but not re-enabling interrupts, which
is what this patch aims to do.

Problem was found when using some buggy drivers that set
pm_runtime_irq_safe() and used _put_sync() in interrupts-disabled
context.

The offending drivers have been fixed to use _put_sync_suspend(),
But this patch is an RFC to see if it might make sense to allow
using _put_sync() from interrupts-disabled context.

Reported-by: Colin Cross <ccross@google.com>
Tested-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
---
v2: update documentation also

 Documentation/power/runtime_pm.txt |   10 +++++-----
 drivers/base/power/runtime.c       |   10 ++++++++--
 2 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt
index 14dd3c6..4ce5450 100644
--- a/Documentation/power/runtime_pm.txt
+++ b/Documentation/power/runtime_pm.txt
@@ -54,11 +54,10 @@ referred to as subsystem-level callbacks in what follows.
 By default, the callbacks are always invoked in process context with interrupts
 enabled.  However, subsystems can use the pm_runtime_irq_safe() helper function
 to tell the PM core that a device's ->runtime_suspend() and ->runtime_resume()
-callbacks should be invoked in atomic context with interrupts disabled
-(->runtime_idle() is still invoked the default way).  This implies that these
-callback routines must not block or sleep, but it also means that the
-synchronous helper functions listed at the end of Section 4 can be used within
-an interrupt handler or in an atomic context.
+callbacks should be invoked in atomic context with interrupts disabled.
+This implies that these callback routines must not block or sleep, but it also
+means that the synchronous helper functions listed at the end of Section 4 can
+be used within an interrupt handler or in an atomic context.
 
 The subsystem-level suspend callback is _entirely_ _responsible_ for handling
 the suspend of the device as appropriate, which may, but need not include
@@ -483,6 +482,7 @@ pm_runtime_suspend()
 pm_runtime_autosuspend()
 pm_runtime_resume()
 pm_runtime_get_sync()
+pm_runtime_put_sync()
 pm_runtime_put_sync_suspend()
 
 5. Runtime PM Initialization, Device Probing and Removal
diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
index 8dc247c..acb3f83 100644
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -226,11 +226,17 @@ static int rpm_idle(struct device *dev, int rpmflags)
 		callback = NULL;
 
 	if (callback) {
-		spin_unlock_irq(&dev->power.lock);
+		if (dev->power.irq_safe)
+			spin_unlock(&dev->power.lock);
+		else
+			spin_unlock_irq(&dev->power.lock);
 
 		callback(dev);
 
-		spin_lock_irq(&dev->power.lock);
+		if (dev->power.irq_safe)
+			spin_lock(&dev->power.lock);
+		else
+			spin_lock_irq(&dev->power.lock);
 	}
 
 	dev->power.idle_notification = false;
-- 
1.7.6

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox