All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <m1652ddljp.fsf@muc.de>

diff --git a/a/1.txt b/N1/1.txt
index 02a3fb3..46e2a59 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -10,11 +10,11 @@ I bet this has been never tested.
 >  		set_pgd(pgd, __pgd(_PAGE_TABLE | __pa(pud)))
 >
 > +#define pmd_test_and_populate(mm, pmd, pte) \
-> +		(cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | __pa(pte)) = PMD_NONE)
+> +		(cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | __pa(pte)) == PMD_NONE)
 > +#define pud_test_and_populate(mm, pud, pmd) \
-> +		(cmpxchg((int *)pgd, PUD_NONE, _PAGE_TABLE | __pa(pmd)) = PUD_NONE)
+> +		(cmpxchg((int *)pgd, PUD_NONE, _PAGE_TABLE | __pa(pmd)) == PUD_NONE)
 > +#define pgd_test_and_populate(mm, pgd, pud) \
-> +		(cmpxchg((int *)pgd, PGD_NONE, _PAGE_TABLE | __pa(pud)) = PGD_NONE)
+> +		(cmpxchg((int *)pgd, PGD_NONE, _PAGE_TABLE | __pa(pud)) == PGD_NONE)
 > +
 
 Shouldn't this all be (long *)pmd ? page table entries on x86-64 are 64bit.
@@ -29,7 +29,7 @@ pointer.
 >
 > +static inline int pmd_test_and_populate(struct mm_struct *mm, pmd_t *pmd, struct page *pte)
 > +{
-> +	return cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | (page_to_pfn(pte) << PAGE_SHIFT)) = PMD_NONE;
+> +	return cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | (page_to_pfn(pte) << PAGE_SHIFT)) == PMD_NONE;
 
 Same.
 
diff --git a/a/content_digest b/N1/content_digest
index 8665715..702ffd5 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -8,8 +8,8 @@
  "ref\0Pine.LNX.4.58.0501041129030.805@schroedinger.engr.sgi.com\0"
  "ref\0Pine.LNX.4.58.0501041137410.805@schroedinger.engr.sgi.com\0"
  "From\0Andi Kleen <ak@muc.de>\0"
- "Subject\0Re: page fault scalability patch V14 [5/7]: x86_64 atomic pte\0"
- "Date\0Tue, 04 Jan 2005 19:46:50 +0000\0"
+ "Subject\0Re: page fault scalability patch V14 [5/7]: x86_64 atomic pte operations\0"
+ "Date\0Tue, 04 Jan 2005 20:46:50 +0100\0"
  "To\0Christoph Lameter <clameter@sgi.com>\0"
  "Cc\0Hugh Dickins <hugh@veritas.com>"
   akpm@osdl.org
@@ -31,11 +31,11 @@
  ">  \t\tset_pgd(pgd, __pgd(_PAGE_TABLE | __pa(pud)))\n"
  ">\n"
  "> +#define pmd_test_and_populate(mm, pmd, pte) \\\n"
- "> +\t\t(cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | __pa(pte)) = PMD_NONE)\n"
+ "> +\t\t(cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | __pa(pte)) == PMD_NONE)\n"
  "> +#define pud_test_and_populate(mm, pud, pmd) \\\n"
- "> +\t\t(cmpxchg((int *)pgd, PUD_NONE, _PAGE_TABLE | __pa(pmd)) = PUD_NONE)\n"
+ "> +\t\t(cmpxchg((int *)pgd, PUD_NONE, _PAGE_TABLE | __pa(pmd)) == PUD_NONE)\n"
  "> +#define pgd_test_and_populate(mm, pgd, pud) \\\n"
- "> +\t\t(cmpxchg((int *)pgd, PGD_NONE, _PAGE_TABLE | __pa(pud)) = PGD_NONE)\n"
+ "> +\t\t(cmpxchg((int *)pgd, PGD_NONE, _PAGE_TABLE | __pa(pud)) == PGD_NONE)\n"
  "> +\n"
  "\n"
  "Shouldn't this all be (long *)pmd ? page table entries on x86-64 are 64bit.\n"
@@ -50,10 +50,10 @@
  ">\n"
  "> +static inline int pmd_test_and_populate(struct mm_struct *mm, pmd_t *pmd, struct page *pte)\n"
  "> +{\n"
- "> +\treturn cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | (page_to_pfn(pte) << PAGE_SHIFT)) = PMD_NONE;\n"
+ "> +\treturn cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | (page_to_pfn(pte) << PAGE_SHIFT)) == PMD_NONE;\n"
  "\n"
  "Same.\n"
  "\n"
  -Andi
 
-108572f7919647e6b1d79ad9ad094b93b966ce14015e78237eee30b178f1f941
+a6f6089233791e086e6f83326980fb433046dba0514b8823075580dfa2568962

diff --git a/a/1.txt b/N2/1.txt
index 02a3fb3..998f242 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -10,11 +10,11 @@ I bet this has been never tested.
 >  		set_pgd(pgd, __pgd(_PAGE_TABLE | __pa(pud)))
 >
 > +#define pmd_test_and_populate(mm, pmd, pte) \
-> +		(cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | __pa(pte)) = PMD_NONE)
+> +		(cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | __pa(pte)) == PMD_NONE)
 > +#define pud_test_and_populate(mm, pud, pmd) \
-> +		(cmpxchg((int *)pgd, PUD_NONE, _PAGE_TABLE | __pa(pmd)) = PUD_NONE)
+> +		(cmpxchg((int *)pgd, PUD_NONE, _PAGE_TABLE | __pa(pmd)) == PUD_NONE)
 > +#define pgd_test_and_populate(mm, pgd, pud) \
-> +		(cmpxchg((int *)pgd, PGD_NONE, _PAGE_TABLE | __pa(pud)) = PGD_NONE)
+> +		(cmpxchg((int *)pgd, PGD_NONE, _PAGE_TABLE | __pa(pud)) == PGD_NONE)
 > +
 
 Shouldn't this all be (long *)pmd ? page table entries on x86-64 are 64bit.
@@ -29,8 +29,13 @@ pointer.
 >
 > +static inline int pmd_test_and_populate(struct mm_struct *mm, pmd_t *pmd, struct page *pte)
 > +{
-> +	return cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | (page_to_pfn(pte) << PAGE_SHIFT)) = PMD_NONE;
+> +	return cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | (page_to_pfn(pte) << PAGE_SHIFT)) == PMD_NONE;
 
 Same.
 
 -Andi
+--
+To unsubscribe, send a message with 'unsubscribe linux-mm' in
+the body to majordomo@kvack.org.  For more info on Linux MM,
+see: http://www.linux-mm.org/ .
+Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
diff --git a/a/content_digest b/N2/content_digest
index 8665715..ca5b7c0 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -8,8 +8,8 @@
  "ref\0Pine.LNX.4.58.0501041129030.805@schroedinger.engr.sgi.com\0"
  "ref\0Pine.LNX.4.58.0501041137410.805@schroedinger.engr.sgi.com\0"
  "From\0Andi Kleen <ak@muc.de>\0"
- "Subject\0Re: page fault scalability patch V14 [5/7]: x86_64 atomic pte\0"
- "Date\0Tue, 04 Jan 2005 19:46:50 +0000\0"
+ "Subject\0Re: page fault scalability patch V14 [5/7]: x86_64 atomic pte operations\0"
+ "Date\0Tue, 04 Jan 2005 20:46:50 +0100\0"
  "To\0Christoph Lameter <clameter@sgi.com>\0"
  "Cc\0Hugh Dickins <hugh@veritas.com>"
   akpm@osdl.org
@@ -31,11 +31,11 @@
  ">  \t\tset_pgd(pgd, __pgd(_PAGE_TABLE | __pa(pud)))\n"
  ">\n"
  "> +#define pmd_test_and_populate(mm, pmd, pte) \\\n"
- "> +\t\t(cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | __pa(pte)) = PMD_NONE)\n"
+ "> +\t\t(cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | __pa(pte)) == PMD_NONE)\n"
  "> +#define pud_test_and_populate(mm, pud, pmd) \\\n"
- "> +\t\t(cmpxchg((int *)pgd, PUD_NONE, _PAGE_TABLE | __pa(pmd)) = PUD_NONE)\n"
+ "> +\t\t(cmpxchg((int *)pgd, PUD_NONE, _PAGE_TABLE | __pa(pmd)) == PUD_NONE)\n"
  "> +#define pgd_test_and_populate(mm, pgd, pud) \\\n"
- "> +\t\t(cmpxchg((int *)pgd, PGD_NONE, _PAGE_TABLE | __pa(pud)) = PGD_NONE)\n"
+ "> +\t\t(cmpxchg((int *)pgd, PGD_NONE, _PAGE_TABLE | __pa(pud)) == PGD_NONE)\n"
  "> +\n"
  "\n"
  "Shouldn't this all be (long *)pmd ? page table entries on x86-64 are 64bit.\n"
@@ -50,10 +50,15 @@
  ">\n"
  "> +static inline int pmd_test_and_populate(struct mm_struct *mm, pmd_t *pmd, struct page *pte)\n"
  "> +{\n"
- "> +\treturn cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | (page_to_pfn(pte) << PAGE_SHIFT)) = PMD_NONE;\n"
+ "> +\treturn cmpxchg((int *)pmd, PMD_NONE, _PAGE_TABLE | (page_to_pfn(pte) << PAGE_SHIFT)) == PMD_NONE;\n"
  "\n"
  "Same.\n"
  "\n"
- -Andi
+ "-Andi\n"
+ "--\n"
+ "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n"
+ "the body to majordomo@kvack.org.  For more info on Linux MM,\n"
+ "see: http://www.linux-mm.org/ .\n"
+ "Don't email: <a href=mailto:\"aart@kvack.org\"> aart@kvack.org </a>"
 
-108572f7919647e6b1d79ad9ad094b93b966ce14015e78237eee30b178f1f941
+28f95c6e22892f90c8fc9ec806ae72edbe595dc54717fb730710ccf246373b27

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.