Opcode and xopcode are useful definitions not just for KVM. Move these
definitions to asm/ppc-opcode.h for public use.
Signed-off-by: Jia Hongtao hongtao@freescale.com
Signed-off-by: Li Yang le...@freescale.com
---
V2:
* Add LHAUX definition.
arch/powerpc/include/asm/ppc-opcode.h | 46
A PCIe erratum of mpc85xx may causes a core hang when a link of PCIe
goes down. when the link goes down, Non-posted transactions issued
via the ATMU requiring completion result in an instruction stall.
At the same time a machine-check exception is generated to the core
to allow further processing
On Thu, Apr 25, 2013 at 07:07:24PM -0500, Scott Wood wrote:
On 04/24/2013 07:28:18 PM, Zhao Chenhui wrote:
On Wed, Apr 24, 2013 at 05:38:16PM -0500, Scott Wood wrote:
On 04/24/2013 06:29:29 AM, Zhao Chenhui wrote:
On Tue, Apr 23, 2013 at 07:04:06PM -0500, Scott Wood wrote:
On 04/19/2013
On Tue, Apr 23, 2013 at 06:53:20PM -0500, Scott Wood wrote:
On 04/19/2013 05:47:35 AM, Zhao Chenhui wrote:
static int pmc_suspend_enter(suspend_state_t state)
{
-int ret;
+int ret = 0;
+
+switch (state) {
+#ifdef CONFIG_PPC_85xx
+case PM_SUSPEND_MEM:
+#ifdef CONFIG_SPE
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
We were not saving DAR and DSISR on MCE. Save then and also print the values
along with exception details in xmon.
Acked-by: Paul Mackerras pau...@samba.org
Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
---
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
In all these cases we are doing something similar to
HPTE_V_COMPARE(hpte_v, want_v) which ignores the HPTE_V_LARGE bit
With MPSS support we would need actual page size to set HPTE_V_LARGE
bit and that won't be available in most of these
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
This make one PMD cover 16MB range. That helps in easier implementation of THP
on power. THP core code make use of one pmd entry to track the hugepage and
the range mapped by a single pmd entry should be equal to the hugepage size
supported
Hi,
This patchset include changes needed for mm/ and powerpc/mm/ to support THP.
I have split the patch series into two patchset, so that we can look at getting
prerequisite patches upstream in 3.10.
Some numbers:
The latency measurements code from Anton found at
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
We allocate one page for the last level of linux page table. With THP and
large page size of 16MB, that would mean we are wasting large part
of that page. To map 16MB area, we only need a PTE space of 2K with 64K
page size. This patch reduce
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
Encode the actual page correctly in tlbie/tlbiel. This make sure we handle
multiple page size segment correctly.
Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
---
arch/powerpc/mm/hash_native_64.c | 32
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
For architectures like ppc64 we look at deposited pgtable when
calling pmdp_get_and_clear. So do the pgtable_trans_huge_withdraw
after finishing pmdp related operations.
Reviewed-by: Andrea Arcangeli aarca...@redhat.com
Signed-off-by: Aneesh
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
On archs like powerpc that support different hugepage sizes, HPAGE_SHIFT
and other derived values like HPAGE_PMD_ORDER are not constants. So move
that to hugepage_init
Reviewed-by: Andrea Arcangeli aarca...@redhat.com
Reviewed-by: David
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
This gives hint about different base and actual page size combination
supported by the platform.
Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
---
arch/powerpc/mm/hash_utils_64.c | 10 +-
1 file changed, 5
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
With PGD_INDEX_SIZE set to 12 the existing macro doesn't work. Fix it to
use PTRS_PER_PGD
The idea originally was to have one more bit in the result of
pgd_index() than PGD_INDEX_SIZE, so that if one had an address
corresponding to the last
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
As per ISA doc, we encode base and actual page size in the LP bits of
PTE. The number of bit used to encode the page sizes depend on actual
page size. ISA doc lists this as
PTE LP actual page size
rrrz =8KB
rrzz
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
Change the hugepage directory format so that we can have leaf ptes directly
at page directory avoiding the allocation of hugepage directory.
With the new table format we have 3 cases for pgds and pmds:
(1) invalid (all zeroes)
(2) pointer to
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
PAPR defines these errors as negative values. So print them accordingly
for easy debugging.
Acked-by: Paul Mackerras pau...@samba.org
Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
---
arch/powerpc/platforms/pseries/lpar.c
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
Reviewed-by: David Gibson da...@gibson.dropbear.id.au
Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
---
arch/powerpc/include/asm/mmu-hash64.h | 3 ++-
arch/powerpc/mm/hash_utils_64.c | 12 +++-
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
USE PTRS_PER_PTE to indicate the size of pte page. To support THP,
later patches will be changing PTRS_PER_PTE value.
Acked-by: Paul Mackerras pau...@samba.org
Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
---
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
This will be later used by powerpc THP support. In powerpc we want to use
pgtable for storing the hash index values. So instead of adding them to
mm_context list, we would like to store them in the second half of pmd
Reviewed-by: Andrea
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
We will be switching PMD_SHIFT to 24 bits to facilitate THP impmenetation.
With PMD_SHIFT set to 24, we now have 16MB huge pages allocated at PGD level.
That means with 32 bit process we cannot allocate normal pages at
all, because we cover
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
This patch moves the common code to 32/64 bit headers and also duplicate
4K_PAGES and 64K_PAGES section. We will later change the 64 bit 64K_PAGES
version to support smaller PTE fragments. The patch doesn't introduce
any functional changes.
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
We look at both the segment base page size and actual page size and store
the pte-lp-encodings in an array per base page size.
We also update all relevant functions to take actual page size argument
so that we can use the correct PTE LP
Hi,
This is the second patchset needed to support THP on ppc64. Some of the changes
included in this series are tricky in that it changes the powerpc linux page
table
walk subtly. We also overload few of the pte flags for ptes at PMD leve (huge
page PTEs). This patchset require closer review
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
THP code does PTE page allocation along with large page request and deposit them
for later use. This is to ensure that we won't have any failures when we split
hugepages to regular pages.
On powerpc we want to use the deposited PTE page for
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
We now have pmd entries covering 16MB range and the PMD table double its
original size.
We use the second half of the PMD table to deposit the pgtable (PTE page).
The depoisted PTE page is further used to track the HPTE information. The
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
We will use this in the later patch for handling THP pages
Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
---
arch/powerpc/include/asm/hugetlb.h | 8 +-
arch/powerpc/include/asm/pgtable-ppc64.h | 11 --
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
Replace find_linux_pte with find_linux_pte_or_hugepte and explicitly
document why we don't need to handle transparent hugepages at callsites.
Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
---
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
---
arch/powerpc/mm/gup.c | 15 +--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/mm/gup.c b/arch/powerpc/mm/gup.c
index
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
We enable only if the we support 16MB page size.
Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
---
arch/powerpc/include/asm/pgtable-ppc64.h | 3 +--
arch/powerpc/mm/pgtable_64.c | 28
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
Hugepage invalidate involves invalidating multiple hpte entries.
Optimize the operation using H_BULK_REMOVE on lpar platforms.
On native, reduce the number of tlb flush.
Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
---
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
The deposted PTE page in the second half of the PMD table is used to
track the state on hash PTEs. After updating the HPTE, we mark the
coresponding slot in the deposted PTE page valid.
Signed-off-by: Aneesh Kumar K.V
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
Signed-off-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
---
arch/powerpc/mm/hugetlbpage.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c
index
From: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
With THP we set pmd to none, before we do pte_clear. Hence we can't
walk page table to get the pte lock ptr and verify whether it is locked.
THP do take pte lock before calling pte_clear. So we don't change the locking
rules here. It is that
Hi Al,
Today's linux-next merge of the vfs tree got a conflict in
arch/powerpc/kernel/rtas_flash.c between commit ad18a364f186
(powerpc/rtas_flash: Free kmem upon module exit), from the powerpc
tree and commit 5c0333c00ff6 (ppc: Clean up rtas_flash driver somewhat)
from the vfs tree.
I fixed it
p_toc is an 8 byte relative offset to the TOC that we place in the
text section. This means it is only 4 byte aligned where it should
be 8 byte aligned. Add an explicit alignment.
Signed-off-by: Anton Blanchard an...@samba.org
---
Index: b/arch/powerpc/kernel/head_64.S
On Mon, 2013-04-29 at 11:35 +1000, Stephen Rothwell wrote:
Today's linux-next merge of the vfs tree got a conflict in
arch/powerpc/kernel/rtas_flash.c between commit ad18a364f186
(powerpc/rtas_flash: Free kmem upon module exit), from the powerpc
tree and commit 5c0333c00ff6 (ppc: Clean up
This patch series (based on v3.9) adds a configuration option to
enable the use of BootX or OpenFirmware console for early debug
console support.
Previously the use of BootX/OpenFirmware as an early debug console was
selected by CONFIG_BOOTX. However this left the ability to select a
different
Signed-off-by: Alistair Popple alist...@popple.id.au
---
arch/powerpc/Kconfig.debug |7 +++
arch/powerpc/kernel/udbg.c |2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/Kconfig.debug b/arch/powerpc/Kconfig.debug
index 5416e28..e826853 100644
---
Update default configurations for systems with CONFIG_BOOTX_TEXT
selected so that they continue to print early debug messages as is
currently the case.
Signed-off-by: Alistair Popple alist...@popple.id.au
---
arch/powerpc/configs/c2k_defconfig|2 ++
arch/powerpc/configs/g5_defconfig
We use kmem_cache_alloc() to allocate memory to hold the new firmware
which will be flashed. kmem_cache_alloc() calls rtas_block_ctor() to
set memory to NULL. But these constructor is called only for newly
allocated slabs.
If we run below command multiple time without rebooting, allocator may
41 matches
Mail list logo