diff for duplicates of <87wqe1a1kq.fsf@linux.vnet.ibm.com> diff --git a/a/1.txt b/N1/1.txt index b7e8618..dd7483c 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -11,7 +11,7 @@ > --- a/arch/powerpc/include/asm/kvm_book3s_64.h > +++ b/arch/powerpc/include/asm/kvm_book3s_64.h > @@ -77,34 +77,122 @@ static inline long try_lock_hpte(unsigned long *hpte, unsigned long bits) -> return old = 0; +> return old == 0; > } > > +static inline int __hpte_actual_psize(unsigned int lp, int psize) @@ -23,22 +23,22 @@ > + for (i = 1; i < MMU_PAGE_COUNT; i++) { > + > + /* invalid penc */ -> + if (mmu_psize_defs[psize].penc[i] = -1) +> + if (mmu_psize_defs[psize].penc[i] == -1) > + continue; > + /* > + * encoding bits per actual page size > + * PTE LP actual page size > + * rrrr rrrz >=8KB -> + * rrrr rrzz >\x16KB -> + * rrrr rzzz >2KB -> + * rrrr zzzz >dKB +> + * rrrr rrzz >=16KB +> + * rrrr rzzz >=32KB +> + * rrrr zzzz >=64KB > + * ....... > + */ > + shift = mmu_psize_defs[i].shift - LP_SHIFT; > + if (shift > LP_BITS) > + shift = LP_BITS; > + mask = (1 << shift) - 1; -> + if ((lp & mask) = mmu_psize_defs[psize].penc[i]) +> + if ((lp & mask) == mmu_psize_defs[psize].penc[i]) > + return i; > + } > + return -1; @@ -161,9 +161,9 @@ > /* only handle 4k, 64k and 16M pages for now */ > if (!(h & HPTE_V_LARGE)) > - return 1ul << 12; /* 4k page */ -> - if ((l & 0xf000) = 0x1000 && cpu_has_feature(CPU_FTR_ARCH_206)) +> - if ((l & 0xf000) == 0x1000 && cpu_has_feature(CPU_FTR_ARCH_206)) > - return 1ul << 16; /* 64k page */ -> - if ((l & 0xff000) = 0) +> - if ((l & 0xff000) == 0) > - return 1ul << 24; /* 16M page */ > - return 0; /* error */ > + return 1ul << 12; diff --git a/a/content_digest b/N1/content_digest index e59d63b..04a1036 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,13 +1,13 @@ "ref\01399224616-25142-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com\0" "From\0Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>\0" "Subject\0Re: [RFC PATCH] KVM: PPC: BOOK3S: HV: THP support for guest\0" - "Date\0Sun, 04 May 2014 17:48:05 +0000\0" + "Date\0Sun, 04 May 2014 23:06:05 +0530\0" "To\0agraf@suse.de" benh@kernel.crashing.org " paulus@samba.org\0" "Cc\0linuxppc-dev@lists.ozlabs.org" - kvm-ppc@vger.kernel.org - " kvm@vger.kernel.org\0" + kvm@vger.kernel.org + " kvm-ppc@vger.kernel.org\0" "\00:1\0" "b\0" "\"Aneesh Kumar K.V\" <aneesh.kumar@linux.vnet.ibm.com> writes:\n" @@ -23,7 +23,7 @@ "> --- a/arch/powerpc/include/asm/kvm_book3s_64.h\n" "> +++ b/arch/powerpc/include/asm/kvm_book3s_64.h\n" "> @@ -77,34 +77,122 @@ static inline long try_lock_hpte(unsigned long *hpte, unsigned long bits)\n" - "> \treturn old = 0;\n" + "> \treturn old == 0;\n" "> }\n" ">\n" "> +static inline int __hpte_actual_psize(unsigned int lp, int psize)\n" @@ -35,22 +35,22 @@ "> +\tfor (i = 1; i < MMU_PAGE_COUNT; i++) {\n" "> +\n" "> +\t\t/* invalid penc */\n" - "> +\t\tif (mmu_psize_defs[psize].penc[i] = -1)\n" + "> +\t\tif (mmu_psize_defs[psize].penc[i] == -1)\n" "> +\t\t\tcontinue;\n" "> +\t\t/*\n" "> +\t\t * encoding bits per actual page size\n" "> +\t\t * PTE LP actual page size\n" "> +\t\t * rrrr rrrz\t\t>=8KB\n" - "> +\t\t * rrrr rrzz\t\t>\026KB\n" - "> +\t\t * rrrr rzzz\t\t>2KB\n" - "> +\t\t * rrrr zzzz\t\t>dKB\n" + "> +\t\t * rrrr rrzz\t\t>=16KB\n" + "> +\t\t * rrrr rzzz\t\t>=32KB\n" + "> +\t\t * rrrr zzzz\t\t>=64KB\n" "> +\t\t * .......\n" "> +\t\t */\n" "> +\t\tshift = mmu_psize_defs[i].shift - LP_SHIFT;\n" "> +\t\tif (shift > LP_BITS)\n" "> +\t\t\tshift = LP_BITS;\n" "> +\t\tmask = (1 << shift) - 1;\n" - "> +\t\tif ((lp & mask) = mmu_psize_defs[psize].penc[i])\n" + "> +\t\tif ((lp & mask) == mmu_psize_defs[psize].penc[i])\n" "> +\t\t\treturn i;\n" "> +\t}\n" "> +\treturn -1;\n" @@ -173,9 +173,9 @@ "> \t/* only handle 4k, 64k and 16M pages for now */\n" "> \tif (!(h & HPTE_V_LARGE))\n" "> -\t\treturn 1ul << 12;\t\t/* 4k page */\n" - "> -\tif ((l & 0xf000) = 0x1000 && cpu_has_feature(CPU_FTR_ARCH_206))\n" + "> -\tif ((l & 0xf000) == 0x1000 && cpu_has_feature(CPU_FTR_ARCH_206))\n" "> -\t\treturn 1ul << 16;\t\t/* 64k page */\n" - "> -\tif ((l & 0xff000) = 0)\n" + "> -\tif ((l & 0xff000) == 0)\n" "> -\t\treturn 1ul << 24;\t\t/* 16M page */\n" "> -\treturn 0;\t\t\t\t/* error */\n" "> +\t\treturn 1ul << 12;\n" @@ -218,4 +218,4 @@ "\n" -aneesh -53c5ec738c9b11c7f8661f6b0a8e4e967a6f1dfa3f60ee408e0b851fc81ac260 +04ce67f43b97235ccdf60aad1686a1b200862ff05e9f4957a77ce52eba885946
diff --git a/a/1.txt b/N2/1.txt index b7e8618..dd7483c 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -11,7 +11,7 @@ > --- a/arch/powerpc/include/asm/kvm_book3s_64.h > +++ b/arch/powerpc/include/asm/kvm_book3s_64.h > @@ -77,34 +77,122 @@ static inline long try_lock_hpte(unsigned long *hpte, unsigned long bits) -> return old = 0; +> return old == 0; > } > > +static inline int __hpte_actual_psize(unsigned int lp, int psize) @@ -23,22 +23,22 @@ > + for (i = 1; i < MMU_PAGE_COUNT; i++) { > + > + /* invalid penc */ -> + if (mmu_psize_defs[psize].penc[i] = -1) +> + if (mmu_psize_defs[psize].penc[i] == -1) > + continue; > + /* > + * encoding bits per actual page size > + * PTE LP actual page size > + * rrrr rrrz >=8KB -> + * rrrr rrzz >\x16KB -> + * rrrr rzzz >2KB -> + * rrrr zzzz >dKB +> + * rrrr rrzz >=16KB +> + * rrrr rzzz >=32KB +> + * rrrr zzzz >=64KB > + * ....... > + */ > + shift = mmu_psize_defs[i].shift - LP_SHIFT; > + if (shift > LP_BITS) > + shift = LP_BITS; > + mask = (1 << shift) - 1; -> + if ((lp & mask) = mmu_psize_defs[psize].penc[i]) +> + if ((lp & mask) == mmu_psize_defs[psize].penc[i]) > + return i; > + } > + return -1; @@ -161,9 +161,9 @@ > /* only handle 4k, 64k and 16M pages for now */ > if (!(h & HPTE_V_LARGE)) > - return 1ul << 12; /* 4k page */ -> - if ((l & 0xf000) = 0x1000 && cpu_has_feature(CPU_FTR_ARCH_206)) +> - if ((l & 0xf000) == 0x1000 && cpu_has_feature(CPU_FTR_ARCH_206)) > - return 1ul << 16; /* 64k page */ -> - if ((l & 0xff000) = 0) +> - if ((l & 0xff000) == 0) > - return 1ul << 24; /* 16M page */ > - return 0; /* error */ > + return 1ul << 12; diff --git a/a/content_digest b/N2/content_digest index e59d63b..4981d67 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -1,7 +1,7 @@ "ref\01399224616-25142-1-git-send-email-aneesh.kumar@linux.vnet.ibm.com\0" "From\0Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>\0" "Subject\0Re: [RFC PATCH] KVM: PPC: BOOK3S: HV: THP support for guest\0" - "Date\0Sun, 04 May 2014 17:48:05 +0000\0" + "Date\0Sun, 04 May 2014 23:06:05 +0530\0" "To\0agraf@suse.de" benh@kernel.crashing.org " paulus@samba.org\0" @@ -23,7 +23,7 @@ "> --- a/arch/powerpc/include/asm/kvm_book3s_64.h\n" "> +++ b/arch/powerpc/include/asm/kvm_book3s_64.h\n" "> @@ -77,34 +77,122 @@ static inline long try_lock_hpte(unsigned long *hpte, unsigned long bits)\n" - "> \treturn old = 0;\n" + "> \treturn old == 0;\n" "> }\n" ">\n" "> +static inline int __hpte_actual_psize(unsigned int lp, int psize)\n" @@ -35,22 +35,22 @@ "> +\tfor (i = 1; i < MMU_PAGE_COUNT; i++) {\n" "> +\n" "> +\t\t/* invalid penc */\n" - "> +\t\tif (mmu_psize_defs[psize].penc[i] = -1)\n" + "> +\t\tif (mmu_psize_defs[psize].penc[i] == -1)\n" "> +\t\t\tcontinue;\n" "> +\t\t/*\n" "> +\t\t * encoding bits per actual page size\n" "> +\t\t * PTE LP actual page size\n" "> +\t\t * rrrr rrrz\t\t>=8KB\n" - "> +\t\t * rrrr rrzz\t\t>\026KB\n" - "> +\t\t * rrrr rzzz\t\t>2KB\n" - "> +\t\t * rrrr zzzz\t\t>dKB\n" + "> +\t\t * rrrr rrzz\t\t>=16KB\n" + "> +\t\t * rrrr rzzz\t\t>=32KB\n" + "> +\t\t * rrrr zzzz\t\t>=64KB\n" "> +\t\t * .......\n" "> +\t\t */\n" "> +\t\tshift = mmu_psize_defs[i].shift - LP_SHIFT;\n" "> +\t\tif (shift > LP_BITS)\n" "> +\t\t\tshift = LP_BITS;\n" "> +\t\tmask = (1 << shift) - 1;\n" - "> +\t\tif ((lp & mask) = mmu_psize_defs[psize].penc[i])\n" + "> +\t\tif ((lp & mask) == mmu_psize_defs[psize].penc[i])\n" "> +\t\t\treturn i;\n" "> +\t}\n" "> +\treturn -1;\n" @@ -173,9 +173,9 @@ "> \t/* only handle 4k, 64k and 16M pages for now */\n" "> \tif (!(h & HPTE_V_LARGE))\n" "> -\t\treturn 1ul << 12;\t\t/* 4k page */\n" - "> -\tif ((l & 0xf000) = 0x1000 && cpu_has_feature(CPU_FTR_ARCH_206))\n" + "> -\tif ((l & 0xf000) == 0x1000 && cpu_has_feature(CPU_FTR_ARCH_206))\n" "> -\t\treturn 1ul << 16;\t\t/* 64k page */\n" - "> -\tif ((l & 0xff000) = 0)\n" + "> -\tif ((l & 0xff000) == 0)\n" "> -\t\treturn 1ul << 24;\t\t/* 16M page */\n" "> -\treturn 0;\t\t\t\t/* error */\n" "> +\t\treturn 1ul << 12;\n" @@ -218,4 +218,4 @@ "\n" -aneesh -53c5ec738c9b11c7f8661f6b0a8e4e967a6f1dfa3f60ee408e0b851fc81ac260 +248524ee7cec81fc839354ff8dadedd55886062298b93b194729a6846ad278ac
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.