<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/kernel, branch v4.1-rc5</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2015-05-24T00:57:40+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-05-24T00:57:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c5db6a3bdeb72f4238e1faefa4ce4eab7a64baea'/>
<id>c5db6a3bdeb72f4238e1faefa4ce4eab7a64baea</id>
<content type='text'>
Pull timer fix from Thomas Gleixner:
 "One more fix from the timer departement:

    - Handle division of negative nanosecond values proper on 32bit.

      A recent cleanup wrecked the sign handling of the dividend and
      dropped the check for negative divisors"

* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  ktime: Fix ktime_divns to do signed division
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull timer fix from Thomas Gleixner:
 "One more fix from the timer departement:

    - Handle division of negative nanosecond values proper on 32bit.

      A recent cleanup wrecked the sign handling of the dividend and
      dropped the check for negative divisors"

* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  ktime: Fix ktime_divns to do signed division
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.dk/linux-block</title>
<updated>2015-05-22T22:15:30+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-05-22T22:15:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=1c8df7bd48347a707b437cfd0dad6b08a3b89ab6'/>
<id>1c8df7bd48347a707b437cfd0dad6b08a3b89ab6</id>
<content type='text'>
Pull block fixes from Jens Axboe:
 "Three small fixes that have been picked up the last few weeks.
  Specifically:

   - Fix a memory corruption issue in NVMe with malignant user
     constructed request.  From Christoph.

   - Kill (now) unused blk_queue_bio(), dm was changed to not need this
     anymore.  From Mike Snitzer.

   - Always use blk_schedule_flush_plug() from the io_schedule() path
     when flushing a plug, fixing a !TASK_RUNNING warning with md.  From
     Shaohua"

* 'for-linus' of git://git.kernel.dk/linux-block:
  sched: always use blk_schedule_flush_plug in io_schedule_out
  nvme: fix kernel memory corruption with short INQUIRY buffers
  block: remove export for blk_queue_bio
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull block fixes from Jens Axboe:
 "Three small fixes that have been picked up the last few weeks.
  Specifically:

   - Fix a memory corruption issue in NVMe with malignant user
     constructed request.  From Christoph.

   - Kill (now) unused blk_queue_bio(), dm was changed to not need this
     anymore.  From Mike Snitzer.

   - Always use blk_schedule_flush_plug() from the io_schedule() path
     when flushing a plug, fixing a !TASK_RUNNING warning with md.  From
     Shaohua"

* 'for-linus' of git://git.kernel.dk/linux-block:
  sched: always use blk_schedule_flush_plug in io_schedule_out
  nvme: fix kernel memory corruption with short INQUIRY buffers
  block: remove export for blk_queue_bio
</pre>
</div>
</content>
</entry>
<entry>
<title>watchdog: fix double lock in watchdog_nmi_enable_all</title>
<updated>2015-05-19T17:57:03+00:00</updated>
<author>
<name>Michal Hocko</name>
<email>mhocko@suse.cz</email>
</author>
<published>2015-05-19T07:07:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=1173ff09b9c57be8248427b7be161f7599dccd6b'/>
<id>1173ff09b9c57be8248427b7be161f7599dccd6b</id>
<content type='text'>
Commit ab992dc38f9a ("watchdog: Fix merge 'conflict'") has introduced an
obvious deadlock because of a typo.  watchdog_proc_mutex should be
unlocked on exit.

Thanks to Miroslav Benes who was staring at the code with me and noticed
this.

Signed-off-by: Michal Hocko &lt;mhocko@suse.cz&gt;
Duh-by: Peter Zijlstra &lt;peterz@infradead.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit ab992dc38f9a ("watchdog: Fix merge 'conflict'") has introduced an
obvious deadlock because of a typo.  watchdog_proc_mutex should be
unlocked on exit.

Thanks to Miroslav Benes who was staring at the code with me and noticed
this.

Signed-off-by: Michal Hocko &lt;mhocko@suse.cz&gt;
Duh-by: Peter Zijlstra &lt;peterz@infradead.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>sched: always use blk_schedule_flush_plug in io_schedule_out</title>
<updated>2015-05-18T22:06:41+00:00</updated>
<author>
<name>Shaohua Li</name>
<email>shli@fb.com</email>
</author>
<published>2015-05-08T17:51:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=10d784eae2b41e25d8fc6a88096cd27286093c84'/>
<id>10d784eae2b41e25d8fc6a88096cd27286093c84</id>
<content type='text'>
block plug callback could sleep, so we introduce a parameter
'from_schedule' and corresponding drivers can use it to destinguish a
schedule plug flush or a plug finish. Unfortunately io_schedule_out
still uses blk_flush_plug(). This causes below output (Note, I added a
might_sleep() in raid1_unplug to make it trigger faster, but the whole
thing doesn't matter if I add might_sleep). In raid1/10, this can cause
deadlock.

This patch makes io_schedule_out always uses blk_schedule_flush_plug.
This should only impact drivers (as far as I know, raid 1/10) which are
sensitive to the 'from_schedule' parameter.

[  370.817949] ------------[ cut here ]------------
[  370.817960] WARNING: CPU: 7 PID: 145 at ../kernel/sched/core.c:7306 __might_sleep+0x7f/0x90()
[  370.817969] do not call blocking ops when !TASK_RUNNING; state=2 set at [&lt;ffffffff81092fcf&gt;] prepare_to_wait+0x2f/0x90
[  370.817971] Modules linked in: raid1
[  370.817976] CPU: 7 PID: 145 Comm: kworker/u16:9 Tainted: G        W       4.0.0+ #361
[  370.817977] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140709_153802- 04/01/2014
[  370.817983] Workqueue: writeback bdi_writeback_workfn (flush-9:1)
[  370.817985]  ffffffff81cd83be ffff8800ba8cb298 ffffffff819dd7af 0000000000000001
[  370.817988]  ffff8800ba8cb2e8 ffff8800ba8cb2d8 ffffffff81051afc ffff8800ba8cb2c8
[  370.817990]  ffffffffa00061a8 000000000000041e 0000000000000000 ffff8800ba8cba28
[  370.817993] Call Trace:
[  370.817999]  [&lt;ffffffff819dd7af&gt;] dump_stack+0x4f/0x7b
[  370.818002]  [&lt;ffffffff81051afc&gt;] warn_slowpath_common+0x8c/0xd0
[  370.818004]  [&lt;ffffffff81051b86&gt;] warn_slowpath_fmt+0x46/0x50
[  370.818006]  [&lt;ffffffff81092fcf&gt;] ? prepare_to_wait+0x2f/0x90
[  370.818008]  [&lt;ffffffff81092fcf&gt;] ? prepare_to_wait+0x2f/0x90
[  370.818010]  [&lt;ffffffff810776ef&gt;] __might_sleep+0x7f/0x90
[  370.818014]  [&lt;ffffffffa0000c03&gt;] raid1_unplug+0xd3/0x170 [raid1]
[  370.818024]  [&lt;ffffffff81421d9a&gt;] blk_flush_plug_list+0x8a/0x1e0
[  370.818028]  [&lt;ffffffff819e3550&gt;] ? bit_wait+0x50/0x50
[  370.818031]  [&lt;ffffffff819e21b0&gt;] io_schedule_timeout+0x130/0x140
[  370.818033]  [&lt;ffffffff819e3586&gt;] bit_wait_io+0x36/0x50
[  370.818034]  [&lt;ffffffff819e31b5&gt;] __wait_on_bit+0x65/0x90
[  370.818041]  [&lt;ffffffff8125b67c&gt;] ? ext4_read_block_bitmap_nowait+0xbc/0x630
[  370.818043]  [&lt;ffffffff819e3550&gt;] ? bit_wait+0x50/0x50
[  370.818045]  [&lt;ffffffff819e3302&gt;] out_of_line_wait_on_bit+0x72/0x80
[  370.818047]  [&lt;ffffffff810935e0&gt;] ? autoremove_wake_function+0x40/0x40
[  370.818050]  [&lt;ffffffff811de744&gt;] __wait_on_buffer+0x44/0x50
[  370.818053]  [&lt;ffffffff8125ae80&gt;] ext4_wait_block_bitmap+0xe0/0xf0
[  370.818058]  [&lt;ffffffff812975d6&gt;] ext4_mb_init_cache+0x206/0x790
[  370.818062]  [&lt;ffffffff8114bc6c&gt;] ? lru_cache_add+0x1c/0x50
[  370.818064]  [&lt;ffffffff81297c7e&gt;] ext4_mb_init_group+0x11e/0x200
[  370.818066]  [&lt;ffffffff81298231&gt;] ext4_mb_load_buddy+0x341/0x360
[  370.818068]  [&lt;ffffffff8129a1a3&gt;] ext4_mb_find_by_goal+0x93/0x2f0
[  370.818070]  [&lt;ffffffff81295b54&gt;] ? ext4_mb_normalize_request+0x1e4/0x5b0
[  370.818072]  [&lt;ffffffff8129ab67&gt;] ext4_mb_regular_allocator+0x67/0x460
[  370.818074]  [&lt;ffffffff81295b54&gt;] ? ext4_mb_normalize_request+0x1e4/0x5b0
[  370.818076]  [&lt;ffffffff8129ca4b&gt;] ext4_mb_new_blocks+0x4cb/0x620
[  370.818079]  [&lt;ffffffff81290956&gt;] ext4_ext_map_blocks+0x4c6/0x14d0
[  370.818081]  [&lt;ffffffff812a4d4e&gt;] ? ext4_es_lookup_extent+0x4e/0x290
[  370.818085]  [&lt;ffffffff8126399d&gt;] ext4_map_blocks+0x14d/0x4f0
[  370.818088]  [&lt;ffffffff81266fbd&gt;] ext4_writepages+0x76d/0xe50
[  370.818094]  [&lt;ffffffff81149691&gt;] do_writepages+0x21/0x50
[  370.818097]  [&lt;ffffffff811d5c00&gt;] __writeback_single_inode+0x60/0x490
[  370.818099]  [&lt;ffffffff811d630a&gt;] writeback_sb_inodes+0x2da/0x590
[  370.818103]  [&lt;ffffffff811abf4b&gt;] ? trylock_super+0x1b/0x50
[  370.818105]  [&lt;ffffffff811abf4b&gt;] ? trylock_super+0x1b/0x50
[  370.818107]  [&lt;ffffffff811d665f&gt;] __writeback_inodes_wb+0x9f/0xd0
[  370.818109]  [&lt;ffffffff811d69db&gt;] wb_writeback+0x34b/0x3c0
[  370.818111]  [&lt;ffffffff811d70df&gt;] bdi_writeback_workfn+0x23f/0x550
[  370.818116]  [&lt;ffffffff8106bbd8&gt;] process_one_work+0x1c8/0x570
[  370.818117]  [&lt;ffffffff8106bb5b&gt;] ? process_one_work+0x14b/0x570
[  370.818119]  [&lt;ffffffff8106c09b&gt;] worker_thread+0x11b/0x470
[  370.818121]  [&lt;ffffffff8106bf80&gt;] ? process_one_work+0x570/0x570
[  370.818124]  [&lt;ffffffff81071868&gt;] kthread+0xf8/0x110
[  370.818126]  [&lt;ffffffff81071770&gt;] ? kthread_create_on_node+0x210/0x210
[  370.818129]  [&lt;ffffffff819e9322&gt;] ret_from_fork+0x42/0x70
[  370.818131]  [&lt;ffffffff81071770&gt;] ? kthread_create_on_node+0x210/0x210
[  370.818132] ---[ end trace 7b4deb71e68b6605 ]---

V2: don't change -&gt;in_iowait

Cc: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Shaohua Li &lt;shli@fb.com&gt;
Reviewed-by: Jeff Moyer &lt;jmoyer@redhat.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
block plug callback could sleep, so we introduce a parameter
'from_schedule' and corresponding drivers can use it to destinguish a
schedule plug flush or a plug finish. Unfortunately io_schedule_out
still uses blk_flush_plug(). This causes below output (Note, I added a
might_sleep() in raid1_unplug to make it trigger faster, but the whole
thing doesn't matter if I add might_sleep). In raid1/10, this can cause
deadlock.

This patch makes io_schedule_out always uses blk_schedule_flush_plug.
This should only impact drivers (as far as I know, raid 1/10) which are
sensitive to the 'from_schedule' parameter.

[  370.817949] ------------[ cut here ]------------
[  370.817960] WARNING: CPU: 7 PID: 145 at ../kernel/sched/core.c:7306 __might_sleep+0x7f/0x90()
[  370.817969] do not call blocking ops when !TASK_RUNNING; state=2 set at [&lt;ffffffff81092fcf&gt;] prepare_to_wait+0x2f/0x90
[  370.817971] Modules linked in: raid1
[  370.817976] CPU: 7 PID: 145 Comm: kworker/u16:9 Tainted: G        W       4.0.0+ #361
[  370.817977] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140709_153802- 04/01/2014
[  370.817983] Workqueue: writeback bdi_writeback_workfn (flush-9:1)
[  370.817985]  ffffffff81cd83be ffff8800ba8cb298 ffffffff819dd7af 0000000000000001
[  370.817988]  ffff8800ba8cb2e8 ffff8800ba8cb2d8 ffffffff81051afc ffff8800ba8cb2c8
[  370.817990]  ffffffffa00061a8 000000000000041e 0000000000000000 ffff8800ba8cba28
[  370.817993] Call Trace:
[  370.817999]  [&lt;ffffffff819dd7af&gt;] dump_stack+0x4f/0x7b
[  370.818002]  [&lt;ffffffff81051afc&gt;] warn_slowpath_common+0x8c/0xd0
[  370.818004]  [&lt;ffffffff81051b86&gt;] warn_slowpath_fmt+0x46/0x50
[  370.818006]  [&lt;ffffffff81092fcf&gt;] ? prepare_to_wait+0x2f/0x90
[  370.818008]  [&lt;ffffffff81092fcf&gt;] ? prepare_to_wait+0x2f/0x90
[  370.818010]  [&lt;ffffffff810776ef&gt;] __might_sleep+0x7f/0x90
[  370.818014]  [&lt;ffffffffa0000c03&gt;] raid1_unplug+0xd3/0x170 [raid1]
[  370.818024]  [&lt;ffffffff81421d9a&gt;] blk_flush_plug_list+0x8a/0x1e0
[  370.818028]  [&lt;ffffffff819e3550&gt;] ? bit_wait+0x50/0x50
[  370.818031]  [&lt;ffffffff819e21b0&gt;] io_schedule_timeout+0x130/0x140
[  370.818033]  [&lt;ffffffff819e3586&gt;] bit_wait_io+0x36/0x50
[  370.818034]  [&lt;ffffffff819e31b5&gt;] __wait_on_bit+0x65/0x90
[  370.818041]  [&lt;ffffffff8125b67c&gt;] ? ext4_read_block_bitmap_nowait+0xbc/0x630
[  370.818043]  [&lt;ffffffff819e3550&gt;] ? bit_wait+0x50/0x50
[  370.818045]  [&lt;ffffffff819e3302&gt;] out_of_line_wait_on_bit+0x72/0x80
[  370.818047]  [&lt;ffffffff810935e0&gt;] ? autoremove_wake_function+0x40/0x40
[  370.818050]  [&lt;ffffffff811de744&gt;] __wait_on_buffer+0x44/0x50
[  370.818053]  [&lt;ffffffff8125ae80&gt;] ext4_wait_block_bitmap+0xe0/0xf0
[  370.818058]  [&lt;ffffffff812975d6&gt;] ext4_mb_init_cache+0x206/0x790
[  370.818062]  [&lt;ffffffff8114bc6c&gt;] ? lru_cache_add+0x1c/0x50
[  370.818064]  [&lt;ffffffff81297c7e&gt;] ext4_mb_init_group+0x11e/0x200
[  370.818066]  [&lt;ffffffff81298231&gt;] ext4_mb_load_buddy+0x341/0x360
[  370.818068]  [&lt;ffffffff8129a1a3&gt;] ext4_mb_find_by_goal+0x93/0x2f0
[  370.818070]  [&lt;ffffffff81295b54&gt;] ? ext4_mb_normalize_request+0x1e4/0x5b0
[  370.818072]  [&lt;ffffffff8129ab67&gt;] ext4_mb_regular_allocator+0x67/0x460
[  370.818074]  [&lt;ffffffff81295b54&gt;] ? ext4_mb_normalize_request+0x1e4/0x5b0
[  370.818076]  [&lt;ffffffff8129ca4b&gt;] ext4_mb_new_blocks+0x4cb/0x620
[  370.818079]  [&lt;ffffffff81290956&gt;] ext4_ext_map_blocks+0x4c6/0x14d0
[  370.818081]  [&lt;ffffffff812a4d4e&gt;] ? ext4_es_lookup_extent+0x4e/0x290
[  370.818085]  [&lt;ffffffff8126399d&gt;] ext4_map_blocks+0x14d/0x4f0
[  370.818088]  [&lt;ffffffff81266fbd&gt;] ext4_writepages+0x76d/0xe50
[  370.818094]  [&lt;ffffffff81149691&gt;] do_writepages+0x21/0x50
[  370.818097]  [&lt;ffffffff811d5c00&gt;] __writeback_single_inode+0x60/0x490
[  370.818099]  [&lt;ffffffff811d630a&gt;] writeback_sb_inodes+0x2da/0x590
[  370.818103]  [&lt;ffffffff811abf4b&gt;] ? trylock_super+0x1b/0x50
[  370.818105]  [&lt;ffffffff811abf4b&gt;] ? trylock_super+0x1b/0x50
[  370.818107]  [&lt;ffffffff811d665f&gt;] __writeback_inodes_wb+0x9f/0xd0
[  370.818109]  [&lt;ffffffff811d69db&gt;] wb_writeback+0x34b/0x3c0
[  370.818111]  [&lt;ffffffff811d70df&gt;] bdi_writeback_workfn+0x23f/0x550
[  370.818116]  [&lt;ffffffff8106bbd8&gt;] process_one_work+0x1c8/0x570
[  370.818117]  [&lt;ffffffff8106bb5b&gt;] ? process_one_work+0x14b/0x570
[  370.818119]  [&lt;ffffffff8106c09b&gt;] worker_thread+0x11b/0x470
[  370.818121]  [&lt;ffffffff8106bf80&gt;] ? process_one_work+0x570/0x570
[  370.818124]  [&lt;ffffffff81071868&gt;] kthread+0xf8/0x110
[  370.818126]  [&lt;ffffffff81071770&gt;] ? kthread_create_on_node+0x210/0x210
[  370.818129]  [&lt;ffffffff819e9322&gt;] ret_from_fork+0x42/0x70
[  370.818131]  [&lt;ffffffff81071770&gt;] ? kthread_create_on_node+0x210/0x210
[  370.818132] ---[ end trace 7b4deb71e68b6605 ]---

V2: don't change -&gt;in_iowait

Cc: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Shaohua Li &lt;shli@fb.com&gt;
Reviewed-by: Jeff Moyer &lt;jmoyer@redhat.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>watchdog: Fix merge 'conflict'</title>
<updated>2015-05-18T17:08:29+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>peterz@infradead.org</email>
</author>
<published>2015-05-18T09:31:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ab992dc38f9ae40b3ab996d68449692d464c98cf'/>
<id>ab992dc38f9ae40b3ab996d68449692d464c98cf</id>
<content type='text'>
Two watchdog changes that came through different trees had a non
conflicting conflict, that is, one changed the semantics of a variable
but no actual code conflict happened. So the merge appeared fine, but
the resulting code did not behave as expected.

Commit 195daf665a62 ("watchdog: enable the new user interface of the
watchdog mechanism") changes the semantics of watchdog_user_enabled,
which thereafter is only used by the functions introduced by
b3738d293233 ("watchdog: Add watchdog enable/disable all functions").

There further appears to be a distinct lack of serialization between
setting and using watchdog_enabled, so perhaps we should wrap the
{en,dis}able_all() things in watchdog_proc_mutex.

This patch fixes a s2r failure reported by Michal; which I cannot
readily explain. But this does make the code internally consistent
again.

Reported-and-tested-by: Michal Hocko &lt;mhocko@suse.cz&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Two watchdog changes that came through different trees had a non
conflicting conflict, that is, one changed the semantics of a variable
but no actual code conflict happened. So the merge appeared fine, but
the resulting code did not behave as expected.

Commit 195daf665a62 ("watchdog: enable the new user interface of the
watchdog mechanism") changes the semantics of watchdog_user_enabled,
which thereafter is only used by the functions introduced by
b3738d293233 ("watchdog: Add watchdog enable/disable all functions").

There further appears to be a distinct lack of serialization between
setting and using watchdog_enabled, so perhaps we should wrap the
{en,dis}able_all() things in watchdog_proc_mutex.

This patch fixes a s2r failure reported by Michal; which I cannot
readily explain. But this does make the code internally consistent
again.

Reported-and-tested-by: Michal Hocko &lt;mhocko@suse.cz&gt;
Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2015-05-15T19:42:33+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-05-15T19:42:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=14db1e8dc08ca1b1ad8aa20e6ebfe0b395bbe5bf'/>
<id>14db1e8dc08ca1b1ad8aa20e6ebfe0b395bbe5bf</id>
<content type='text'>
Pull scheduler fixes from Ingo Molnar:
 "Two fixes: a suspend/resume related regression fix, and an RT priority
  boosting fix"

* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  sched/core: Fix regression in cpuset_cpu_inactive() for suspend
  sched: Handle priority boosted tasks proper in setscheduler()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull scheduler fixes from Ingo Molnar:
 "Two fixes: a suspend/resume related regression fix, and an RT priority
  boosting fix"

* 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  sched/core: Fix regression in cpuset_cpu_inactive() for suspend
  sched: Handle priority boosted tasks proper in setscheduler()
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2015-05-15T19:38:21+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-05-15T19:38:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ef4a293a4417fc5f50b0b83b62deb9ead8423256'/>
<id>ef4a293a4417fc5f50b0b83b62deb9ead8423256</id>
<content type='text'>
Pull perf fixes from Ingo Molnar:
 "Mostly tooling fixes, but also a lockdep annotation fix, a PMU event
  list fix and a new model addition"

* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  tools/liblockdep: Fix compilation error
  tools/liblockdep: Fix linker error in case of cross compile
  perf tools: Use getconf to determine number of online CPUs
  tools: Fix tools/vm build
  perf/x86/rapl: Enable Broadwell-U RAPL support
  perf/x86/intel: Fix SLM cache event list
  perf: Annotate inherited event ctx-&gt;mutex recursion
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull perf fixes from Ingo Molnar:
 "Mostly tooling fixes, but also a lockdep annotation fix, a PMU event
  list fix and a new model addition"

* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  tools/liblockdep: Fix compilation error
  tools/liblockdep: Fix linker error in case of cross compile
  perf tools: Use getconf to determine number of online CPUs
  tools: Fix tools/vm build
  perf/x86/rapl: Enable Broadwell-U RAPL support
  perf/x86/intel: Fix SLM cache event list
  perf: Annotate inherited event ctx-&gt;mutex recursion
</pre>
</div>
</content>
</entry>
<entry>
<title>ktime: Fix ktime_divns to do signed division</title>
<updated>2015-05-13T08:19:35+00:00</updated>
<author>
<name>John Stultz</name>
<email>john.stultz@linaro.org</email>
</author>
<published>2015-05-08T20:47:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=f7bcb70ebae0dcdb5a2d859b09e4465784d99029'/>
<id>f7bcb70ebae0dcdb5a2d859b09e4465784d99029</id>
<content type='text'>
It was noted that the 32bit implementation of ktime_divns()
was doing unsigned division and didn't properly handle
negative values.

And when a ktime helper was changed to utilize
ktime_divns, it caused a regression on some IR blasters.
See the following bugzilla for details:
  https://bugzilla.redhat.com/show_bug.cgi?id=1200353

This patch fixes the problem in ktime_divns by checking
and preserving the sign bit, and then reapplying it if
appropriate after the division, it also changes the return
type to a s64 to make it more obvious this is expected.

Nicolas also pointed out that negative dividers would
cause infinite loops on 32bit systems, negative dividers
is unlikely for users of this function, but out of caution
this patch adds checks for negative dividers for both
32-bit (BUG_ON) and 64-bit(WARN_ON) versions to make sure
no such use cases creep in.

[ tglx: Hand an u64 to do_div() to avoid the compiler warning ]

Fixes: 166afb64511e 'ktime: Sanitize ktime_to_us/ms conversion'
Reported-and-tested-by: Trevor Cordes &lt;trevor@tecnopolis.ca&gt;
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
Acked-by: Nicolas Pitre &lt;nicolas.pitre@linaro.org&gt;
Cc: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Josh Boyer &lt;jwboyer@redhat.com&gt;
Cc: One Thousand Gnomes &lt;gnomes@lxorguk.ukuu.org.uk&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Link: http://lkml.kernel.org/r/1431118043-23452-1-git-send-email-john.stultz@linaro.org
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It was noted that the 32bit implementation of ktime_divns()
was doing unsigned division and didn't properly handle
negative values.

And when a ktime helper was changed to utilize
ktime_divns, it caused a regression on some IR blasters.
See the following bugzilla for details:
  https://bugzilla.redhat.com/show_bug.cgi?id=1200353

This patch fixes the problem in ktime_divns by checking
and preserving the sign bit, and then reapplying it if
appropriate after the division, it also changes the return
type to a s64 to make it more obvious this is expected.

Nicolas also pointed out that negative dividers would
cause infinite loops on 32bit systems, negative dividers
is unlikely for users of this function, but out of caution
this patch adds checks for negative dividers for both
32-bit (BUG_ON) and 64-bit(WARN_ON) versions to make sure
no such use cases creep in.

[ tglx: Hand an u64 to do_div() to avoid the compiler warning ]

Fixes: 166afb64511e 'ktime: Sanitize ktime_to_us/ms conversion'
Reported-and-tested-by: Trevor Cordes &lt;trevor@tecnopolis.ca&gt;
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
Acked-by: Nicolas Pitre &lt;nicolas.pitre@linaro.org&gt;
Cc: Ingo Molnar &lt;mingo@kernel.org&gt;
Cc: Josh Boyer &lt;jwboyer@redhat.com&gt;
Cc: One Thousand Gnomes &lt;gnomes@lxorguk.ukuu.org.uk&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Link: http://lkml.kernel.org/r/1431118043-23452-1-git-send-email-john.stultz@linaro.org
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2015-05-09T21:59:05+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-05-09T21:59:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9d88f22a819db8a9ff78496edf5553e90d88179c'/>
<id>9d88f22a819db8a9ff78496edf5553e90d88179c</id>
<content type='text'>
Pull irq updates from Thomas Gleixner:
 "Two patches from the irq departement:

   - a simple fix to make dummy_irq_chip usable for wakeup scenarios

   - removal of the gic arch_extn hackery.  Now that all users are
     converted we really want to get rid of the interface so people wont
     come up with new use cases"

* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  irqchip: gic: Drop support for gic_arch_extn
  genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull irq updates from Thomas Gleixner:
 "Two patches from the irq departement:

   - a simple fix to make dummy_irq_chip usable for wakeup scenarios

   - removal of the gic arch_extn hackery.  Now that all users are
     converted we really want to get rid of the interface so people wont
     come up with new use cases"

* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  irqchip: gic: Drop support for gic_arch_extn
  genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2015-05-09T21:57:49+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2015-05-09T21:57:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=95f3b1f4b1df4716ce2db8aa2243b7e288eeb9a7'/>
<id>95f3b1f4b1df4716ce2db8aa2243b7e288eeb9a7</id>
<content type='text'>
Pull timer fix from Thomas Gleixner:
 "A simple fix to actually shut down a detached device instead of
  keeping it active"

* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  clockevents: Shutdown detached clockevent device
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull timer fix from Thomas Gleixner:
 "A simple fix to actually shut down a detached device instead of
  keeping it active"

* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  clockevents: Shutdown detached clockevent device
</pre>
</div>
</content>
</entry>
</feed>
