<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include, branch v2.6.39</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v2.6.39</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.39'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2011-05-18T20:25:57Z</updated>
<entry>
<title>Merge branch 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6</title>
<updated>2011-05-18T20:25:57Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-05-18T20:25:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=fce519588acfac249e8fdc1f5016c73d617de315'/>
<id>urn:sha1:fce519588acfac249e8fdc1f5016c73d617de315</id>
<content type='text'>
* 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6:
  drivercore: revert addition of of_match to struct device
  of: fix race when matching drivers
</content>
</entry>
<entry>
<title>drivercore: revert addition of of_match to struct device</title>
<updated>2011-05-18T18:32:23Z</updated>
<author>
<name>Grant Likely</name>
<email>grant.likely@secretlab.ca</email>
</author>
<published>2011-05-18T17:19:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b1608d69cb804e414d0887140ba08a9398e4e638'/>
<id>urn:sha1:b1608d69cb804e414d0887140ba08a9398e4e638</id>
<content type='text'>
Commit b826291c, "drivercore/dt: add a match table pointer to struct
device" added an of_match pointer to struct device to cache the
of_match_table entry discovered at driver match time.  This was unsafe
because matching is not an atomic operation with probing a driver.  If
two or more drivers are attempted to be matched to a driver at the
same time, then the cached matching entry pointer could get
overwritten.

This patch reverts the of_match cache pointer and reworks all users to
call of_match_device() directly instead.

Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</content>
</entry>
<entry>
<title>of: fix race when matching drivers</title>
<updated>2011-05-18T16:19:36Z</updated>
<author>
<name>Milton Miller</name>
<email>miltonm@bga.com</email>
</author>
<published>2011-05-18T15:27:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=01294d82622d6d9d64bde8e4530c7e2c6dbb6ee6'/>
<id>urn:sha1:01294d82622d6d9d64bde8e4530c7e2c6dbb6ee6</id>
<content type='text'>
If two drivers are probing devices at the same time, both will write
their match table result to the dev-&gt;of_match cache at the same time.

Only write the result if the device matches.

In a thread titled "SBus devices sometimes detected, sometimes not",
Meelis reported his SBus hme was not detected about 50% of the time.
From the debug suggested by Grant it was obvious another driver matched
some devices between the call to match the hme and the hme discovery
failling.

Reported-by: Meelis Roos &lt;mroos@linux.ee&gt;
Signed-off-by: Milton Miller &lt;miltonm@bga.com&gt;
[grant.likely: modified to only call of_match_device() once]
Signed-off-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block</title>
<updated>2011-05-18T13:49:02Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-05-18T13:49:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a2b9c1f6208126e6df6c02428c501f8853685812'/>
<id>urn:sha1:a2b9c1f6208126e6df6c02428c501f8853685812</id>
<content type='text'>
* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
  block: don't delay blk_run_queue_async
  scsi: remove performance regression due to async queue run
  blk-throttle: Use task_subsys_state() to determine a task's blkio_cgroup
  block: rescan partitions on invalidated devices on -ENOMEDIA too
  cdrom: always check_disk_change() on open
  block: unexport DISK_EVENT_MEDIA_CHANGE for legacy/fringe drivers
</content>
</entry>
<entry>
<title>procfs: add stub for proc_mkdir_mode()</title>
<updated>2011-05-18T09:55:24Z</updated>
<author>
<name>Randy Dunlap</name>
<email>randy.dunlap@oracle.com</email>
</author>
<published>2011-05-17T22:44:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f12a20fc9bfba4218ecbc4e40c8e08dc2a85dc99'/>
<id>urn:sha1:f12a20fc9bfba4218ecbc4e40c8e08dc2a85dc99</id>
<content type='text'>
Provide a stub for proc_mkdir_mode() when CONFIG_PROC_FS is not
enabled, just like the stub for proc_mkdir().

Fixes this linux-next build error:

  drivers/net/wireless/airo.c:4504: error: implicit declaration of function 'proc_mkdir_mode'

Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Cc: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;
Cc: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Cc: "John W. Linville" &lt;linville@tuxdriver.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>scsi: remove performance regression due to async queue run</title>
<updated>2011-05-17T09:04:44Z</updated>
<author>
<name>Jens Axboe</name>
<email>jaxboe@fusionio.com</email>
</author>
<published>2011-05-17T09:04:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9937a5e2f32892db0dbeefc2b3bc74b3ae3ea9c7'/>
<id>urn:sha1:9937a5e2f32892db0dbeefc2b3bc74b3ae3ea9c7</id>
<content type='text'>
Commit c21e6beb removed our queue request_fn re-enter
protection, and defaulted to always running the queues from
kblockd to be safe. This was a known potential slow down,
but should be safe.

Unfortunately this is causing big performance regressions for
some, so we need to improve this logic. Looking into the details
of the re-enter, the real issue is on requeue of requests.

Requeue of requests upon seeing a BUSY condition from the device
ends up re-running the queue, causing traces like this:

scsi_request_fn()
        scsi_dispatch_cmd()
                scsi_queue_insert()
                        __scsi_queue_insert()
                                scsi_run_queue()
					scsi_request_fn()
						...

potentially causing the issue we want to avoid. So special
case the requeue re-run of the queue, but improve it to offload
the entire run of local queue and starved queue from a single
workqueue callback. This is a lot better than potentially
kicking off a workqueue run for each device seen.

This also fixes the issue of the local device going into recursion,
since the above mentioned commit never moved that queue run out
of line.

Signed-off-by: Jens Axboe &lt;jaxboe@fusionio.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc</title>
<updated>2011-05-17T01:36:47Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-05-17T01:36:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=477de0de446210eb5c87e2a54c9ba4c8844fb98b'/>
<id>urn:sha1:477de0de446210eb5c87e2a54c9ba4c8844fb98b</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:
  Revert "mmc: fix a race between card-detect rescan and clock-gate work instances"
</content>
</entry>
<entry>
<title>Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6</title>
<updated>2011-05-16T15:47:31Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-05-16T15:47:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=7c21738efd0b5e8c2a9ac2440e7ffbf432d6f239'/>
<id>urn:sha1:7c21738efd0b5e8c2a9ac2440e7ffbf432d6f239</id>
<content type='text'>
* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
  drm: Take lock around probes for drm_fb_helper_hotplug_event
  drm/i915: Revert i915.semaphore=1 default from 47ae63e0
  vga_switcheroo: don't toggle-switch devices
  drm/radeon/kms: add some evergreen/ni safe regs
  drm/radeon/kms: fix extended lvds info parsing
  drm/radeon/kms: fix tiling reg on fusion
</content>
</entry>
<entry>
<title>Revert "mmc: fix a race between card-detect rescan and clock-gate work instances"</title>
<updated>2011-05-16T15:32:26Z</updated>
<author>
<name>Chris Ball</name>
<email>cjb@laptop.org</email>
</author>
<published>2011-05-16T15:32:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=86f315bbb2374f1f077500ad131dd9b71856e697'/>
<id>urn:sha1:86f315bbb2374f1f077500ad131dd9b71856e697</id>
<content type='text'>
This reverts commit 26fc8775b51484d8c0a671198639c6d5ae60533e, which has
been reported to cause boot/resume-time crashes for some users:

https://bbs.archlinux.org/viewtopic.php?id=118751.

Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
Cc: &lt;stable@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm: Take lock around probes for drm_fb_helper_hotplug_event</title>
<updated>2011-05-16T02:01:43Z</updated>
<author>
<name>Chris Wilson</name>
<email>chris@chris-wilson.co.uk</email>
</author>
<published>2011-04-22T10:03:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=752d2635ebb12b6122ba05775f7d1ccfef14b275'/>
<id>urn:sha1:752d2635ebb12b6122ba05775f7d1ccfef14b275</id>
<content type='text'>
We need to hold the dev-&gt;mode_config.mutex whilst detecting the output
status. But we also need to drop it for the call into
drm_fb_helper_single_fb_probe(), which indirectly acquires the lock when
attaching the fbcon.

Failure to do so exposes a race with normal output probing. Detected by
adding some warnings that the mutex is held to the backend detect routines:

[   17.772456] WARNING: at drivers/gpu/drm/i915/intel_crt.c:471 intel_crt_detect+0x3e/0x373 [i915]()
[   17.772458] Hardware name: Latitude E6400
[   17.772460] Modules linked in: ....
[   17.772582] Pid: 11, comm: kworker/0:1 Tainted: G        W 2.6.38.4-custom.2 #8
[   17.772584] Call Trace:
[   17.772591]  [&lt;ffffffff81046af5&gt;] ? warn_slowpath_common+0x78/0x8c
[   17.772603]  [&lt;ffffffffa03f3e5c&gt;] ? intel_crt_detect+0x3e/0x373 [i915]
[   17.772612]  [&lt;ffffffffa0355d49&gt;] ?  drm_helper_probe_single_connector_modes+0xbf/0x2af [drm_kms_helper]
[   17.772619]  [&lt;ffffffffa03534d5&gt;] ?  drm_fb_helper_probe_connector_modes+0x39/0x4d [drm_kms_helper]
[   17.772625]  [&lt;ffffffffa0354760&gt;] ?  drm_fb_helper_hotplug_event+0xa5/0xc3 [drm_kms_helper]
[   17.772633]  [&lt;ffffffffa035577f&gt;] ? output_poll_execute+0x146/0x17c [drm_kms_helper]
[   17.772638]  [&lt;ffffffff81193c01&gt;] ? cfq_init_queue+0x247/0x345
[   17.772644]  [&lt;ffffffffa0355639&gt;] ? output_poll_execute+0x0/0x17c [drm_kms_helper]
[   17.772648]  [&lt;ffffffff8105b540&gt;] ? process_one_work+0x193/0x28e
[   17.772652]  [&lt;ffffffff8105c6bc&gt;] ? worker_thread+0xef/0x172
[   17.772655]  [&lt;ffffffff8105c5cd&gt;] ? worker_thread+0x0/0x172
[   17.772658]  [&lt;ffffffff8105c5cd&gt;] ? worker_thread+0x0/0x172
[   17.772663]  [&lt;ffffffff8105f767&gt;] ? kthread+0x7a/0x82
[   17.772668]  [&lt;ffffffff8100a724&gt;] ? kernel_thread_helper+0x4/0x10
[   17.772671]  [&lt;ffffffff8105f6ed&gt;] ? kthread+0x0/0x82
[   17.772674]  [&lt;ffffffff8100a720&gt;] ? kernel_thread_helper+0x0/0x10

Reported-by:  Frederik Himpe &lt;fhimpe@telenet.be&gt;
References: https://bugs.freedesktop.org/show_bug.cgi?id=36394
Signed-off-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Signed-off-by: Dave Airlie &lt;airlied@redhat.com&gt;
</content>
</entry>
</feed>
