<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include, branch v2.6.30.1</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/include?h=v2.6.30.1</id>
<link rel='self' href='https://git.amat.us/linux/atom/include?h=v2.6.30.1'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2009-07-02T23:50:57Z</updated>
<entry>
<title>vmscan: count the number of times zone_reclaim() scans and fails</title>
<updated>2009-07-02T23:50:57Z</updated>
<author>
<name>Mel Gorman</name>
<email>mel@csn.ul.ie</email>
</author>
<published>2009-06-16T22:33:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cc2b6aacfc0e7a9288ed7ea518ff122454ccf7fb'/>
<id>urn:sha1:cc2b6aacfc0e7a9288ed7ea518ff122454ccf7fb</id>
<content type='text'>
commit 24cf72518c79cdcda486ed26074ff8151291cf65 upstream.

On NUMA machines, the administrator can configure zone_reclaim_mode that
is a more targetted form of direct reclaim.  On machines with large NUMA
distances for example, a zone_reclaim_mode defaults to 1 meaning that
clean unmapped pages will be reclaimed if the zone watermarks are not
being met.

There is a heuristic that determines if the scan is worthwhile but it is
possible that the heuristic will fail and the CPU gets tied up scanning
uselessly.  Detecting the situation requires some guesswork and
experimentation so this patch adds a counter "zreclaim_failed" to
/proc/vmstat.  If during high CPU utilisation this counter is increasing
rapidly, then the resolution to the problem may be to set
/proc/sys/vm/zone_reclaim_mode to 0.

[akpm@linux-foundation.org: name things consistently]
Signed-off-by: Mel Gorman &lt;mel@csn.ul.ie&gt;
Reviewed-by: Rik van Riel &lt;riel@redhat.com&gt;
Cc: Christoph Lameter &lt;cl@linux-foundation.org&gt;
Reviewed-by: KOSAKI Motohiro &lt;kosaki.motohiro@jp.fujitsu.com&gt;
Cc: Wu Fengguang &lt;fengguang.wu@intel.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>usb-serial: replace shutdown with disconnect, release</title>
<updated>2009-07-02T23:50:25Z</updated>
<author>
<name>Alan Stern</name>
<email>stern@rowland.harvard.edu</email>
</author>
<published>2009-06-30T15:26:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b6cd9d132aa5e2ef0abdd1d5171e45dad9aafc29'/>
<id>urn:sha1:b6cd9d132aa5e2ef0abdd1d5171e45dad9aafc29</id>
<content type='text'>
commit f9c99bb8b3a1ec81af68d484a551307326c2e933 upstream

This patch splits up the shutdown method of usb_serial_driver into a
disconnect and a release method.

The problem is that the usb-serial core was calling shutdown during
disconnect handling, but drivers didn't expect it to be called until
after all the open file references had been closed.  The result was an
oops when the close method tried to use memory that had been
deallocated by shutdown.

Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>IB/mlx4: Add strong ordering to local inval and fast reg work requests</title>
<updated>2009-07-02T23:50:05Z</updated>
<author>
<name>Jack Morgenstein</name>
<email>jackm@dev.mellanox.co.il</email>
</author>
<published>2009-06-05T17:36:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2d0e9cfe4c616d2a1e7e3d4774b6b6b807321977'/>
<id>urn:sha1:2d0e9cfe4c616d2a1e7e3d4774b6b6b807321977</id>
<content type='text'>
commit 2ac6bf4ddc87c3b6b609f8fa82f6ebbffeac12f4 upstream.

The ConnectX Programmer's Reference Manual states that the "SO" bit
must be set when posting Fast Register and Local Invalidate send work
requests.  When this bit is set, the work request will be executed
only after all previous work requests on the send queue have been
executed.  (If the bit is not set, Fast Register and Local Invalidate
WQEs may begin execution too early, which violates the defined
semantics for these operations)

This fixes the issue with NFS/RDMA reported in
&lt;http://lists.openfabrics.org/pipermail/general/2009-April/059253.html&gt;

Signed-off-by: Jack Morgenstein &lt;jackm@dev.mellanox.co.il&gt;
Signed-off-by: Roland Dreier &lt;rolandd@cisco.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>serial: refactor ASYNC_ flags</title>
<updated>2009-07-02T23:49:45Z</updated>
<author>
<name>Jiri Slaby</name>
<email>jirislaby@gmail.com</email>
</author>
<published>2009-06-11T11:39:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9a8fdcea16e11afb6fee02d403df5258c78f1581'/>
<id>urn:sha1:9a8fdcea16e11afb6fee02d403df5258c78f1581</id>
<content type='text'>
commit 70beaed22cbe12979e55d99b370e147e2e168562 upstream.

Define ASYNCB_* flags which are bit numbers of the ASYNC_* flags.
This is useful for {test,set,clear}_bit.

Also convert each ASYNC_% to be (1 &lt;&lt; ASYNCB_%) and define masks
with the macros, not constants.

Tested with:
#include "PATH_TO_KERNEL/include/linux/serial.h"
static struct {
        unsigned int new, old;
} as[] = {
        { ASYNC_HUP_NOTIFY, 0x0001 },
        { ASYNC_FOURPORT, 0x0002 },
...
	{ ASYNC_BOOT_ONLYMCA, 0x00400000 },
        { ASYNC_INTERNAL_FLAGS, 0xFFC00000 }
};
...
        for (a = 0; a &lt; ARRAY_SIZE(as); a++)
                if (as[a].old != as[a].new)
                        printf("%.8x != %.8x\n", as[a].old, as[a].new);

Signed-off-by: Jiri Slaby &lt;jirislaby@gmail.com&gt;
Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>x25: Fix sleep from timer on socket destroy.</title>
<updated>2009-07-02T23:49:43Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2009-06-16T12:40:30Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=29f84b1db493dd6062f29b92937466cc1a59440f'/>
<id>urn:sha1:29f84b1db493dd6062f29b92937466cc1a59440f</id>
<content type='text'>
[ Upstream commit 14ebaf81e13ce66bff275380b246796fd16cbfa1 ]

If socket destuction gets delayed to a timer, we try to
lock_sock() from that timer which won't work.

Use bh_lock_sock() in that case.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Tested-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>KVM: protect concurrent make_all_cpus_request</title>
<updated>2009-07-02T23:49:34Z</updated>
<author>
<name>Marcelo Tosatti</name>
<email>mtosatti@redhat.com</email>
</author>
<published>2009-06-17T13:53:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6aa8dd31fc0032e226b8a9cbe17f4e4a12fec9b9'/>
<id>urn:sha1:6aa8dd31fc0032e226b8a9cbe17f4e4a12fec9b9</id>
<content type='text'>
commit 84261923d3dddb766736023bead6fa07b7e218d5 upstream.

make_all_cpus_request contains a race condition which can
trigger false request completed status, as follows:

CPU0                                              CPU1

if (test_and_set_bit(req,&amp;vcpu-&gt;requests))
   ....                                        	   if (test_and_set_bit(req,&amp;vcpu-&gt;requests))
   ..                                                  return
proceed to smp_call_function_many(wait=1)

Use a spinlock to serialize concurrent CPUs.

Signed-off-by: Andrea Arcangeli &lt;aarcange@redhat.com&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>firmware_map: fix hang with x86/32bit</title>
<updated>2009-07-02T23:49:30Z</updated>
<author>
<name>Yinghai Lu</name>
<email>yinghai@kernel.org</email>
</author>
<published>2009-06-16T22:31:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7cceae83c14ed46837366e27ff7979af48130188'/>
<id>urn:sha1:7cceae83c14ed46837366e27ff7979af48130188</id>
<content type='text'>
commit 3b0fde0fac19c180317eb0601b3504083f4b9bf5 upstream.

Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13484

Peer reported:
| The bug is introduced from kernel 2.6.27, if E820 table reserve the memory
| above 4G in 32bit OS(BIOS-e820: 00000000fff80000 - 0000000120000000
| (reserved)), system will report Int 6 error and hang up. The bug is caused by
| the following code in drivers/firmware/memmap.c, the resource_size_t is 32bit
| variable in 32bit OS, the BUG_ON() will be invoked to result in the Int 6
| error. I try the latest 32bit Ubuntu and Fedora distributions, all hit this
| bug.
|======
|static int firmware_map_add_entry(resource_size_t start, resource_size_t end,
|                  const char *type,
|                  struct firmware_map_entry *entry)

and it only happen with CONFIG_PHYS_ADDR_T_64BIT is not set.

it turns out we need to pass u64 instead of resource_size_t for that.

[akpm@linux-foundation.org: add comment]
Reported-and-tested-by: Peer Chen &lt;pchen@nvidia.com&gt;
Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Acked-by: H. Peter Anvin &lt;hpa@zytor.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>cpumask: introduce zalloc_cpumask_var</title>
<updated>2009-06-09T13:00:26Z</updated>
<author>
<name>Yinghai Lu</name>
<email>yinghai@kernel.org</email>
</author>
<published>2009-06-06T21:50:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0281b5dc0350cbf6dd21ed558a33cccce77abc02'/>
<id>urn:sha1:0281b5dc0350cbf6dd21ed558a33cccce77abc02</id>
<content type='text'>
So can get cpumask_var with cpumask_clear

Signed-off-by: Yinghai Lu &lt;yinghai@kernel.org&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</content>
</entry>
<entry>
<title>Merge master.kernel.org:/home/rmk/linux-2.6-arm</title>
<updated>2009-06-08T15:29:31Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2009-06-08T15:29:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6025974bab1c3da8662df79bdeb694588bc3eb93'/>
<id>urn:sha1:6025974bab1c3da8662df79bdeb694588bc3eb93</id>
<content type='text'>
* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 5543/1: arm: serial amba: add missing declaration in serial.h
  [ARM] pxa: fix pxa27x_udc default pullup GPIO
  [ARM] pxa/imote2: fix UCAM sensor board ADC model number
  mx[23]: don't put clock lookups in __initdata
  fix oops when using console=ttymxcN with N &gt; 0
  [ARM] ARMv7 errata: only apply fixes when running on applicable CPU
  [ARM] 5534/1: kmalloc must return a cache line aligned buffer
</content>
</entry>
<entry>
<title>[ARM] 5543/1: arm: serial amba: add missing declaration in serial.h</title>
<updated>2009-06-07T15:19:47Z</updated>
<author>
<name>Alessandro Rubini</name>
<email>rubini@gnudd.com</email>
</author>
<published>2009-06-06T09:17:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aa853f85d9ed593672d0f24a98c72a2518cb63e6'/>
<id>urn:sha1:aa853f85d9ed593672d0f24a98c72a2518cb63e6</id>
<content type='text'>
This header is sometimes included in the uncompress stage to get
register values, but no &lt;linux/amba/bus.h&gt; can be included there.
So declare "struct amba_device" here before using it in a prototype.

Signed-off-by: Alessandro Rubini &lt;rubini@unipv.it&gt;
Acked-by: Andrea Gallo &lt;andrea.gallo@stericsson.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
</feed>
