<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>Serverphorums.com</title>
        <description>Your source for root discussions!</description>
        <link>http://www.serverphorums.com/index.php</link>
        <lastBuildDate>Sun, 20 May 2012 03:44:22 +0200</lastBuildDate>
        <generator>Phorum 5.2.18</generator>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,498288,499534#msg-499534</guid>
            <title>Re: [PATCH 08/10] Use __kernel_ulong_t in struct msqid64_ds</title>
            <link>http://www.serverphorums.com/read.php?12,498288,499534#msg-499534</link>
            <description><![CDATA[ On Sat, May 19, 2012 at 4:47 PM, H. Peter Anvin &lt;hpa@zytor.com&gt; wrote:<br />
&gt; On 05/18/2012 02:21 PM, Arnd Bergmann wrote:<br />
&gt;&gt; On Friday 18 May 2012, H.J. Lu wrote:<br />
&gt;&gt;&gt; Since x32 uses the same kernel interface as x86-64 with a few<br />
&gt;&gt;&gt; exceptions.  The current kernel header files with<br />
&gt;&gt;&gt;<br />
&gt;&gt;&gt; #ifdef __x86_64__<br />
&gt;&gt;&gt; # define __BITS_PER_LONG 64<br />
&gt;&gt;&gt; #else<br />
&gt;&gt;&gt; # define __BITS_PER_LONG 32<br />
&gt;&gt;&gt; #endif<br />
&gt;&gt;&gt;<br />
&gt;&gt;&gt; #if __BITS_PER_LONG == 64<br />
&gt;&gt;&gt; Define x86-64 types<br />
&gt;&gt;&gt; #endif<br />
&gt;&gt;&gt;<br />
&gt;&gt;&gt; work fine for x32 even if long for x32 is 32 bits.  If __BITS_PER_LONG<br />
&gt;&gt;&gt; is changed to 32 for x32, many types in kernel header files will be<br />
&gt;&gt;&gt; wrong for x32.<br />
&gt;&gt;&gt;<br />
&gt;&gt;<br />
&gt;&gt; A lot of things are broken if __BITS_PER_LONG is set to 64 in x32 user<br />
&gt;&gt; space. It was specifically introduced to get around places in exported<br />
&gt;&gt; headers that incorrectly used '#ifdef CONFIG_64BIT' to define a user<br />
&gt;&gt; space structure, so that we can depend on whatever the user sees<br />
&gt;&gt; in bitmasks and other data structures.<br />
&gt;&gt;<br />
&gt;<br />
&gt; I'm not entirely sure I follow the above statement, as it seems<br />
&gt; contradict itself.  Either way, I would agree, __BITS_PER_LONG should be<br />
&gt; 32 in x32 space and if there are places where that is wrong then we need<br />
&gt; to fix them.<br />
&gt;<br />
&gt; Fortunately x32 is littleendian, so no &quot;littleendian bitmask on a<br />
&gt; bigendian architecture&quot; drain bamage...<br />
&gt;<br />
<br />
If __BITS_PER_LONG is set to 32 for x32, we need to audit all<br />
exported kernel headers where __BITS_PER_LONG is checked.<br />
If long is used in those places, it has to be updated for x32.<br />
<br />
-- <br />
H.J.<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>H.J. Lu</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 03:40:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499533,499533#msg-499533</guid>
            <title>[PATCH] x86/mce: Fix check for processor context when machine check was taken.</title>
            <link>http://www.serverphorums.com/read.php?12,499533,499533#msg-499533</link>
            <description><![CDATA[ Linus pointed out that checking &quot;m-&gt;ip&quot; was incorrect as &quot;0&quot; is<br />
a legitimate value.  Also we need to consider that we may have<br />
interrupted VM86 execution (in which case &quot;CS&quot; isn't any use in<br />
determining user/kernel).<br />
<br />
Reported-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;<br />
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;<br />
---<br />
In case you are unable to sleep at night worrying about those<br />
poor systems that don't recover because they do the wrong thing<br />
if there is a VM86 process running, or some malicious user has<br />
a &quot;jmp 0&quot; at the base of a code segment.<br />
<br />
Mea culpa: Andi fixed the VM86 part of this a year and<br />
a half ago, and I failed to pick up the fix from his tree<br />
when I took over. There are some other bits I need to pick<br />
up too.<br />
<br />
 arch/x86/kernel/cpu/mcheck/mce-severity.c |   11 +++++------<br />
 arch/x86/kernel/cpu/mcheck/mce.c          |    2 ++<br />
 2 files changed, 7 insertions(+), 6 deletions(-)<br />
<br />
diff --git a/arch/x86/kernel/cpu/mcheck/mce-severity.c b/arch/x86/kernel/cpu/mcheck/mce-severity.c<br />
index 0c82091..5dfb77a 100644<br />
--- a/arch/x86/kernel/cpu/mcheck/mce-severity.c<br />
+++ b/arch/x86/kernel/cpu/mcheck/mce-severity.c<br />
@@ -165,15 +165,14 @@ static struct severity {<br />
 };<br />
 <br />
 /*<br />
- * If the EIPV bit is set, it means the saved IP is the<br />
- * instruction which caused the MCE.<br />
+ * No need to re-check mcgstatus here. We either found a<br />
+ * good value for &quot;cs&quot; on the stack earlier (or faked one<br />
+ * for the VM86 case) - or we didn't and &quot;m-&gt;cs&quot; will be<br />
+ * zero which we will treat conservatively as &quot;IN_KERNEL&quot;.<br />
  */<br />
 static int error_context(struct mce *m)<br />
 {<br />
-	if (m-&gt;mcgstatus &amp; MCG_STATUS_EIPV)<br />
-		return (m-&gt;ip &amp;&amp; (m-&gt;cs &amp; 3) == 3) ? IN_USER : IN_KERNEL;<br />
-	/* Unknown, assume kernel */<br />
-	return IN_KERNEL;<br />
+	return ((m-&gt;cs &amp; 3) == 3) ? IN_USER : IN_KERNEL;<br />
 }<br />
 <br />
 int mce_severity(struct mce *m, int tolerant, char **msg)<br />
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c<br />
index 11c9166..a2d53f3 100644<br />
--- a/arch/x86/kernel/cpu/mcheck/mce.c<br />
+++ b/arch/x86/kernel/cpu/mcheck/mce.c<br />
@@ -437,6 +437,8 @@ static inline void mce_gather_info(struct mce *m, struct pt_regs *regs)<br />
 		if (m-&gt;mcgstatus &amp; (MCG_STATUS_RIPV|MCG_STATUS_EIPV)) {<br />
 			m-&gt;ip = regs-&gt;ip;<br />
 			m-&gt;cs = regs-&gt;cs;<br />
+			if (v8086_mode(regs))<br />
+				m-&gt;cs |= 3; /* fake user mode for VM86 */<br />
 		}<br />
 		/* Use accurate RIP reporting if available. */<br />
 		if (rip_msr)<br />
-- <br />
1.7.9.5<br />
<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Tony Luck</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 03:30:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499532,499532#msg-499532</guid>
            <title>[PATCH] net/ipv4: replace simple_strtoul with kstrtoul</title>
            <link>http://www.serverphorums.com/read.php?12,499532,499532#msg-499532</link>
            <description><![CDATA[ Replace simple_strtoul with kstrtoul in three similar occurrences, all setup<br />
handlers:<br />
* route.c: set_rhash_entries<br />
* tcp.c: set_thash_entries<br />
* udp.c: set_uhash_entries<br />
<br />
Also check if the conversion failed.<br />
<br />
Signed-off-by: Eldad Zack &lt;eldad@fogrefinery.com&gt;<br />
---<br />
 net/ipv4/route.c |    8 +++++++-<br />
 net/ipv4/tcp.c   |    8 +++++++-<br />
 net/ipv4/udp.c   |    8 +++++++-<br />
 3 files changed, 21 insertions(+), 3 deletions(-)<br />
<br />
diff --git a/net/ipv4/route.c b/net/ipv4/route.c<br />
index 167ea10..84d1832 100644<br />
--- a/net/ipv4/route.c<br />
+++ b/net/ipv4/route.c<br />
@@ -3430,9 +3430,15 @@ struct ip_rt_acct __percpu *ip_rt_acct __read_mostly;<br />
 static __initdata unsigned long rhash_entries;<br />
 static int __init set_rhash_entries(char *str)<br />
 {<br />
+	ssize_t ret;<br />
+<br />
 	if (!str)<br />
 		return 0;<br />
-	rhash_entries = simple_strtoul(str, &amp;str, 0);<br />
+<br />
+	ret = kstrtoul(str, 0, &amp;rhash_entries);<br />
+	if (ret)<br />
+		return 0;<br />
+<br />
 	return 1;<br />
 }<br />
 __setup(&quot;rhash_entries=&quot;, set_rhash_entries);<br />
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c<br />
index 6589e11..6ed0552 100644<br />
--- a/net/ipv4/tcp.c<br />
+++ b/net/ipv4/tcp.c<br />
@@ -3222,9 +3222,15 @@ extern struct tcp_congestion_ops tcp_reno;<br />
 static __initdata unsigned long thash_entries;<br />
 static int __init set_thash_entries(char *str)<br />
 {<br />
+	ssize_t ret;<br />
+<br />
 	if (!str)<br />
 		return 0;<br />
-	thash_entries = simple_strtoul(str, &amp;str, 0);<br />
+<br />
+	ret = kstrtoul(str, 0, &amp;thash_entries);<br />
+	if (ret)<br />
+		return 0;<br />
+<br />
 	return 1;<br />
 }<br />
 __setup(&quot;thash_entries=&quot;, set_thash_entries);<br />
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c<br />
index fe14105..662836a 100644<br />
--- a/net/ipv4/udp.c<br />
+++ b/net/ipv4/udp.c<br />
@@ -2163,9 +2163,15 @@ void udp4_proc_exit(void)<br />
 static __initdata unsigned long uhash_entries;<br />
 static int __init set_uhash_entries(char *str)<br />
 {<br />
+	ssize_t ret;<br />
+<br />
 	if (!str)<br />
 		return 0;<br />
-	uhash_entries = simple_strtoul(str, &amp;str, 0);<br />
+<br />
+	ret = kstrtoul(str, 0, &amp;uhash_entries);<br />
+	if (ret)<br />
+		return 0;<br />
+<br />
 	if (uhash_entries &amp;&amp; uhash_entries &lt; UDP_HTABLE_SIZE_MIN)<br />
 		uhash_entries = UDP_HTABLE_SIZE_MIN;<br />
 	return 1;<br />
-- <br />
1.7.10<br />
<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Eldad Zack</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 02:20:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499531,499531#msg-499531</guid>
            <title>[PATCH] net/ipv4/ipconfig: neaten __setup placement</title>
            <link>http://www.serverphorums.com/read.php?12,499531,499531#msg-499531</link>
            <description><![CDATA[ The __setup macro should follow the corresponding setup handler.<br />
<br />
Signed-off-by: Eldad Zack &lt;eldad@fogrefinery.com&gt;<br />
---<br />
 net/ipv4/ipconfig.c |    5 ++---<br />
 1 file changed, 2 insertions(+), 3 deletions(-)<br />
<br />
diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c<br />
index 92ac7e7..1d8076a 100644<br />
--- a/net/ipv4/ipconfig.c<br />
+++ b/net/ipv4/ipconfig.c<br />
@@ -1626,11 +1626,13 @@ static int __init ip_auto_config_setup(char *addrs)<br />
 <br />
 	return 1;<br />
 }<br />
+__setup(&quot;ip=&quot;, ip_auto_config_setup);<br />
 <br />
 static int __init nfsaddrs_config_setup(char *addrs)<br />
 {<br />
 	return ip_auto_config_setup(addrs);<br />
 }<br />
+__setup(&quot;nfsaddrs=&quot;, nfsaddrs_config_setup);<br />
 <br />
 static int __init vendor_class_identifier_setup(char *addrs)<br />
 {<br />
@@ -1641,7 +1643,4 @@ static int __init vendor_class_identifier_setup(char *addrs)<br />
 			vendor_class_identifier);<br />
 	return 1;<br />
 }<br />
-<br />
-__setup(&quot;ip=&quot;, ip_auto_config_setup);<br />
-__setup(&quot;nfsaddrs=&quot;, nfsaddrs_config_setup);<br />
 __setup(&quot;dhcpclass=&quot;, vendor_class_identifier_setup);<br />
-- <br />
1.7.10<br />
<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Eldad Zack</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 02:10:02 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?5,499530,499530#msg-499530</guid>
            <title>AJAX Uploader with Nginx, Not Catching Files</title>
            <link>http://www.serverphorums.com/read.php?5,499530,499530#msg-499530</link>
            <description><![CDATA[ Has anyone set up nginx to work with an AJAX uploader like this one<br />
before? <a href="http://valums.com/ajax-upload/" target="_blank"  rel="nofollow">http://valums.com/ajax-upload/</a><br />
<br />
Passing the upload through to my Tornado server works fine, but I want<br />
nginx to handle the file before it gets that far.  I have nginx set up<br />
to intercept regular file posts from our pre-AJAX page with<br />
&quot;upload_pass&quot; and &quot;upload_store,&quot; but now with the file in the body of<br />
an XHR request, nginx doesn't treat it as a file for things like<br />
&quot;upload_store.&quot;<br />
<br />
Also, my AJAX page gets back a 415 error when trying to send the file. <br />
I'm using the script for image uploads if that makes a difference.<br />
<br />
I was thinking I might be able to save a log of the request as the image<br />
file, but that seems like too much of a hack.<br />
<br />
Any help appreciated,<br />
Zach<br />
<br />
Posted at Nginx Forum: <a href="http://forum.nginx.org/read.php?2,226657,226657#msg-226657" target="_blank"  rel="nofollow">http://forum.nginx.org/read.php?2,226657,226657#msg-226657</a><br />
<br />
_______________________________________________<br />
nginx mailing list<br />
<a href="mailto:&#110;&#103;&#105;&#110;&#120;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#111;&#114;&#103;">&#110;&#103;&#105;&#110;&#120;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#111;&#114;&#103;</a><br />
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank"  rel="nofollow">http://mailman.nginx.org/mailman/listinfo/nginx</a>]]></description>
            <dc:creator>ztaylor4</dc:creator>
            <category>Nginx</category>
            <pubDate>Sun, 20 May 2012 01:50:02 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,498288,499529#msg-499529</guid>
            <title>Re: [PATCH 08/10] Use __kernel_ulong_t in struct msqid64_ds</title>
            <link>http://www.serverphorums.com/read.php?12,498288,499529#msg-499529</link>
            <description><![CDATA[ On 05/18/2012 02:21 PM, Arnd Bergmann wrote:<br />
&gt; On Friday 18 May 2012, H.J. Lu wrote:<br />
&gt;&gt; Since x32 uses the same kernel interface as x86-64 with a few<br />
&gt;&gt; exceptions.  The current kernel header files with<br />
&gt;&gt;<br />
&gt;&gt; #ifdef __x86_64__<br />
&gt;&gt; # define __BITS_PER_LONG 64<br />
&gt;&gt; #else<br />
&gt;&gt; # define __BITS_PER_LONG 32<br />
&gt;&gt; #endif<br />
&gt;&gt;<br />
&gt;&gt; #if __BITS_PER_LONG == 64<br />
&gt;&gt; Define x86-64 types<br />
&gt;&gt; #endif<br />
&gt;&gt;<br />
&gt;&gt; work fine for x32 even if long for x32 is 32 bits.  If __BITS_PER_LONG<br />
&gt;&gt; is changed to 32 for x32, many types in kernel header files will be<br />
&gt;&gt; wrong for x32.<br />
&gt;&gt;<br />
&gt; <br />
&gt; A lot of things are broken if __BITS_PER_LONG is set to 64 in x32 user<br />
&gt; space. It was specifically introduced to get around places in exported<br />
&gt; headers that incorrectly used '#ifdef CONFIG_64BIT' to define a user<br />
&gt; space structure, so that we can depend on whatever the user sees<br />
&gt; in bitmasks and other data structures.<br />
&gt; <br />
<br />
I'm not entirely sure I follow the above statement, as it seems<br />
contradict itself.  Either way, I would agree, __BITS_PER_LONG should be<br />
32 in x32 space and if there are places where that is wrong then we need<br />
to fix them.<br />
<br />
Fortunately x32 is littleendian, so no &quot;littleendian bitmask on a<br />
bigendian architecture&quot; drain bamage...<br />
<br />
	-hpa<br />
<br />
<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>H. Peter Anvin</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 01:50:02 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,494636,499528#msg-499528</guid>
            <title>Re: Plumbers: Tweaking scheduler policy micro-conf RFP</title>
            <link>http://www.serverphorums.com/read.php?12,494636,499528#msg-499528</link>
            <description><![CDATA[ On Sat, 2012-05-19 at 10:08 -0700, Linus Torvalds wrote:<br />
&gt; And I<br />
&gt; *do* know that the real world simply isn't simple enough that we could<br />
&gt; ever do a perfect job, so don't even try - instead aim for<br />
&gt; &quot;understandable, maintainable, and gets the main issues roughly<br />
&gt; right&quot;. <br />
<br />
I think we're in violent agreement on many points and most of this is<br />
based on a mis-understanding. I've argued for exactly this many times.<br />
<br />
<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Peter Zijlstra</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 01:30:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499432,499527#msg-499527</guid>
            <title>Re: [PATCH] regulator: core: use correct device for device supply lookup</title>
            <link>http://www.serverphorums.com/read.php?12,499432,499527#msg-499527</link>
            <description><![CDATA[ On Sun, May 20, 2012 at 02:43:18AM +0530, Laxman Dewangan wrote:<br />
<br />
&gt; For mapping, the node should start from &quot;regulators&quot;, not from pmu<br />
&gt; on this example.<br />
<br />
What makes you say this?  I'm really not even sure what it means.<br />
How does a node &quot;start&quot; from something?  Supply mappings are direct<br />
links between consumers and regulators.<br />
<br />
&gt; Here my understanding is that config-&gt;of_node should contain the<br />
&gt; node information of the regulator being registered only. In DT case,<br />
&gt; it should not be null.<br />
<br />
Right, but this is unrelated to what we're doing when the regulator is a<br />
consumer.  Then we just do the same thing as regulator_get(dev, name).<br />
<br />
&gt; &gt;I still don't see any change needed here, from the above it simply looks<br />
&gt; &gt;like the supplies aren't set up.<br />
<br />
&gt; Unfortunately,<br />
&gt; My regulator_get is failing if I dont correct the above logic to<br />
&gt; have proper config.of_node.<br />
<br />
But this seems like it is unrelated to the patch we're discussing!  Your<br />
patch does nothing to config.of_node, it changes the device used to look<br />
up the supply.  To repeat yet again:<br />
<br />
| context of the class device we create.  I can't think of any situation<br />
| where I'd expect that to make matters any better - the class device<br />
| should certainly never appear in the device tree and isn't going to have<br />
| a stable name for non-DT systems either.<br />
<br />
*Please* engage with this, especially the non-DT part.  You need to<br />
explain how what you're saying is related to the patch you posted, you<br />
keep talking about a &quot;proper&quot; config.of_node and saying this happens to<br />
make your system work but this isn't visibily related to the patch you<br />
posted.<br />
<br />
What is not &quot;proper&quot; about the of_node that was supplied for the<br />
regulator being registered?  In what way is this related to the device<br />
used by the regulator functioning as a consumer to request a supply?]]></description>
            <dc:creator>Mark Brown</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 01:20:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,494636,499526#msg-499526</guid>
            <title>Re: Plumbers: Tweaking scheduler policy micro-conf RFP</title>
            <link>http://www.serverphorums.com/read.php?12,494636,499526#msg-499526</link>
            <description><![CDATA[ On Sat, 2012-05-19 at 10:08 -0700, Linus Torvalds wrote:<br />
&gt; Don't try to build up some perfect NUMA topology and then<br />
&gt; try to see how insanely well you can match a particular machine. Make<br />
&gt; some generic &quot;roughly like this&quot; topology with (say) four three of<br />
&gt; NUMAness, and then have architectures say &quot;this is roughly what my<br />
&gt; machine looks like&quot;.<br />
<br />
&gt; In particular, don't even try to give random &quot;weights&quot; to how close<br />
&gt; things are to each other. Sure, you can parse (and generate) those<br />
&gt; complex NUMA tables, but nobody is *ever* smart enough to really use<br />
&gt; them. Once you move data between boards/nodes, screw the number of<br />
&gt; hops. You are NOT going to get some scheduling decision right that<br />
&gt; says &quot;node X is closer to node Y than to node Z&quot;. Especially since the<br />
&gt; load is invariably going to access non-node memory too *anyway*. <br />
<br />
I suspect this is related to the patch I recently did that creates numa<br />
levels from the node_distance() table.<br />
<br />
The fact is, that patch removed arch specific code. And yes initially I<br />
tried to use the weights for more than simply creating the balance<br />
levels but I've already realized that was a mistake and removed that<br />
part.<br />
<br />
So currently all it does is create load-balance levels based on how far<br />
apart nodes are said to be and decrease the balance rate roughly<br />
proportional to how many cpus are in each level.<br />
<br />
The node_distance() table is mostly already a fabrication of the<br />
arch/firmware; some people do exactly what you suggested, expose simple<br />
groups of board vs rest and not bother with fine details.<br />
<br />
I used the node_distance() table simply because this was an existing<br />
arch interface that provides exactly what was needed and is used for<br />
exactly this purpose in the mm/ part of the kernel as well.<br />
<br />
<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Peter Zijlstra</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 01:20:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,494636,499525#msg-499525</guid>
            <title>Re: Plumbers: Tweaking scheduler policy micro-conf RFP</title>
            <link>http://www.serverphorums.com/read.php?12,494636,499525#msg-499525</link>
            <description><![CDATA[ On Sat, 2012-05-19 at 10:08 -0700, Linus Torvalds wrote:<br />
<br />
&gt; Ingo, please don't take any of these patches if they are starting to<br />
&gt; make NUMA scheduling be some arch-specific crap.<br />
<br />
I think there's a big mis-understanding here. I fully 100% agree with<br />
you on that. And this thread in particular isn't about NUMA at all.<br />
<br />
This thread is about modifying the arch interface of describing the<br />
chip.<br />
<br />
The current interface is we have 4 fixed topology domains:<br />
<br />
 SMT<br />
 MC<br />
 BOOK<br />
 CPU<br />
<br />
(and the NUMA stuff comes on top of that and I just removed arch bits<br />
from that, so lets leave that for now).<br />
<br />
The first 3 domains depend on CONFIG_SCHED_{SMT,MC,BOOK} resp. and if an<br />
architecture select one of those it will have to provide a function<br />
cpu_{smt,coregroup,book}_mask and optionally put a struct sched_domain<br />
initializer in their asm/topology.h.<br />
<br />
Now I've had quite a few complaints from arch maintainers that the<br />
sched_domain initializer is a far too unwieldy interface to fill out and<br />
I quite agree with them.<br />
<br />
Now all I've meant to propose in this thread is to replace the entire<br />
above with a simpler interface.<br />
<br />
Instead of the above all I'm asking of doing is providing something<br />
along the lines of:<br />
<br />
struct sched_topology arch_topology[] = {<br />
	{ cpu_smt_mask, ST_SMT },<br />
	{ cpu_llc_mask, ST_CACHE },<br />
	{ cpu_socket_mask, ST_SOCKET },<br />
	{ NULL, },<br />
};<br />
<br />
and that's just about all an arch would need to do.<br />
<br />
That said, there are a few new things in ARM land like the big-little<br />
stuff that have no direct relation to anything on the x86 side. And they<br />
would very much like to have means of describing their chip topology as<br />
well.<br />
<br />
<br />
About power aware scheduling, yes its all a big mess and the current<br />
stuff is horrid and broken.<br />
<br />
That said, I do believe we can do better than nothing about it, and I'm<br />
really not asking for anything perfect -- in fact I'm asking for pretty<br />
much the same thing you are, something simple and understandable.<br />
<br />
The simple pack stuff on a minimum amount of power-gated units instead<br />
of spreading it out should get some benefit. For this we'd need to know<br />
at what granularity a chip can power-gate.<br />
<br />
&gt; I'm very very serious about this. Try to make the scheduler have a<br />
&gt; *simple* model that people can actually understand. For example, maybe<br />
&gt; it can literally be a multi-level balancing thing, where the per-cpu<br />
&gt; runqueues are grouped into a &quot;shared core resources&quot; balancer that<br />
&gt; balances within the SMT or shared-L2 domain. And then there's an<br />
&gt; upper-level balancer (that runs much more seldom) that is written to<br />
&gt; balances within the socket. And then one that balances within the<br />
&gt; node/board. And finally one that balances across boards.<br />
<br />
That is basically how the scheduler is set up. These are the<br />
sched_domains.<br />
<br />
There is an awful lot of complexity in that code though, and I've been<br />
trying to clean some of that up but its very slow going.<br />
<br />
The purpose of this thread is to both simplify and allow people to more<br />
easily express what they really care about. For this we need to explore<br />
the problem space.<br />
<br />
I know I haven't replied to all your points, and I suspect many are<br />
related to annoyances you might have from other threads and I shall<br />
attempt to answer them later.<br />
<br />
I do feel bad that I've managed to annoy you to such a degree though. I<br />
really would rather have a much simpler load-balancer too.<br />
<br />
<br />
<br />
<br />
<br />
<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Peter Zijlstra</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 01:00:03 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499441,499524#msg-499524</guid>
            <title>Re: [PATCH] USB CDC-Ether - Add ZTE WWAN matches before generic Ethernet</title>
            <link>http://www.serverphorums.com/read.php?12,499441,499524#msg-499524</link>
            <description><![CDATA[ From: Andrew Bird &lt;ajb@spheresystems.co.uk&gt;<br />
Date: Sat, 19 May 2012 14:56:07 +0100<br />
<br />
&gt; Some ZTE WWAN devices have generic CDC Ether descriptors. Add those<br />
&gt; into the whitelist so that we get FLAG_WWAN on the interface<br />
&gt; <br />
&gt; Signed-off-by: Andrew Bird &lt;ajb@spheresystems.co.uk&gt;<br />
<br />
Applied.<br />
<br />
But I changed the Subject line to have a more appropriate prefix,<br />
namely &quot;net: cdc_ether: &quot;<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>David Miller</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 00:50:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499415,499523#msg-499523</guid>
            <title>Re: [PATCH] irq_domain: Standardise legacy/linear domain selection</title>
            <link>http://www.serverphorums.com/read.php?12,499415,499523#msg-499523</link>
            <description><![CDATA[ On Sat, May 19, 2012 at 02:59:51PM -0600, Grant Likely wrote:<br />
<br />
&gt; It will actually be like all legacy users switched to creating an<br />
&gt; linear mapping, and then either associating already allocated<br />
&gt; irq_descs with that domain or telling the domain to pre-map a specific<br />
&gt; range of irq_descs (and manage allocations).  Those two use cases will<br />
&gt; be separate APIs.  I don't think they should be combined (at least<br />
&gt; from my current thinking) because it depends on whether or not the<br />
&gt; irq_descs are already allocated.<br />
<br />
Hrm.  Given that the target for this API is drivers that mostly don't<br />
care and are only supporting the current linear mappings in order to<br />
allow their GPIOs to be used with generic drivers that only want an IRQ<br />
I'd expect we'll wind up with a similar helper somehow.  Copying a<br />
number around for irq_start isn't much hassle for individual drivers but<br />
having to worry about more than that seems like too much effort, they<br />
shouldn't have to care about the management of irq_descs.  It'd be more<br />
work and it'd make it more painful for platforms to change between the<br />
preallocated and dynamic models.]]></description>
            <dc:creator>Mark Brown</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 00:50:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499412,499522#msg-499522</guid>
            <title>Re: [PATCH 1/1] net:ipv6:fixed space issues relating to operators.</title>
            <link>http://www.serverphorums.com/read.php?12,499412,499522#msg-499522</link>
            <description><![CDATA[ From: Jeffrin Jose &lt;ahiliation@yahoo.co.in&gt;<br />
Date: Sat, 19 May 2012 17:29:04 +0530<br />
<br />
&gt; Fixed space issues relating to operators found by<br />
&gt; checkpatch.pl tool in net/ipv6/udp.c<br />
&gt; <br />
&gt; Signed-off-by: Jeffrin Jose &lt;ahiliation@yahoo.co.in&gt;<br />
<br />
Applied.<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>David Miller</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 00:40:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499410,499521#msg-499521</guid>
            <title>Re: [PATCH 1/1] net:ipv6:fixed a trailing white space issue.</title>
            <link>http://www.serverphorums.com/read.php?12,499410,499521#msg-499521</link>
            <description><![CDATA[ From: Jeffrin Jose &lt;ahiliation@yahoo.co.in&gt;<br />
Date: Sat, 19 May 2012 17:15:21 +0530<br />
<br />
&gt; Fixed a trailing white space issue found by<br />
&gt; checkpatch.pl tool in net/ipv6/udp.c<br />
&gt; <br />
&gt; Signed-off-by: Jeffrin Jose &lt;ahiliation@yahoo.co.in&gt;<br />
<br />
Applied.<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>David Miller</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 00:40:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499520,499520#msg-499520</guid>
            <title>[-next] DRM_CIRRUS_QEMU breaks build</title>
            <link>http://www.serverphorums.com/read.php?12,499520,499520#msg-499520</link>
            <description><![CDATA[ Hi,<br />
<br />
when that option is selected to be Y, I'm getting linking errors like:<br />
    (.text+0xefd8d): undefined reference to `ttm_tt_init'<br />
    drivers/built-in.o: In function `cirrus_mm_init':<br />
and many others, like undefined sys_fillrect.<br />
<br />
You perhaps have a patch on your queue already and I need not to turn<br />
this into a patch, right :):<br />
<br />
--- a/drivers/gpu/drm/cirrus/Kconfig<br />
+++ b/drivers/gpu/drm/cirrus/Kconfig<br />
@@ -1,10 +1,11 @@<br />
 config DRM_CIRRUS_QEMU<br />
        tristate &quot;Cirrus driver for QEMU emulated device&quot;<br />
        depends on DRM &amp;&amp; PCI &amp;&amp; EXPERIMENTAL<br />
-       select FB_CFB_FILLRECT<br />
-       select FB_CFB_COPYAREA<br />
-       select FB_CFB_IMAGEBLIT<br />
+       select FB_SYS_FILLRECT<br />
+       select FB_SYS_COPYAREA<br />
+       select FB_SYS_IMAGEBLIT<br />
        select DRM_KMS_HELPER<br />
+       select DRM_TTM<br />
        help<br />
         This is a KMS driver for emulated cirrus device in qemu.<br />
         It is *NOT* intended for real cirrus devices. This requires<br />
<br />
regards,<br />
-- <br />
js<br />
suse labs<br />
<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Jiri Slaby</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 00:30:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,496515,499519#msg-499519</guid>
            <title>Re: NVM Mapping API</title>
            <link>http://www.serverphorums.com/read.php?12,496515,499519#msg-499519</link>
            <description><![CDATA[ On We, May 16, 2012 at 21:58, Christian Stroetmann wrote:<br />
&gt; On We, May 16, 2012 at 19:35,  Matthew Wilcox wrote:<br />
&gt;&gt; On Wed, May 16, 2012 at 10:52:00AM +0100, James Bottomley wrote:<br />
&gt;&gt;&gt; On Tue, 2012-05-15 at 09:34 -0400, Matthew Wilcox wrote:<br />
&gt;&gt;&gt;&gt; There are a number of interesting non-volatile memory (NVM) <br />
&gt;&gt;&gt;&gt; technologies<br />
&gt;&gt;&gt;&gt; being developed.  Some of them promise DRAM-comparable latencies and<br />
&gt;&gt;&gt;&gt; bandwidths.  At Intel, we've been thinking about various ways to <br />
&gt;&gt;&gt;&gt; present<br />
&gt;&gt;&gt;&gt; those to software.  This is a first draft of an API that supports the<br />
&gt;&gt;&gt;&gt; operations we see as necessary.  Patches can follow easily enough once<br />
&gt;&gt;&gt;&gt; we've settled on an API.<br />
&gt;&gt;&gt; If we start from first principles, does this mean it's usable as DRAM?<br />
&gt;&gt;&gt; Meaning do we even need a non-memory API for it?  The only difference<br />
&gt;&gt;&gt; would be that some pieces of our RAM become non-volatile.<br />
&gt;&gt; I'm not talking about a specific piece of technology, I'm assuming that<br />
&gt;&gt; one of the competing storage technologies will eventually make it to<br />
&gt;&gt; widespread production usage.  Let's assume what we have is DRAM with a<br />
&gt;&gt; giant battery on it.<br />
&gt; Our ST-RAM (see [1] for the original source of its description) is a <br />
&gt; concept based on the combination of a writable volatile Random-Access <br />
&gt; Memory (RAM) chip and a capacitor.<br />
[...]<br />
&gt; Boaz asked: &quot;What is the difference from say a PCIE DRAM card with <br />
&gt; battery&quot;? It sits in the RAM slot.<br />
&gt;<br />
&gt;<br />
&gt;&gt;<br />
&gt;&gt; So, while we can use it just as DRAM, we're not taking advantage of the<br />
&gt;&gt; persistent aspect of it if we don't have an API that lets us find the<br />
&gt;&gt; data we wrote before the last reboot.  And that sounds like a filesystem<br />
&gt;&gt; to me.<br />
&gt;<br />
&gt; No and yes.<br />
&gt; 1. In the first place it is just a normal DRAM.<br />
&gt; 2. But due to its nature it has also many aspects of a flash memory.<br />
&gt; So the use case is for point<br />
&gt; 1. as a normal RAM module,<br />
&gt; and for point<br />
&gt; 2. as a file system,<br />
&gt; which again can be used<br />
&gt; 2.1 directly by the kernel as a normal file system,<br />
&gt; 2.2 directly by the kernel by the PRAMFS<br />
&gt; 2.3 by the proposed NVMFS, maybe as a shortcut for optimization,<br />
&gt; and<br />
&gt; 2.4 from the userspace, most potentially by using the standard VFS. <br />
&gt; Maybe this version 2.4 is the same as point 2.2.<br />
&gt;<br />
&gt;&gt;&gt; Or is there some impediment (like durability, or degradation on <br />
&gt;&gt;&gt; rewrite)<br />
&gt;&gt;&gt; which makes this unsuitable as a complete DRAM replacement?<br />
&gt;&gt; The idea behind using a different filesystem for different NVM types is<br />
&gt;&gt; that we can hide those kinds of impediments in the filesystem.  By the<br />
&gt;&gt; way, did you know DRAM degrades on every write?  I think it's on the<br />
&gt;&gt; order of 10^20 writes (and CPU caches hide many writes to heavily-used<br />
&gt;&gt; cache lines), so it's a long way away from MLC or even SLC rates, but<br />
&gt;&gt; it does exist.<br />
&gt;<br />
&gt; As I said before, a filesystem for the different NVM types would not <br />
&gt; be enough. These things are more complex due the possibility that they <br />
&gt; can be used very flexbily.<br />
&gt;<br />
&gt;&gt;<br />
&gt;&gt;&gt; Alternatively, if it's not really DRAM, I think the UNIX file<br />
&gt;&gt;&gt; abstraction makes sense (it's a piece of memory presented as something<br />
&gt;&gt;&gt; like a filehandle with open, close, seek, read, write and mmap), but<br />
&gt;&gt;&gt; it's less clear that it should be an actual file system.  The reason is<br />
&gt;&gt;&gt; that to present a VFS interface, you have to already have fixed the<br />
&gt;&gt;&gt; format of the actual filesystem on the memory because we can't nest<br />
&gt;&gt;&gt; filesystems (well, not without doing artificial loopbacks).  Again, <br />
&gt;&gt;&gt; this<br />
&gt;&gt;&gt; might make sense if there's some architectural reason why the flash<br />
&gt;&gt;&gt; region has to have a specific layout, but your post doesn't shed any<br />
&gt;&gt;&gt; light on this.<br />
&gt;&gt; We can certainly present a block interface to allow using unmodified<br />
&gt;&gt; standard filesystems on top of chunks of this NVM.  That's probably not<br />
&gt;&gt; the optimum way for a filesystem to use it though; there's really no<br />
&gt;&gt; point in constructing a bio to carry data down to a layer that's simply<br />
&gt;&gt; going to do a memcpy().<br />
&gt;&gt; -- <br />
&gt;<br />
&gt; I also saw the use cases by Boaz that are<br />
&gt; Journals of other FS, which could be done on top of the NVMFS for <br />
&gt; example, but is not really what I have in mind, and<br />
&gt; Execute in place, for which an Elf loader feature is needed. <br />
&gt; Obviously, this use case was envisioned by me as well.<br />
&gt;<br />
&gt; For direct rebooting the checkpointing of standard RAM is also a <br />
&gt; needed function. The decision what is trashed and what is marked as <br />
&gt; persistent RAM content has to be made by the RAM experts of the Linux <br />
&gt; developers or the user. I even think that this is a special use case <br />
&gt; on its own with many options.<br />
&gt;<br />
Because it is now about 1 year ago when I played around with the <br />
conceptual hardware aspects of anUninterruptible Power RAM (UPRAM) like <br />
the ST-RAM, I looked in more detail at the software side yesterday and <br />
today. So let me please add my first use case that I had in mind last <br />
year and coined now:<br />
Hybrid Hibernation (HyHi) or alternatively Suspend-to-NVM,<br />
which is similar to hybrid sleep and hibernation, but also differs a <br />
little bit due to the uninterruptible power feature.<br />
<br />
But as it can be seen easily here again, even with this 1 use case exist <br />
two paths to handle the NVM that are as:<br />
1. RAM and<br />
2. FS,<br />
so that it leads a further time to the discussion, if hibernation should <br />
be a kernel or a user space function (see [1] and [2] for more <br />
information related with the discussion about uswsup (userspace software <br />
suspend) and suspend2, and [3] for uswsup and [4] for TuxOnIce).<br />
<br />
Eventually, there is an interest to reuse some functions or code.<br />
<br />
<br />
<br />
Have fun in the sun<br />
C. Stroetmann<br />
&gt; [1] ST-RAM www.ontonics.com/innovation/pipeline.htm#st-ram<br />
&gt;<br />
[1] LKML: Pavel Machek: RE: suspend2 merge lkml.org/lkml/2007/4/24/405<br />
[2] KernelTrap: Linux: Reviewung Suspend2 kerneltrap.org/node/6766<br />
[3] suspend.sourceforge.net<br />
[4] tuxonice.net<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Christian Stroetmann</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 00:20:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499518,499518#msg-499518</guid>
            <title>[-next regression] TCP window full with EPOLLWAKEUP</title>
            <link>http://www.serverphorums.com/read.php?12,499518,499518#msg-499518</link>
            <description><![CDATA[ Hi,<br />
<br />
a bisection shows that with the following commit from -next:<br />
commit 4d7e30d98939a0340022ccd49325a3d70f7e0238<br />
Author: Arve Hjønnevåg &lt;arve@android.com&gt;<br />
Date:   Tue May 1 21:33:34 2012 +0200<br />
<br />
    epoll: Add a flag, EPOLLWAKEUP, to prevent suspend while epoll<br />
events are ready<br />
<br />
====<br />
<br />
one of mono programs I use stops receiving data from the network.<br />
Wireshark shows that the TCP window of a connection is filled. This<br />
means the program does not read the data fast enough after requesting<br />
the data.<br />
<br />
If I revert that commit on the top of -next (20120518), everything works<br />
as expected.<br />
<br />
regards,<br />
-- <br />
js<br />
suse labs<br />
<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Jiri Slaby</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 00:10:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,497229,499517#msg-499517</guid>
            <title>Re: linux-next: build warning after merge of the final tree (userns tree related)</title>
            <link>http://www.serverphorums.com/read.php?12,497229,499517#msg-499517</link>
            <description><![CDATA[ Stephen Rothwell &lt;sfr@canb.auug.org.au&gt; writes:<br />
<br />
&gt; Hi Eric,<br />
&gt;<br />
&gt; After merging the final tree, today's linux-next build (powerpc<br />
&gt; ppc44x_defconfig) produced this warning:<br />
&gt;<br />
&gt; kernel/user.c:30:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]<br />
&gt; kernel/user.c:38:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]<br />
&gt;<br />
&gt; Introduced by commit 22d917d80e84 (&quot;userns: Rework the user_namespace<br />
&gt; adding uid/gid mapping support&quot;).<br />
<br />
Ugh.  I missed this email the first time through.  Thank you for the<br />
report this problem should be fixed now.<br />
<br />
Eric<br />
<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Anonymous User</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sun, 20 May 2012 00:00:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499255,499516#msg-499516</guid>
            <title>Re: [ 31/54] kmemleak: Fix the kmemleak tracking of the percpu areas with !SMP</title>
            <link>http://www.serverphorums.com/read.php?12,499255,499516#msg-499516</link>
            <description><![CDATA[ On Sat, May 19, 2012 at 03:46:52PM +0100, Greg KH wrote:<br />
&gt; On Sat, May 19, 2012 at 03:27:33PM +0200, Christoph Biedl wrote:<br />
&gt; &gt; Greg KH wrote...<br />
&gt; &gt; <br />
&gt; &gt; &gt; 3.0-stable review patch.  If anyone has any objections, please let me know.<br />
&gt; &gt; <br />
&gt; &gt; &gt; From: Catalin Marinas &lt;catalin.marinas@arm.com&gt;<br />
&gt; &gt; &gt; <br />
&gt; &gt; &gt; commit 100d13c3b5b9410f604b86f5e0a34da64b8cf659 upstream.<br />
&gt; &gt; <br />
&gt; &gt; &gt; +	/* kmemleak tracks the percpu allocations separately */<br />
&gt; &gt; &gt; +	kmemleak_free(fc);<br />
&gt; &gt; <br />
&gt; &gt; That one causes:<br />
&gt; &gt; <br />
&gt; &gt;     mm/percpu.c: In function ‘setup_per_cpu_areas’:<br />
&gt; &gt;     mm/percpu.c:1877: error: implicit declaration of function ‘kmemleak_free’<br />
&gt; &gt;     make[1]: *** [mm/percpu.o] Error 1<br />
&gt; &gt;     make: *** [mm] Error 2<br />
&gt; <br />
&gt; Odd, it doesn't cause that problem here for me, what ARCH are you<br />
&gt; building for?  I'm on x86-64.<br />
<br />
This patch propagated to far in the past. Support for per-cpu areas in<br />
kmemleak was added with commit f528f0b8e5 (kmemleak: Handle percpu<br />
memory allocation) in 3.3-rc1. That patch introduced the correct<br />
#include for kmemleak.h.<br />
<br />
Commit 100d13c should only be applied to stable 3.3 and not earlier.<br />
<br />
Thanks.<br />
<br />
-- <br />
Catalin<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Catalin Marinas</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sat, 19 May 2012 23:50:02 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?7,497919,499515#msg-499515</guid>
            <title>[PHP-DEV] Re: [PHP-QA] Parallel run-tests</title>
            <link>http://www.serverphorums.com/read.php?7,497919,499515#msg-499515</link>
            <description><![CDATA[ Hi Zoe,<br />
<br />
great work on this new run-tests! :D<br />
<br />
I was testing it and noticed a problem when running using the following command:<br />
$ ~/dev/php5_4/sapi/cli/php run-tests.php  -z 8 -p<br />
~/dev/php5_4/sapi/cli/php ~/dev/php5_4/<br />
<br />
It shows the PHP messages:<br />
[...]<br />
Fatal error: Call to undefined function gzencode() in<br />
/home/felipe/dev/phpruntests/src/testcase/sections/configurationsections/rtGzipPostSection.php<br />
on line 23<br />
[...]<br />
Notice: Undefined offset: 0 in<br />
/home/felipe/dev/phpruntests/src/testcase/rtTestDifference.php on line<br />
91<br />
Fatal error: Allowed memory size of 134217728 bytes exhausted at<br />
/home/felipe/dev/php5_4/Zend/zend_hash.c:330 (tried to allocate 81<br />
bytes) in /home/felipe/dev/phpruntests/src/testcase/rtPhpTestFile.php<br />
on line 108<br />
/home/felipe/dev/php5_4/Zend/zend_hash.c(551) : ht=0x7f96e6356a50 is<br />
inconsistent<br />
[...]<br />
Fatal error: Allowed memory size of 134217728 bytes exhausted at<br />
ext/standard/var_unserializer.re:290 (tried to allocate 32 bytes) in<br />
/home/felipe/dev/phpruntests/src/taskScheduler/rtTaskSchedulerFile.php<br />
on line 183<br />
<br />
<br />
<br />
2012/5/17 zoe slattery &lt;aparachic@gmail.com&gt;:<br />
&gt; Hi<br />
&gt;<br />
&gt; Over the past couple of weeks I have updated the parallel run-tests (fixed a<br />
&gt; couple of minor bugs in the PHP code and the build.xml), it's now almost at<br />
&gt; the point where I could go ahead and implement the last pieces.  Here is a<br />
&gt; summary and a few questions:<br />
&gt;<br />
&gt; 1. In rebasing the code the the dev't stream I found a number of tests with<br />
&gt; non-standard sections. My code checks test case structure and objects to<br />
&gt; anything non-standard, the current run-tests.php mainly ignores this kind of<br />
&gt; thing. I fixed up about 15 of these tests (see #62022) already - I'll fix<br />
&gt; the rest if there are no objections - I will open another bug report first.<br />
&gt;<br />
&gt; 2. If there is agreement to use this code it would make sense to replace<br />
&gt;  the existing run-tests code with it, or rather,  it would make no sense to<br />
&gt; try and maintain both versions. The new code is OO PHP, it's in<br />
&gt; <a href="http://git.php.net/repository/phpruntests.git" target="_blank"  rel="nofollow">http://git.php.net/repository/phpruntests.git</a>, is there any problem with it<br />
&gt; staying there long term and maybe copying a run-tests.phar into the PHP<br />
&gt; source directory? I have no idea what the right answer is, suggestions<br />
&gt; welcome.<br />
&gt;<br />
&gt; 3. I ran a couple of small tests on my dual core Mac yesterday. For a<br />
&gt; standard set of tests, the parallel code ran in 207 seconds, sequential in<br />
&gt; 293 seconds and the standard run-tests.php took 298 seconds. This is an<br />
&gt; improvement but I suspect we could still do better by looking at the<br />
&gt; scheduling algorithm.<br />
&gt; At the moment it's very simple, we just assemble a list of directories with<br />
&gt; tests in and hand them out to processors till everything is done. Being able<br />
&gt; to handle tests that must be run in sequence (mysql, mysqli) will mean<br />
&gt; making some changes to this. So, perhaps we give an explicit list to p1 and<br />
&gt; let the scheduler distribute the rest of the tests? Or maybe we should have<br />
&gt; a 'process map' for all tests for extensions that are build by default?<br />
&gt; Again, suggestions welcome.<br />
&gt;<br />
&gt; 4. REDIRECTTEST still needs to be implemented, I understand how it works and<br />
&gt; this isn't (afaict) a major issue.<br />
&gt;<br />
&gt; 5. Testing. I'm able to do basic testing on Mac OSX  and Linux. I really<br />
&gt; need access to an 8 way Linux system, or someone who has access and would be<br />
&gt; interested in looking at performance? Any volunteers? This is probably the<br />
&gt; most interesting part of the project :-)<br />
&gt;<br />
&gt; 6. Windows. I'm not in a position to do anything much with Windows except<br />
&gt; some very basic checks to make sure that the sequential version runs. The<br />
&gt; parallel code won't work because we used pcntl(), however I know that Stefan<br />
&gt; and George were keen to design the code so that a Windows solution could be<br />
&gt; implemented if anyone thought of one. If anyone wants to pick up this aspect<br />
&gt; I'd be happy to get them started.<br />
&gt;<br />
&gt; Zoe<br />
&gt;<br />
&gt; --<br />
&gt; PHP Quality Assurance Mailing List <a href="http://www.php.net/" target="_blank"  rel="nofollow">http://www.php.net/</a><br />
&gt; To unsubscribe, visit: <a href="http://www.php.net/unsub.php" target="_blank"  rel="nofollow">http://www.php.net/unsub.php</a><br />
&gt;<br />
<br />
<br />
<br />
-- <br />
Regards,<br />
Felipe Pena<br />
<br />
-- <br />
PHP Internals - PHP Runtime Development Mailing List<br />
To unsubscribe, visit: <a href="http://www.php.net/unsub.php" target="_blank"  rel="nofollow">http://www.php.net/unsub.php</a>]]></description>
            <dc:creator>Felipe Pena</dc:creator>
            <category>php-internals</category>
            <pubDate>Sat, 19 May 2012 23:40:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499514,499514#msg-499514</guid>
            <title>[GIT PULL] DT clk binding support</title>
            <link>http://www.serverphorums.com/read.php?12,499514,499514#msg-499514</link>
            <description><![CDATA[ Mike,<br />
<br />
Please pull devicetree clock binding support for 3.5. It's a bit late I<br />
know, but this shouldn't affect anyone except for highbank which uses<br />
it. It will be good to get it in so other platforms can start using it.<br />
<br />
If you prefer, perhaps Arnd/Olof can pull this directly if you don't<br />
have any other pulls planned for 3.5-rc1.<br />
<br />
Rob<br />
<br />
The following changes since commit f0948f59dbc8e725a96ba16da666e8f5cdd43ba8:<br />
<br />
  clk: add a fixed factor clock (2012-05-08 14:13:25 -0700)<br />
<br />
are available in the git repository at:<br />
<br />
  git://sources.calxeda.com/kernel/linux.git clk-for-3.5<br />
<br />
for you to fetch changes up to 9dca208955ffba16adc99d982fd7432b37f76faa:<br />
<br />
  clk: add highbank clock support (2012-05-15 19:14:10 -0500)<br />
<br />
----------------------------------------------------------------<br />
Grant Likely (2):<br />
      clk: add DT clock binding support<br />
      clk: add DT fixed-clock binding support<br />
<br />
Rob Herring (2):<br />
      dt: add clock binding doc to primecell bindings<br />
      clk: add highbank clock support<br />
<br />
 .../devicetree/bindings/arm/primecell.txt          |    6 +<br />
 .../devicetree/bindings/clock/calxeda.txt          |   17 +<br />
 .../devicetree/bindings/clock/clock-bindings.txt   |  117 +++++++<br />
 .../devicetree/bindings/clock/fixed-clock.txt      |   21 ++<br />
 arch/arm/Kconfig                                   |    1 +<br />
 arch/arm/boot/dts/highbank.dts                     |   91 +++++-<br />
 arch/arm/mach-highbank/Makefile                    |    2 +-<br />
 arch/arm/mach-highbank/clock.c                     |   62 ----<br />
 arch/arm/mach-highbank/highbank.c                  |    7 +<br />
 drivers/clk/Makefile                               |    4 +-<br />
 drivers/clk/clk-fixed-rate.c                       |   23 ++<br />
 drivers/clk/clk-highbank.c                         |  345<br />
++++++++++++++++++++<br />
 drivers/clk/clk.c                                  |  140 ++++++++<br />
 drivers/clk/clkdev.c                               |   77 +++++<br />
 include/linux/clk-provider.h                       |   16 +<br />
 include/linux/clk.h                                |   19 ++<br />
 16 files changed, 883 insertions(+), 65 deletions(-)<br />
 create mode 100644 Documentation/devicetree/bindings/clock/calxeda.txt<br />
 create mode 100644<br />
Documentation/devicetree/bindings/clock/clock-bindings.txt<br />
 create mode 100644 Documentation/devicetree/bindings/clock/fixed-clock.txt<br />
 delete mode 100644 arch/arm/mach-highbank/clock.c<br />
 create mode 100644 drivers/clk/clk-highbank.c<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Rob Herring</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sat, 19 May 2012 23:30:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499432,499513#msg-499513</guid>
            <title>Re: [PATCH] regulator: core: use correct device for device supply lookup</title>
            <link>http://www.serverphorums.com/read.php?12,499432,499513#msg-499513</link>
            <description><![CDATA[ On Sunday 20 May 2012 02:20 AM, Mark Brown wrote:<br />
&gt; * PGP Signed by an unknown key<br />
&gt;<br />
&gt; On Sun, May 20, 2012 at 12:33:32AM +0530, Laxman Dewangan wrote:<br />
&gt;<br />
&gt;&gt; My board dts file is<br />
&gt;&gt;        pmu: tps65910@d2 {<br />
&gt;&gt;                  compatible = &quot;ti,tps65910&quot;;<br />
&gt;&gt;                  reg =&lt;0xd2&gt;;<br />
&gt;&gt;                  interrupt-parent =&lt;&amp;intc&gt;;<br />
&gt;&gt;                  interrupts =&lt;  0 118 0x04&gt;;<br />
&gt;&gt;<br />
&gt;&gt;                  #gpio-cells =&lt;2&gt;;<br />
&gt;&gt;                  gpio-controller;<br />
&gt;&gt;<br />
&gt;&gt;                  #interrupt-cells =&lt;2&gt;;<br />
&gt;&gt;                  interrupt-controller;<br />
&gt;&gt;<br />
&gt;&gt;                  regulators {<br />
&gt;&gt;                          vdd1_reg: vdd1 {<br />
&gt;&gt;                                  regulator-min-microvolt =&lt;  600000&gt;;<br />
&gt;&gt;                                  regulator-max-microvolt =&lt;1500000&gt;;<br />
&gt;&gt;                                  regulator-always-on;<br />
&gt;&gt;                                  regulator-boot-on;<br />
&gt;&gt;                                  ti,regulator-ext-sleep-control =&lt;0&gt;;<br />
&gt;&gt;                          };<br />
&gt;&gt;                          vdd2_reg: vdd2 {<br />
&gt;&gt;                                  regulator-min-microvolt =&lt;  600000&gt;;<br />
&gt;&gt;                                  regulator-max-microvolt =&lt;1500000&gt;;<br />
&gt;&gt;                                  regulator-always-on;<br />
&gt;&gt;                                  regulator-boot-on;<br />
&gt;&gt;                                  ti,regulator-ext-sleep-control =&lt;4&gt;;<br />
&gt;&gt;                          };<br />
&gt;&gt;              };<br />
&gt;&gt;      };<br />
&gt; Supplies aren't specified for any of the regulators here...<br />
Sorry, I missed this, I added the supply as<br />
vdd2-supply = &lt;&amp;vdd1_reg&gt;; in the vdd2-reg.<br />
<br />
<br />
&gt;&gt; So currently, when regulator_register gets called in<br />
&gt;&gt; tps65910-regulator.c, it sets the<br />
&gt;&gt; config.dev = tps65910-&gt;dev;<br />
&gt;&gt; config.of_node as<br />
&gt;&gt;                  config.of_node =<br />
&gt;&gt; of_find_node_by_name(tps65910-&gt;dev-&gt;of_node,<br />
&gt;&gt;                                                          info-&gt;name);<br />
&gt;&gt; So here config.of_node always shows NULL as the in<br />
&gt;&gt; tps65910-&gt;dev-&gt;of_node does not have name same as info-&gt;name ie.<br />
&gt;&gt; regulator name like vdd1, vdd2.<br />
&gt; Of course, this is just like any other supply - since you've not<br />
&gt; specified a mapping for it of course the framework isn't able to look it<br />
&gt; up.<br />
&gt;<br />
<br />
For mapping, the node should start from &quot;regulators&quot;, not from pmu on <br />
this example.<br />
This is what we already did for regulator match<br />
static struct tps65910_board *tps65910_parse_dt_reg_data(<br />
                                     struct platform_device *pdev)<br />
     {<br />
<br />
         struct device_node *np = pdev-&gt;dev.parent-&gt;of_node;<br />
         struct device_node *regulators;<br />
<br />
         regulators = of_find_node_by_name(np, &quot;regulators&quot;);<br />
         ret = of_regulator_match(pdev-&gt;dev.parent, regulators, matches, <br />
count);<br />
:::::::::::<br />
}<br />
<br />
<br />
Here my understanding is that config-&gt;of_node should contain the node <br />
information of the regulator being registered only. In DT case, it <br />
should not be null.<br />
<br />
So here also we need to pass as<br />
            config.of_node = of_find_node_by_name(regulators, info-&gt;name);<br />
<br />
&gt;&gt;&gt; If there is a change needed in the core you need to explain what you<br />
&gt;&gt;&gt; believe that change will do.<br />
&gt;&gt; I though this is straight but seems it is becoming more complex now.<br />
&gt;&gt; I will describe all this details if we agree to change require.<br />
&gt; I still don't see any change needed here, from the above it simply looks<br />
&gt; like the supplies aren't set up.<br />
Unfortunately,<br />
My regulator_get is failing if I dont correct the above logic to have <br />
proper config.of_node.<br />
<br />
Also regulator registration failed if<br />
- there is supply and if I dont use the config_of_node in lookup after <br />
fixing the config.of_node issue.<br />
<br />
This is happening with pmu (tps65910) regulator only. Fixed regulators <br />
are working fine here if they dont depends on tps6510.  Input supply for <br />
fixed regulator from other fixed regulators are also working fine.<br />
Each Fixed regulators are independent platform driver and hence there is <br />
no issue as dev-&gt;of_node is perfectly set/used.<br />
<br />
&gt; * Unknown Key<br />
&gt; * 0x6E30FDDD<br />
<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Laxman Dewangan</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sat, 19 May 2012 23:20:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499512,499512#msg-499512</guid>
            <title>hexagon: signal bugs</title>
            <link>http://www.serverphorums.com/read.php?12,499512,499512#msg-499512</link>
            <description><![CDATA[ 1) spot the braino:<br />
void do_trap0(struct pt_regs *regs)<br />
....<br />
        unsigned long syscallret = 0;<br />
	...<br />
                if ((unsigned long) regs-&gt;syscall_nr &gt;= __NR_syscalls) {<br />
                        regs-&gt;r00 = -1;<br />
                } else {<br />
                        syscall = (syscall_fn)<br />
                                  (sys_call_table[regs-&gt;syscall_nr]);<br />
                        syscallret = syscall(regs-&gt;r00, regs-&gt;r01,<br />
                                   regs-&gt;r02, regs-&gt;r03,<br />
                                   regs-&gt;r04, regs-&gt;r05);<br />
                }<br />
<br />
                if (regs-&gt;syscall_nr != __NR_rt_sigreturn)<br />
                        regs-&gt;r00 = syscallret;<br />
IOW, the last if () should've been inside the &quot;syscall_nr is not too high&quot;<br />
branch of the if () just above...<br />
<br />
	2) you do _not_ want syscall restarts to happen on sigreturn().<br />
Whatever adjustment needed to be done had already been done back before<br />
we'd saved the registers into sigcontext.  So doing<br />
        regs-&gt;syscall_nr = __NR_rt_sigreturn;<br />
in sys_rt_sigreturn() is exactly the wrong thing - for syscall restart<br />
purposes you want it to look like a non-syscall (i.e. it should be<br />
regs-&gt;syscall_nr = -1 to make your check in handle_signal() work).<br />
Incidentally, I would suggest just having that thing return regs-&gt;r00;<br />
then you can avoid all special-casing for &quot;do we want to put the<br />
return value of sys_...() into regs-&gt;r00?&quot; in do_trap0().<br />
<br />
	3) if you have multiple pending signals, you need to handle all<br />
of them before returning to userland.  And you need to make sure that<br />
syscall restart logics does not trigger on anything past the first time<br />
around.<br />
<br />
	4) checking for !user_mode(regs) needs to be done in the loop (created<br />
while fixing #3) in vm_entry.S where you are calling do_notify_resume();<br />
you need to leave the loop if it's true (if you can get there on return<br />
to kernel in the first place).<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Al Viro</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sat, 19 May 2012 23:20:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,497597,499511#msg-499511</guid>
            <title>Re: [PATCH RESEND] Documentation: devicetree: Fix value format description</title>
            <link>http://www.serverphorums.com/read.php?12,497597,499511#msg-499511</link>
            <description><![CDATA[ On Wed, 16 May 2012 22:33:55 +0200, Roland Stigge &lt;stigge@antcom.de&gt; wrote:<br />
&gt; Numeric values in dts files can be specified in decimal and hex (the latter<br />
&gt; prefixed 0x). The current documentation is updated with this patch to prevent<br />
&gt; confusion about what is meant with values without &quot;0x&quot; (previously hex, now<br />
&gt; dec).<br />
&gt; <br />
&gt; Signed-off-by: Roland Stigge &lt;stigge@antcom.de&gt;<br />
&gt; Acked-by: Rob Landley &lt;rob@landley.net&gt;<br />
<br />
Applied, thanks.<br />
<br />
g.<br />
<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Grant Likely</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sat, 19 May 2012 23:10:02 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499415,499510#msg-499510</guid>
            <title>Re: [PATCH] irq_domain: Standardise legacy/linear domain selection</title>
            <link>http://www.serverphorums.com/read.php?12,499415,499510#msg-499510</link>
            <description><![CDATA[ On Sat, May 19, 2012 at 2:54 PM, Mark Brown<br />
&lt;broonie@opensource.wolfsonmicro.com&gt; wrote:<br />
&gt; On Sat, May 19, 2012 at 02:22:58PM -0600, Grant Likely wrote:<br />
&gt;<br />
&gt;&gt; I'm looking at killing the legacy mapping entirely which will push<br />
&gt;&gt; changing all the users anyway.  I'm going to hold off on applying this<br />
&gt;&gt; one for a day or so until I'm sure of what it will look like.<br />
&gt;<br />
&gt; I take it you're going to replace the legacy mapping with an equivalent<br />
&gt; thing, though, so the interface is preserved for boards?  In which case<br />
&gt; it'd be more like replacing the linear mapping with a new mapping type<br />
&gt; that can also be used by legacy users I guess?<br />
<br />
It will actually be like all legacy users switched to creating an<br />
linear mapping, and then either associating already allocated<br />
irq_descs with that domain or telling the domain to pre-map a specific<br />
range of irq_descs (and manage allocations).  Those two use cases will<br />
be separate APIs.  I don't think they should be combined (at least<br />
from my current thinking) because it depends on whether or not the<br />
irq_descs are already allocated.<br />
<br />
g.<br />
<br />
<br />
<br />
-- <br />
Grant Likely, B.Sc., P.Eng.<br />
Secret Lab Technologies Ltd.<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Grant Likely</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sat, 19 May 2012 23:10:02 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499415,499509#msg-499509</guid>
            <title>Re: [PATCH] irq_domain: Standardise legacy/linear domain selection</title>
            <link>http://www.serverphorums.com/read.php?12,499415,499509#msg-499509</link>
            <description><![CDATA[ On Sat, May 19, 2012 at 02:22:58PM -0600, Grant Likely wrote:<br />
<br />
&gt; I'm looking at killing the legacy mapping entirely which will push<br />
&gt; changing all the users anyway.  I'm going to hold off on applying this<br />
&gt; one for a day or so until I'm sure of what it will look like.<br />
<br />
I take it you're going to replace the legacy mapping with an equivalent<br />
thing, though, so the interface is preserved for boards?  In which case<br />
it'd be more like replacing the linear mapping with a new mapping type<br />
that can also be used by legacy users I guess?]]></description>
            <dc:creator>Mark Brown</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sat, 19 May 2012 23:00:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,498643,499508#msg-499508</guid>
            <title>Re: [PATCH 2/3] x86: x2apic/cluster: Make use of lowest priority delivery mode</title>
            <link>http://www.serverphorums.com/read.php?12,498643,499508#msg-499508</link>
            <description><![CDATA[ On Fri, May 18, 2012 at 3:26 AM, Alexander Gordeev &lt;agordeev@redhat.com&gt; wrote:<br />
&gt; Currently x2APIC in logical destination mode delivers interrupts to a<br />
&gt; single CPU, no matter how many CPUs were specified in the destination<br />
&gt; cpumask.<br />
&gt;<br />
&gt; This fix enables delivery of interrupts to multiple CPUs by bit-ORing<br />
&gt; Logical IDs of destination CPUs that have matching Cluster ID.<br />
&gt;<br />
&gt; Because only one cluster could be specified in a message destination<br />
&gt; address, the destination cpumask is tried for a cluster that contains<br />
&gt; maximum number of CPUs matching this cpumask. The CPUs in this cluster<br />
&gt; are selected to receive the interrupts while all other CPUs (in the<br />
&gt; cpumask) are ignored.<br />
&gt;<br />
&gt; Signed-off-by: Alexander Gordeev &lt;agordeev@redhat.com&gt;<br />
&gt; ---<br />
&gt;  arch/x86/include/asm/x2apic.h         |    9 --<br />
&gt;  arch/x86/kernel/apic/x2apic_cluster.c |  140 +++++++++++++++++++++++++++++----<br />
&gt;  arch/x86/kernel/apic/x2apic_phys.c    |    9 ++-<br />
&gt;  3 files changed, 131 insertions(+), 27 deletions(-)<br />
&gt;<br />
&gt; diff --git a/arch/x86/include/asm/x2apic.h b/arch/x86/include/asm/x2apic.h<br />
&gt; index 92e54ab..7a5a832 100644<br />
&gt; --- a/arch/x86/include/asm/x2apic.h<br />
&gt; +++ b/arch/x86/include/asm/x2apic.h<br />
&gt; @@ -28,15 +28,6 @@ static int x2apic_apic_id_registered(void)<br />
&gt;        return 1;<br />
&gt;  }<br />
&gt;<br />
&gt; -/*<br />
&gt; - * For now each logical cpu is in its own vector allocation domain.<br />
&gt; - */<br />
&gt; -static void x2apic_vector_allocation_domain(int cpu, struct cpumask *retmask)<br />
&gt; -{<br />
&gt; -       cpumask_clear(retmask);<br />
&gt; -       cpumask_set_cpu(cpu, retmask);<br />
&gt; -}<br />
&gt; -<br />
&gt;  static void<br />
&gt;  __x2apic_send_IPI_dest(unsigned int apicid, int vector, unsigned int dest)<br />
&gt;  {<br />
&gt; diff --git a/arch/x86/kernel/apic/x2apic_cluster.c b/arch/x86/kernel/apic/x2apic_cluster.c<br />
&gt; index 8f012b2..f8fa4c4 100644<br />
&gt; --- a/arch/x86/kernel/apic/x2apic_cluster.c<br />
&gt; +++ b/arch/x86/kernel/apic/x2apic_cluster.c<br />
&gt; @@ -96,36 +96,142 @@ static void x2apic_send_IPI_all(int vector)<br />
&gt;        __x2apic_send_IPI_mask(cpu_online_mask, vector, APIC_DEST_ALLINC);<br />
&gt;  }<br />
&gt;<br />
&gt; +static inline unsigned int<br />
&gt; +__x2apic_cluster_to_apicid(int cpu_in_cluster, const struct cpumask *cpumask)<br />
&gt; +{<br />
&gt; +       unsigned int apicid = 0;<br />
&gt; +       int cpu;<br />
&gt; +<br />
&gt; +       for_each_cpu_and(cpu, per_cpu(cpus_in_cluster, cpu_in_cluster), cpumask)<br />
&gt; +               apicid |= per_cpu(x86_cpu_to_logical_apicid, cpu);<br />
&gt; +<br />
&gt; +       return apicid;<br />
&gt; +}<br />
&gt; +<br />
&gt; +static int<br />
&gt; +__x2apic_cpu_mask_to_apicid(const struct cpumask *cpumask, unsigned int *apicid)<br />
&gt; +{<br />
&gt; +       int ret = 0;<br />
&gt; +       int cpu, heaviest;<br />
&gt; +       unsigned int weight, max_weight;<br />
&gt; +       cpumask_var_t target_cpus, cluster_cpus;<br />
&gt; +<br />
&gt; +       if (unlikely(!alloc_cpumask_var(&amp;target_cpus, GFP_ATOMIC))) {<br />
&gt; +               ret = -ENOMEM;<br />
&gt; +               goto out;<br />
&gt; +       }<br />
&gt; +       if (unlikely(!alloc_cpumask_var(&amp;cluster_cpus, GFP_ATOMIC))) {<br />
&gt; +               ret = -ENOMEM;<br />
&gt; +               goto out_free_target_cpus;<br />
&gt; +       }<br />
&gt; +<br />
&gt; +       cpumask_and(target_cpus, cpumask, cpu_online_mask);<br />
&gt; +       max_weight = 0;<br />
&gt; +<br />
&gt; +       for_each_cpu(cpu, target_cpus) {<br />
&gt; +               cpumask_and(cluster_cpus, per_cpu(cpus_in_cluster, cpu), cpumask);<br />
&gt; +<br />
&gt; +               weight = cpumask_weight(cluster_cpus);<br />
&gt; +               if (weight &gt; max_weight) {<br />
&gt; +                       max_weight = weight;<br />
&gt; +                       heaviest = cpu;<br />
&gt; +               }<br />
&gt; +<br />
&gt; +               cpumask_andnot(target_cpus, target_cpus, cluster_cpus);<br />
&gt; +       }<br />
&gt; +<br />
&gt; +       if (!max_weight) {<br />
&gt; +               ret = -EINVAL;<br />
&gt; +               goto out_free_cluster_cpus;<br />
&gt; +       }<br />
&gt; +<br />
&gt; +       *apicid = __x2apic_cluster_to_apicid(heaviest, cpumask);<br />
&gt; +<br />
&gt; +out_free_cluster_cpus:<br />
&gt; +       free_cpumask_var(cluster_cpus);<br />
&gt; +out_free_target_cpus:<br />
&gt; +       free_cpumask_var(target_cpus);<br />
&gt; +out:<br />
&gt; +       return ret;<br />
&gt; +}<br />
&gt; +<br />
&gt;  static unsigned int x2apic_cpu_mask_to_apicid(const struct cpumask *cpumask)<br />
&gt;  {<br />
&gt; -       /*<br />
&gt; -        * We're using fixed IRQ delivery, can only return one logical APIC ID.<br />
&gt; -        * May as well be the first.<br />
&gt; -        */<br />
&gt; -       int cpu = cpumask_first(cpumask);<br />
&gt; +       int err;<br />
&gt; +       int cpu;<br />
&gt; +       unsigned int apicid;<br />
&gt;<br />
&gt; -       if ((unsigned)cpu &lt; nr_cpu_ids)<br />
&gt; -               return per_cpu(x86_cpu_to_logical_apicid, cpu);<br />
&gt; -       else<br />
&gt; -               return BAD_APICID;<br />
&gt; +       err = __x2apic_cpu_mask_to_apicid(cpumask, &amp;apicid);<br />
&gt; +       WARN_ON(err);<br />
&gt; +<br />
&gt; +       if (!err)<br />
&gt; +               return apicid;<br />
&gt; +<br />
&gt; +       if (err == -ENOMEM) {<br />
&gt; +               for_each_cpu(cpu, cpumask) {<br />
&gt; +                       if (cpumask_test_cpu(cpu, cpu_online_mask))<br />
&gt; +                               break;<br />
&gt; +               }<br />
&gt; +               if (cpu &lt; nr_cpu_ids)<br />
&gt; +                       return __x2apic_cluster_to_apicid(cpu, cpumask);<br />
&gt; +       }<br />
&gt; +<br />
&gt; +       return BAD_APICID;<br />
&gt;  }<br />
&gt;<br />
&gt;  static unsigned int<br />
&gt;  x2apic_cpu_mask_to_apicid_and(const struct cpumask *cpumask,<br />
&gt;                              const struct cpumask *andmask)<br />
&gt;  {<br />
&gt; -       int cpu;<br />
&gt; +       int err;<br />
&gt; +       int cpu, first_cpu;<br />
&gt; +       unsigned int apicid;<br />
&gt; +       cpumask_var_t target_cpus;<br />
&gt; +<br />
&gt; +       if (likely(alloc_cpumask_var(&amp;target_cpus, GFP_ATOMIC))) {<br />
&gt; +               cpumask_and(target_cpus, cpumask, andmask);<br />
&gt; +<br />
&gt; +               err = __x2apic_cpu_mask_to_apicid(target_cpus, &amp;apicid);<br />
&gt; +<br />
&gt; +               free_cpumask_var(target_cpus);<br />
&gt; +<br />
&gt; +               if (!err)<br />
&gt; +                       return apicid;<br />
&gt; +       } else {<br />
&gt; +               err = -ENOMEM;<br />
&gt; +       }<br />
&gt; +<br />
&gt; +       WARN_ON(err);<br />
&gt; +<br />
&gt; +       if (err != -ENOMEM)<br />
&gt; +               return 0;<br />
&gt; +<br />
&gt; +       apicid = 0;<br />
&gt; +       first_cpu = nr_cpu_ids;<br />
&gt;<br />
&gt; -       /*<br />
&gt; -        * We're using fixed IRQ delivery, can only return one logical APIC ID.<br />
&gt; -        * May as well be the first.<br />
&gt; -        */<br />
&gt;        for_each_cpu_and(cpu, cpumask, andmask) {<br />
&gt; -               if (cpumask_test_cpu(cpu, cpu_online_mask))<br />
&gt; +               if (cpumask_test_cpu(cpu, cpu_online_mask)) {<br />
&gt; +                       first_cpu = cpu;<br />
&gt;                        break;<br />
&gt; +               }<br />
&gt; +       }<br />
&gt; +<br />
&gt; +       if (first_cpu &lt; nr_cpu_ids) {<br />
&gt; +               for_each_cpu_and(cpu, per_cpu(cpus_in_cluster, first_cpu),<br />
&gt; +                                cpumask) {<br />
&gt; +                       if (!cpumask_test_cpu(cpu, andmask))<br />
&gt; +                               continue;<br />
&gt; +                       apicid |= per_cpu(x86_cpu_to_logical_apicid, cpu);<br />
&gt; +               }<br />
&gt;        }<br />
&gt;<br />
&gt; -       return per_cpu(x86_cpu_to_logical_apicid, cpu);<br />
&gt; +       return apicid;<br />
&gt; +}<br />
&gt; +<br />
&gt; +static void<br />
&gt; +x2apic_cluster_vector_allocation_domain(int cpu, struct cpumask *retmask)<br />
&gt; +{<br />
&gt; +       cpumask_copy(retmask, cpu_possible_mask);<br />
<br />
why not using per_cpu(cpus_in_cluster, cpu) instead?<br />
<br />
also you may add one per cpu var like x86_cpu_to_logical_cluster_apicid.<br />
<br />
<br />
Yinghai<br />
--<br />
To unsubscribe from this list: send the line &quot;unsubscribe linux-kernel&quot; in<br />
the body of a message to <a href="mailto:&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;">&#109;&#97;&#106;&#111;&#114;&#100;&#111;&#109;&#111;&#64;&#118;&#103;&#101;&#114;&#46;&#107;&#101;&#114;&#110;&#101;&#108;&#46;&#111;&#114;&#103;</a><br />
More majordomo info at  <a href="http://vger.kernel.org/majordomo-info.html" target="_blank"  rel="nofollow">http://vger.kernel.org/majordomo-info.html</a><br />
Please read the FAQ at  <a href="http://www.tux.org/lkml/" target="_blank"  rel="nofollow">http://www.tux.org/lkml/</a>]]></description>
            <dc:creator>Yinghai Lu</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sat, 19 May 2012 23:00:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499432,499507#msg-499507</guid>
            <title>Re: [PATCH] regulator: core: use correct device for device supply lookup</title>
            <link>http://www.serverphorums.com/read.php?12,499432,499507#msg-499507</link>
            <description><![CDATA[ On Sun, May 20, 2012 at 12:33:32AM +0530, Laxman Dewangan wrote:<br />
<br />
&gt; My board dts file is<br />
&gt;       pmu: tps65910@d2 {<br />
&gt;                 compatible = &quot;ti,tps65910&quot;;<br />
&gt;                 reg = &lt;0xd2&gt;;<br />
&gt;                 interrupt-parent = &lt;&amp;intc&gt;;<br />
&gt;                 interrupts = &lt; 0 118 0x04 &gt;;<br />
&gt; <br />
&gt;                 #gpio-cells = &lt;2&gt;;<br />
&gt;                 gpio-controller;<br />
&gt; <br />
&gt;                 #interrupt-cells = &lt;2&gt;;<br />
&gt;                 interrupt-controller;<br />
&gt; <br />
&gt;                 regulators {<br />
&gt;                         vdd1_reg: vdd1 {<br />
&gt;                                 regulator-min-microvolt = &lt; 600000&gt;;<br />
&gt;                                 regulator-max-microvolt = &lt;1500000&gt;;<br />
&gt;                                 regulator-always-on;<br />
&gt;                                 regulator-boot-on;<br />
&gt;                                 ti,regulator-ext-sleep-control = &lt;0&gt;;<br />
&gt;                         };<br />
&gt;                         vdd2_reg: vdd2 {<br />
&gt;                                 regulator-min-microvolt = &lt; 600000&gt;;<br />
&gt;                                 regulator-max-microvolt = &lt;1500000&gt;;<br />
&gt;                                 regulator-always-on;<br />
&gt;                                 regulator-boot-on;<br />
&gt;                                 ti,regulator-ext-sleep-control = &lt;4&gt;;<br />
&gt;                         };<br />
&gt;             };<br />
&gt;     };<br />
<br />
Supplies aren't specified for any of the regulators here...<br />
<br />
&gt; So currently, when regulator_register gets called in<br />
&gt; tps65910-regulator.c, it sets the<br />
&gt; config.dev = tps65910-&gt;dev;<br />
&gt; config.of_node as<br />
&gt;                 config.of_node =<br />
&gt; of_find_node_by_name(tps65910-&gt;dev-&gt;of_node,<br />
&gt;                                                         info-&gt;name);<br />
&gt; So here config.of_node always shows NULL as the in<br />
&gt; tps65910-&gt;dev-&gt;of_node does not have name same as info-&gt;name ie.<br />
&gt; regulator name like vdd1, vdd2.<br />
<br />
Of course, this is just like any other supply - since you've not<br />
specified a mapping for it of course the framework isn't able to look it<br />
up.<br />
<br />
&gt; &gt;If there is a change needed in the core you need to explain what you<br />
&gt; &gt;believe that change will do.<br />
<br />
&gt; I though this is straight but seems it is becoming more complex now.<br />
&gt; I will describe all this details if we agree to change require.<br />
<br />
I still don't see any change needed here, from the above it simply looks<br />
like the supplies aren't set up.]]></description>
            <dc:creator>Mark Brown</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sat, 19 May 2012 23:00:01 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?12,499506,499506#msg-499506</guid>
            <title>Re: exit_mmap BUG_ON in 2.6.23</title>
            <link>http://www.serverphorums.com/read.php?12,499506,499506#msg-499506</link>
            <description><![CDATA[ On Fri, 18 May 2012, Sam Portolla wrote:<br />
&gt; [please cc <a href="mailto:&#115;&#97;&#109;&#80;&#111;&#114;&#116;&#111;&#108;&#108;&#97;&#64;&#121;&#97;&#104;&#111;&#111;&#46;&#99;&#111;&#109;">&#115;&#97;&#109;&#80;&#111;&#114;&#116;&#111;&#108;&#108;&#97;&#64;&#121;&#97;&#104;&#111;&#111;&#46;&#99;&#111;&#109;</a> on your replies, not subscribed to the linux-kernel mailer]<br />
&gt; <br />
&gt; Hi, I have read the thread on same issue in 3.1:<br />
&gt; but this is happening on earlier GNU linux version 2.6.23 for x86_64,<br />
&gt; which does not have THP (I believe), nor it has huge_memory.c.<br />
&gt; Is there a fix one of you experts could supply?  Issue is not reproducible<br />
&gt; so far, but happened on a customer site. Some info below.<br />
&gt; <br />
&gt; kernel BUG at .../bfc/linux/kernel-2.6.x/mm/mmap.c:2049!<br />
&gt; <br />
&gt; Line 2049 is in exit_mmap():<br />
&gt; <br />
&gt; BUG_ON(mm-&gt;nr_ptes &gt; (FIRST_USER_ADDRESS+PMD_SIZE-1)&gt;&gt;PMD_SHIFT);<br />
&gt; <br />
&gt;  RIP: 0010:[&lt;ffffffff80277840&gt;]  [&lt;ffffffff80277840&gt;] exit_mmap+0xf0/0x100 <br />
&gt; [snip]<br />
&gt;  Call Trace:<br />
&gt;  [&lt;ffffffff8022ee14&gt;] mmput+0x44/0xd0<br />
&gt;  [&lt;ffffffff802340a1&gt;] exit_mm+0x91/0x100<br />
&gt;  [&lt;ffffffff802347ea&gt;] do_exit+0x17a/0x960<br />
&gt;  [&lt;ffffffff8023c4bc&gt;] __dequeue_signal+0xec/0x1b0<br />
&gt;  [&lt;ffffffff80235048&gt;] do_group_exit+0x38/0x90<br />
&gt;  [&lt;ffffffff8023e3c6&gt;] get_signal_to_deliver+0x2d6/0x4b0<br />
&gt;  [&lt;ffffffff8020b69a&gt;] do_notify_resume+0xaa/0x760<br />
&gt;  [&lt;ffffffff8020c818&gt;] retint_signal+0x3d/0x85<br />
<br />
I've checked back through old ChangeLogs, and (apart from a UserModeLinux<br />
case) I don't see any fix for a BUG_ON(nr_ptes) issue in between 2.6.19<br />
and the much later THP issue, which you're right to think cannot be yours.<br />
<br />
But the 2.6.19 case, and one which a video driver writer had more recently,<br />
were both caused by unrelated code zeroing beyond what it had allocated:<br />
happening to zero part of a higher-level page table, making it impossible<br />
for task exit to locate all the page tables (and pages) it had to free.<br />
<br />
Though I can't be sure, these BUG_ON(nr_ptes) reports do seem perhaps<br />
too infrequent to be caused by bad logic in mm itself: I suspect memory<br />
corruption in your case too.<br />
<br />
There's no clue here as to what the cause might be, I'm afraid.<br />
Rebuilding your kernel with CONFIG_DEBUG_PAGEALLOC=y, and slab debugging<br />
on, might shed more light: but that's probably not something you want to<br />
get into on a customer site, for a problem only seen once or twice.<br />
<br />
The best I can suggest is for you to change that BUG_ON to a WARN_ON,<br />
so at least the kernel doesn't crash there, and you might gather more<br />
information from each time it happens; but you'll probably leak pages,<br />
and may very well crash soon for other reasons (e.g. when evicting an<br />
inode cannot locate all the maps of its pages).<br />
<br />
Hugh]]></description>
            <dc:creator>Hugh Dickins</dc:creator>
            <category>Linux Kernel</category>
            <pubDate>Sat, 19 May 2012 22:50:02 +0200</pubDate>
        </item>
        <item>
            <guid>http://www.serverphorums.com/read.php?5,498514,499505#msg-499505</guid>
            <title>Re: nginx on windows keeps hanging</title>
            <link>http://www.serverphorums.com/read.php?5,498514,499505#msg-499505</link>
            <description><![CDATA[ Remove the PHP_FCGI_x lines and add &quot;fastcgi_ignore_client_abort on;&quot;<br />
For the pool add for all of them &quot;weight=1 fail_timeout=5&quot;<br />
<br />
Posted at Nginx Forum: <a href="http://forum.nginx.org/read.php?2,226613,226656#msg-226656" target="_blank"  rel="nofollow">http://forum.nginx.org/read.php?2,226613,226656#msg-226656</a><br />
<br />
_______________________________________________<br />
nginx mailing list<br />
<a href="mailto:&#110;&#103;&#105;&#110;&#120;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#111;&#114;&#103;">&#110;&#103;&#105;&#110;&#120;&#64;&#110;&#103;&#105;&#110;&#120;&#46;&#111;&#114;&#103;</a><br />
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank"  rel="nofollow">http://mailman.nginx.org/mailman/listinfo/nginx</a>]]></description>
            <dc:creator>itpp2012</dc:creator>
            <category>Nginx</category>
            <pubDate>Sat, 19 May 2012 22:40:02 +0200</pubDate>
        </item>
    </channel>
</rss>

