<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux, branch v3.0-rc5</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/?h=v3.0-rc5</id>
<link rel='self' href='https://git.amat.us/linux/atom/?h=v3.0-rc5'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-06-28T02:12:22Z</updated>
<entry>
<title>Linux 3.0-rc5</title>
<updated>2011-06-28T02:12:22Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-06-28T02:12:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b0af8dfdd67699e25083478c63eedef2e72ebd85'/>
<id>urn:sha1:b0af8dfdd67699e25083478c63eedef2e72ebd85</id>
<content type='text'>
</content>
</entry>
<entry>
<title>drm/i915: more struct_mutex locking</title>
<updated>2011-06-28T01:00:14Z</updated>
<author>
<name>Hugh Dickins</name>
<email>hughd@google.com</email>
</author>
<published>2011-06-27T23:18:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ecbec53b1d00ba582f71b210ed96cafc05ebd189'/>
<id>urn:sha1:ecbec53b1d00ba582f71b210ed96cafc05ebd189</id>
<content type='text'>
When auditing the locking in i915_gem.c (for a prospective change which
I then abandoned), I noticed two places where struct_mutex is not held
across GEM object manipulations that would usually require it.

Since one is in initial setup and the other in driver unload, I'm
guessing the mutex is not required for either; but post a patch in case
it is.

Signed-off-by: Hugh Dickins &lt;hughd@google.com&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Keith Packard &lt;keithp@keithp.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>drm/i915: use shmem_truncate_range</title>
<updated>2011-06-28T01:00:14Z</updated>
<author>
<name>Hugh Dickins</name>
<email>hughd@google.com</email>
</author>
<published>2011-06-27T23:18:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e2377fe0b65e3c7577ff6df1701c56ef477d336f'/>
<id>urn:sha1:e2377fe0b65e3c7577ff6df1701c56ef477d336f</id>
<content type='text'>
The interface to -&gt;truncate_range is changing very slightly: once "tmpfs:
take control of its truncate_range" has been applied, this can be applied.
 For now there is only a slight inefficiency while this remains unapplied,
but it will soon become essential for managing shmem's use of swap.

Change i915_gem_object_truncate() to use shmem_truncate_range() directly:
which should also spare i915 later change if we switch from
inode_operations-&gt;truncate_range to file_operations-&gt;fallocate.

Signed-off-by: Hugh Dickins &lt;hughd@google.com&gt;
Cc: Christoph Hellwig &lt;hch@infradead.org&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Keith Packard &lt;keithp@keithp.com&gt;
Cc: Dave Airlie &lt;airlied@redhat.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>drm/i915: use shmem_read_mapping_page</title>
<updated>2011-06-28T01:00:13Z</updated>
<author>
<name>Hugh Dickins</name>
<email>hughd@google.com</email>
</author>
<published>2011-06-27T23:18:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5949eac4d9b5bf936c12cb7ec3a09084c1326834'/>
<id>urn:sha1:5949eac4d9b5bf936c12cb7ec3a09084c1326834</id>
<content type='text'>
Soon tmpfs will stop supporting -&gt;readpage and read_cache_page_gfp(): once
"tmpfs: add shmem_read_mapping_page_gfp" has been applied, this patch can
be applied to ease the transition.

Make i915_gem_object_get_pages_gtt() use shmem_read_mapping_page_gfp() in
the one place it's needed; elsewhere use shmem_read_mapping_page(), with
the mapping's gfp_mask properly initialized.

Forget about __GFP_COLD: since tmpfs initializes its pages with memset,
asking for a cold page is counter-productive.

Include linux/shmem_fs.h also in drm_gem.c: with shmem_file_setup() now
declared there too, we shall remove the prototype from linux/mm.h later.

Signed-off-by: Hugh Dickins &lt;hughd@google.com&gt;
Cc: Christoph Hellwig &lt;hch@infradead.org&gt;
Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt;
Cc: Keith Packard &lt;keithp@keithp.com&gt;
Cc: Dave Airlie &lt;airlied@redhat.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>drm/ttm: use shmem_read_mapping_page</title>
<updated>2011-06-28T01:00:13Z</updated>
<author>
<name>Hugh Dickins</name>
<email>hughd@google.com</email>
</author>
<published>2011-06-27T23:18:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3142b651ad2232cf0e375c291ee4b893c8559df5'/>
<id>urn:sha1:3142b651ad2232cf0e375c291ee4b893c8559df5</id>
<content type='text'>
Soon tmpfs will stop supporting -&gt;readpage and read_mapping_page(): once
"tmpfs: add shmem_read_mapping_page_gfp" has been applied, this patch can
be applied to ease the transition.

ttm_tt_swapin() and ttm_tt_swapout() use shmem_read_mapping_page() in
place of read_mapping_page(), since their swap_space has been created with
shmem_file_setup().

Signed-off-by: Hugh Dickins &lt;hughd@google.com&gt;
Cc: Christoph Hellwig &lt;hch@infradead.org&gt;
Cc: Thomas Hellstrom &lt;thellstrom@vmware.com&gt;
Cc: Dave Airlie &lt;airlied@redhat.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>drivers/tty/serial/8250_pci.c: fix warning</title>
<updated>2011-06-28T01:00:13Z</updated>
<author>
<name>Andrew Morton</name>
<email>akpm@linux-foundation.org</email>
</author>
<published>2011-06-27T23:18:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a39bce7bf60e728cb33b6b0415c3f44e7f1a102b'/>
<id>urn:sha1:a39bce7bf60e728cb33b6b0415c3f44e7f1a102b</id>
<content type='text'>
Fis the warning

  drivers/tty/serial/8250_pci.c:1457: warning: initialization from incompatible pointer type

Cc: Greg KH &lt;greg@kroah.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>drivers/misc/ioc4.c: fix section mismatch / race condition</title>
<updated>2011-06-28T01:00:13Z</updated>
<author>
<name>Ralf Baechle</name>
<email>ralf@linux-mips.org</email>
</author>
<published>2011-06-27T23:18:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1fc6e987d8f606371337211f52ff74c6753298a6'/>
<id>urn:sha1:1fc6e987d8f606371337211f52ff74c6753298a6</id>
<content type='text'>
Fix this section mismatch:

  WARNING: drivers/misc/ioc4.o(.data+0x144): Section mismatch in reference from the variable ioc4_load_modules_work to the function .devinit.text:ioc4_load_modules()
  The variable ioc4_load_modules_work references
  the function __devinit ioc4_load_modules()
  If the reference is valid then annotate the
  variable with __init* or __refdata (see linux/init.h) or name the variable:
  *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

This one is potentially fatal; by the time ioc4_load_modules is invoked
it may already have been freed.  For that reason ioc4_load_modules_work
can't be turned to __devinitdata but also because it's referenced in
ioc4_exit.

Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Acked-by: Brent Casavant &lt;bcasavan@sgi.com&gt;
Cc: Tejun Heo &lt;tj@kernel.org&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>drivers/leds/leds-lp5523.c: fix section mismatches</title>
<updated>2011-06-28T01:00:13Z</updated>
<author>
<name>Ralf Baechle</name>
<email>ralf@linux-mips.org</email>
</author>
<published>2011-06-27T23:18:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=33721bd3d00e7a235f70ba4ec19eb64bcd060c0b'/>
<id>urn:sha1:33721bd3d00e7a235f70ba4ec19eb64bcd060c0b</id>
<content type='text'>
Fix this section mismatch:

  WARNING: drivers/leds/leds-lp5523.o(.text+0x12f4): Section mismatch in reference from the function lp5523_probe() to the function .init.text:lp5523_init_led()
  The function lp5523_probe() references
  the function __init lp5523_init_led().
  This is often because lp5523_probe lacks a __init
  annotation or the annotation of lp5523_init_led is wrong.

Fixing this one triggers one more mismatch, fix that one as well.

Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: Richard Purdie &lt;rpurdie@rpsys.net&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>drivers/leds/leds-lp5521.c: fix section mismatches</title>
<updated>2011-06-28T01:00:13Z</updated>
<author>
<name>Ralf Baechle</name>
<email>ralf@linux-mips.org</email>
</author>
<published>2011-06-27T23:18:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5286bd953645408634daa880d04c73dd18d0224a'/>
<id>urn:sha1:5286bd953645408634daa880d04c73dd18d0224a</id>
<content type='text'>
Fix this section mismatch:

  WARNING: drivers/leds/leds-lp5521.o(.text+0xf2c): Section mismatch in reference from the function lp5521_probe() to the function .init.text:lp5521_init_led()
  The function lp5521_probe() references
  the function __init lp5521_init_led().
  This is often because lp5521_probe lacks a __init
  annotation or the annotation of lp5521_init_led is wrong.

Fixing this mismatch triggers one more mismatch, fix that one as well.

Signed-off-by: Ralf Baechle &lt;ralf@linux-mips.org&gt;
Cc: Richard Purdie &lt;rpurdie@rpsys.net&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>memcg: fix direct softlimit reclaim to be called in limit path</title>
<updated>2011-06-28T01:00:13Z</updated>
<author>
<name>KAMEZAWA Hiroyuki</name>
<email>kamezawa.hiroyu@jp.fujitsu.com</email>
</author>
<published>2011-06-27T23:18:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ac34a1a3c39da0a1b9188d12a9ce85506364ed2a'/>
<id>urn:sha1:ac34a1a3c39da0a1b9188d12a9ce85506364ed2a</id>
<content type='text'>
Commit d149e3b25d7c ("memcg: add the soft_limit reclaim in global direct
reclaim") adds a softlimit hook to shrink_zones().  By this, soft limit
is called as

   try_to_free_pages()
       do_try_to_free_pages()
           shrink_zones()
               mem_cgroup_soft_limit_reclaim()

Then, direct reclaim is memcg softlimit hint aware, now.

But, the memory cgroup's "limit" path can call softlimit shrinker.

   try_to_free_mem_cgroup_pages()
       do_try_to_free_pages()
           shrink_zones()
               mem_cgroup_soft_limit_reclaim()

This will cause a global reclaim when a memcg hits limit.

This is bug. soft_limit_reclaim() should be called when
scanning_global_lru(sc) == true.

And the commit adds a variable "total_scanned" for counting softlimit
scanned pages....it's not "total".  This patch removes the variable and
update sc-&gt;nr_scanned instead of it.  This will affect shrink_slab()'s
scan condition but, global LRU is scanned by softlimit and I think this
change makes sense.

TODO: avoid too much scanning of a zone when softlimit did enough work.

Signed-off-by: KAMEZAWA Hiroyuki &lt;kamezawa.hiroyu@jp.fujitsu.com&gt;
Cc: Daisuke Nishimura &lt;nishimura@mxp.nes.nec.co.jp&gt;
Cc: Ying Han &lt;yinghan@google.com&gt;
Cc: Michal Hocko &lt;mhocko@suse.cz&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>
</feed>
