<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/idle, branch v3.9</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/idle?h=v3.9</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/idle?h=v3.9'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-03-15T14:55:31Z</updated>
<entry>
<title>intel_idle: additional Haswell CPU-id</title>
<updated>2013-03-15T14:55:31Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2013-03-15T14:55:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0b15841b0bbbde75134a777c543dc51fe6187108'/>
<id>urn:sha1:0b15841b0bbbde75134a777c543dc51fe6187108</id>
<content type='text'>
There is an additional HSW CPU-id, 0x46,
which has C-states exactly like CPU-id 0x45.

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2013-02-23T03:25:09Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-02-23T03:25:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3b5d8510b94a95e493e8c4951ffc3d1cf6a6792d'/>
<id>urn:sha1:3b5d8510b94a95e493e8c4951ffc3d1cf6a6792d</id>
<content type='text'>
Pull core locking changes from Ingo Molnar:
 "The biggest change is the rwsem lock-steal improvements, both to the
  assembly optimized and the spinlock based variants.

  The other notable change is the clean up of the seqlock implementation
  to be based on the seqcount infrastructure.

  The rest is assorted smaller debuggability, cleanup and continued -rt
  locking changes."

* 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  rwsem-spinlock: Implement writer lock-stealing for better scalability
  futex: Revert "futex: Mark get_robust_list as deprecated"
  generic: Use raw local irq variant for generic cmpxchg
  lockdep: Selftest: convert spinlock to raw spinlock
  seqlock: Use seqcount infrastructure
  seqlock: Remove unused functions
  ntp: Make ntp_lock raw
  intel_idle: Convert i7300_idle_lock to raw_spinlock
  locking: Various static lock initializer fixes
  lockdep: Print more info when MAX_LOCK_DEPTH is exceeded
  rwsem: Implement writer lock-stealing for better scalability
  lockdep: Silence warning if CONFIG_LOCKDEP isn't set
  watchdog: Use local_clock for get_timestamp()
  lockdep: Rename print_unlock_inbalance_bug() to print_unlock_imbalance_bug()
  locking/stat: Fix a typo
</content>
</entry>
<entry>
<title>Merge tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core</title>
<updated>2013-02-21T20:05:51Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-02-21T20:05:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=06991c28f37ad68e5c03777f5c3b679b56e3dac1'/>
<id>urn:sha1:06991c28f37ad68e5c03777f5c3b679b56e3dac1</id>
<content type='text'>
Pull driver core patches from Greg Kroah-Hartman:
 "Here is the big driver core merge for 3.9-rc1

  There are two major series here, both of which touch lots of drivers
  all over the kernel, and will cause you some merge conflicts:

   - add a new function called devm_ioremap_resource() to properly be
     able to check return values.

   - remove CONFIG_EXPERIMENTAL

  Other than those patches, there's not much here, some minor fixes and
  updates"

Fix up trivial conflicts

* tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (221 commits)
  base: memory: fix soft/hard_offline_page permissions
  drivercore: Fix ordering between deferred_probe and exiting initcalls
  backlight: fix class_find_device() arguments
  TTY: mark tty_get_device call with the proper const values
  driver-core: constify data for class_find_device()
  firmware: Ignore abort check when no user-helper is used
  firmware: Reduce ifdef CONFIG_FW_LOADER_USER_HELPER
  firmware: Make user-mode helper optional
  firmware: Refactoring for splitting user-mode helper code
  Driver core: treat unregistered bus_types as having no devices
  watchdog: Convert to devm_ioremap_resource()
  thermal: Convert to devm_ioremap_resource()
  spi: Convert to devm_ioremap_resource()
  power: Convert to devm_ioremap_resource()
  mtd: Convert to devm_ioremap_resource()
  mmc: Convert to devm_ioremap_resource()
  mfd: Convert to devm_ioremap_resource()
  media: Convert to devm_ioremap_resource()
  iommu: Convert to devm_ioremap_resource()
  drm: Convert to devm_ioremap_resource()
  ...
</content>
</entry>
<entry>
<title>intel_idle: Convert i7300_idle_lock to raw_spinlock</title>
<updated>2013-02-19T07:42:47Z</updated>
<author>
<name>Mike Galbraith</name>
<email>efault@gmx.de</email>
</author>
<published>2011-12-07T11:48:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=066361a7c58cb6c8b18c7ce0ee8527bb1ce58460'/>
<id>urn:sha1:066361a7c58cb6c8b18c7ce0ee8527bb1ce58460</id>
<content type='text'>
24 core Intel box's first exposure to 3.0.12-rt30-rc3 didn't go well.

[   27.104159] i7300_idle: loaded v1.55
[   27.104192] BUG: scheduling while atomic: swapper/2/0/0x00000002
[   27.104309] Pid: 0, comm: swapper/2 Tainted: G           N  3.0.12-rt30-rc3-rt #1
[   27.104317] Call Trace:
[   27.104338]  [&lt;ffffffff810046a5&gt;] dump_trace+0x85/0x2e0
[   27.104372]  [&lt;ffffffff8144eb00&gt;] thread_return+0x12b/0x30b
[   27.104381]  [&lt;ffffffff8144f1b9&gt;] schedule+0x29/0xb0
[   27.104389]  [&lt;ffffffff814506e5&gt;] rt_spin_lock_slowlock+0xc5/0x240
[   27.104401]  [&lt;ffffffffa01f818f&gt;] i7300_idle_notifier+0x3f/0x360 [i7300_idle]
[   27.104415]  [&lt;ffffffff814546c7&gt;] notifier_call_chain+0x37/0x70
[   27.104426]  [&lt;ffffffff81454748&gt;] __atomic_notifier_call_chain+0x48/0x70
[   27.104439]  [&lt;ffffffff81001a39&gt;] cpu_idle+0x89/0xb0
[   27.104449] bad: scheduling from the idle thread!

This lock is taken from interrupt disabled context in the guts of
idle. Convert it to a raw_spinlock.

Signed-off-by: Mike Galbraith &lt;efault@gmx.de&gt;
Cc: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Cc: Andy Henroid &lt;andrew.d.henroid@intel.com&gt;
Link: http://lkml.kernel.org/r/1323258522.5057.73.camel@marge.simson.net
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
</entry>
<entry>
<title>intel_idle: export both C1 and C1E</title>
<updated>2013-02-13T23:22:08Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2013-02-02T06:31:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=32e9518005c8dd9ed668f40f98632c8186df4909'/>
<id>urn:sha1:32e9518005c8dd9ed668f40f98632c8186df4909</id>
<content type='text'>
Here we disable HW promotion of C1 to C1E
and export both C1 and C1E and distinct C-states.

This allows a cpuidle governor to choose a lower latency
C-state than C1E when necessary to satisfy performance
and QOS constraints -- and still save power versus polling.
This also corrects the erroneous latency previously reported
for C1E -- it is 10usec, not 1usec.

Note that if you use "intel_idle.max_cstate=N",
then you must increment N by 1 to get the same behavior
after this change.

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>intel_idle: remove assumption of one C-state per MWAIT flag</title>
<updated>2013-02-09T00:29:16Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2013-02-02T04:37:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e022e7eb90f3edb83f9ff77825eda3d1b3a2f2e0'/>
<id>urn:sha1:e022e7eb90f3edb83f9ff77825eda3d1b3a2f2e0</id>
<content type='text'>
Remove the assumption that cstate_tables are
indexed by MWAIT flag values.  Each entry
identifies itself via its own flags value.
This change is needed to support multiple states
that share the same MWAIT flags.

Note that this can have an effect on what state is described
by 'N' on cmdline intel_idle.max_cstate=N on some systems.

intel_idle.max_cstate=0 still disables the driver
intel_idle.max_cstate=1 still results in just C1(E)
However, "place holders" in the sparse C-state name-space
(eg. Atom) have been removed.

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>intel_idle: remove use and definition of MWAIT_MAX_NUM_CSTATES</title>
<updated>2013-02-09T00:28:10Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2013-02-02T02:35:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=137ecc779c80138723677209730738d76262e810'/>
<id>urn:sha1:137ecc779c80138723677209730738d76262e810</id>
<content type='text'>
Cosmetic only.

Replace use of MWAIT_MAX_NUM_CSTATES with CPUIDLE_STATE_MAX.
They are both 8, so this patch has no functional change.

The reason to change is that intel_idle will soon be able
to export more than the 8 "major" states supported by MWAIT.
When we hit that limit, it is important to know
where the limit comes from.

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>intel_idle: support Haswell</title>
<updated>2013-02-09T00:25:48Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2013-01-31T19:40:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=85a4d2d41dc6d1c0296326204a857a9fab864a31'/>
<id>urn:sha1:85a4d2d41dc6d1c0296326204a857a9fab864a31</id>
<content type='text'>
This patch enables intel_idle to run on the
next-generation Intel(R) Microarchitecture code named "Haswell".

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>intel_idle: stop using driver_data for static flags</title>
<updated>2013-02-01T21:16:22Z</updated>
<author>
<name>Len Brown</name>
<email>len.brown@intel.com</email>
</author>
<published>2013-02-01T00:55:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b1beab48f6148d50fee4a56d741cc3168fe1b995'/>
<id>urn:sha1:b1beab48f6148d50fee4a56d741cc3168fe1b995</id>
<content type='text'>
The commit, 4202735e8ab6ecfb0381631a0d0b58fefe0bd4e2
(cpuidle: Split cpuidle_state structure and move per-cpu statistics fields)
observed that the MWAIT flags for Cn on every processor to date were the
same, and created get_driver_data() to supply them.

Unfortunately, that assumption is false, going forward.
So here we restore the MWAIT flags to the cpuidle_state table.
However, instead restoring the old "driver_data" field,
we put the flags into the existing "flags" field,
where they probalby should have lived all along.

This patch does not change any operation.

This patch removes 1 of the 3 users of cpuidle_state_usage.driver_data.
Perhaps some day we'll get rid of the other 2.

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge 3.8-rc5 into driver-core-next</title>
<updated>2013-01-26T05:06:30Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2013-01-26T05:06:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=422d26b6ecd77af8c77f2a40580679459825170f'/>
<id>urn:sha1:422d26b6ecd77af8c77f2a40580679459825170f</id>
<content type='text'>
This resolves a gpio driver merge issue pointed out in linux-next.

Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
