From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Kyle Moffett <Kyle.D.Moffett@boeing.com>
Cc: Mike Frysinger <vapier@gentoo.org>,
Ian Campbell <ian.campbell@citrix.com>,
Eric Dumazet <eric.dumazet@gmail.com>,
Jiri Pirko <jpirko@redhat.com>,
netdev@vger.kernel.org, B04825@freescale.com,
linux-kernel@vger.kernel.org, Milton Miller <miltonm@bga.com>,
paul.gortmaker@windriver.com, Paul Mackerras <paulus@samba.org>,
Anton Blanchard <anton@samba.org>,
Oleg Nesterov <oleg@redhat.com>,
scottwood@freescale.com,
Andrew Morton <akpm@linux-foundation.org>,
linuxppc-dev@lists.ozlabs.org,
"David S. Miller" <davem@davemloft.net>,
Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Subject: Re: [RFC PATCH 1/2] powerpc: Remove duplicate cacheable_memcpy/memzero functions
Date: Wed, 16 Nov 2011 09:31:07 +1100 [thread overview]
Message-ID: <1321396267.3170.12.camel@pasglop> (raw)
In-Reply-To: <1321324332-22964-2-git-send-email-Kyle.D.Moffett@boeing.com>
On Mon, 2011-11-14 at 21:32 -0500, Kyle Moffett wrote:
> These functions are only used from one place each. If the cacheable_*
> versions really are more efficient, then those changes should be
> migrated into the common code instead.
>
> NOTE: The old routines are just flat buggy on kernels that support
> hardware with different cacheline sizes.
>
> Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
> ---
Right, considering where those are used, I think we can safely remove
them. Thanks.
Ben.
> arch/powerpc/include/asm/system.h | 2 -
> arch/powerpc/kernel/ppc_ksyms.c | 2 -
> arch/powerpc/lib/copy_32.S | 127 ----------------------------------
> arch/powerpc/mm/ppc_mmu_32.c | 2 +-
> drivers/net/ethernet/ibm/emac/core.c | 12 +---
> 5 files changed, 3 insertions(+), 142 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/system.h b/arch/powerpc/include/asm/system.h
> index e30a13d..25389d1 100644
> --- a/arch/powerpc/include/asm/system.h
> +++ b/arch/powerpc/include/asm/system.h
> @@ -189,8 +189,6 @@ static inline void flush_spe_to_thread(struct task_struct *t)
> #endif
>
> extern int call_rtas(const char *, int, int, unsigned long *, ...);
> -extern void cacheable_memzero(void *p, unsigned int nb);
> -extern void *cacheable_memcpy(void *, const void *, unsigned int);
> extern int do_page_fault(struct pt_regs *, unsigned long, unsigned long);
> extern void bad_page_fault(struct pt_regs *, unsigned long, int);
> extern int die(const char *, struct pt_regs *, long);
> diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c
> index d3114a7..acba8ce 100644
> --- a/arch/powerpc/kernel/ppc_ksyms.c
> +++ b/arch/powerpc/kernel/ppc_ksyms.c
> @@ -159,8 +159,6 @@ EXPORT_SYMBOL(screen_info);
> #ifdef CONFIG_PPC32
> EXPORT_SYMBOL(timer_interrupt);
> EXPORT_SYMBOL(tb_ticks_per_jiffy);
> -EXPORT_SYMBOL(cacheable_memcpy);
> -EXPORT_SYMBOL(cacheable_memzero);
> #endif
>
> #ifdef CONFIG_PPC32
> diff --git a/arch/powerpc/lib/copy_32.S b/arch/powerpc/lib/copy_32.S
> index 55f19f9..6813f80 100644
> --- a/arch/powerpc/lib/copy_32.S
> +++ b/arch/powerpc/lib/copy_32.S
> @@ -69,54 +69,6 @@ CACHELINE_BYTES = L1_CACHE_BYTES
> LG_CACHELINE_BYTES = L1_CACHE_SHIFT
> CACHELINE_MASK = (L1_CACHE_BYTES-1)
>
> -/*
> - * Use dcbz on the complete cache lines in the destination
> - * to set them to zero. This requires that the destination
> - * area is cacheable. -- paulus
> - */
> -_GLOBAL(cacheable_memzero)
> - mr r5,r4
> - li r4,0
> - addi r6,r3,-4
> - cmplwi 0,r5,4
> - blt 7f
> - stwu r4,4(r6)
> - beqlr
> - andi. r0,r6,3
> - add r5,r0,r5
> - subf r6,r0,r6
> - clrlwi r7,r6,32-LG_CACHELINE_BYTES
> - add r8,r7,r5
> - srwi r9,r8,LG_CACHELINE_BYTES
> - addic. r9,r9,-1 /* total number of complete cachelines */
> - ble 2f
> - xori r0,r7,CACHELINE_MASK & ~3
> - srwi. r0,r0,2
> - beq 3f
> - mtctr r0
> -4: stwu r4,4(r6)
> - bdnz 4b
> -3: mtctr r9
> - li r7,4
> -10: dcbz r7,r6
> - addi r6,r6,CACHELINE_BYTES
> - bdnz 10b
> - clrlwi r5,r8,32-LG_CACHELINE_BYTES
> - addi r5,r5,4
> -2: srwi r0,r5,2
> - mtctr r0
> - bdz 6f
> -1: stwu r4,4(r6)
> - bdnz 1b
> -6: andi. r5,r5,3
> -7: cmpwi 0,r5,0
> - beqlr
> - mtctr r5
> - addi r6,r6,3
> -8: stbu r4,1(r6)
> - bdnz 8b
> - blr
> -
> _GLOBAL(memset)
> rlwimi r4,r4,8,16,23
> rlwimi r4,r4,16,0,15
> @@ -142,85 +94,6 @@ _GLOBAL(memset)
> bdnz 8b
> blr
>
> -/*
> - * This version uses dcbz on the complete cache lines in the
> - * destination area to reduce memory traffic. This requires that
> - * the destination area is cacheable.
> - * We only use this version if the source and dest don't overlap.
> - * -- paulus.
> - */
> -_GLOBAL(cacheable_memcpy)
> - add r7,r3,r5 /* test if the src & dst overlap */
> - add r8,r4,r5
> - cmplw 0,r4,r7
> - cmplw 1,r3,r8
> - crand 0,0,4 /* cr0.lt &= cr1.lt */
> - blt memcpy /* if regions overlap */
> -
> - addi r4,r4,-4
> - addi r6,r3,-4
> - neg r0,r3
> - andi. r0,r0,CACHELINE_MASK /* # bytes to start of cache line */
> - beq 58f
> -
> - cmplw 0,r5,r0 /* is this more than total to do? */
> - blt 63f /* if not much to do */
> - andi. r8,r0,3 /* get it word-aligned first */
> - subf r5,r0,r5
> - mtctr r8
> - beq+ 61f
> -70: lbz r9,4(r4) /* do some bytes */
> - stb r9,4(r6)
> - addi r4,r4,1
> - addi r6,r6,1
> - bdnz 70b
> -61: srwi. r0,r0,2
> - mtctr r0
> - beq 58f
> -72: lwzu r9,4(r4) /* do some words */
> - stwu r9,4(r6)
> - bdnz 72b
> -
> -58: srwi. r0,r5,LG_CACHELINE_BYTES /* # complete cachelines */
> - clrlwi r5,r5,32-LG_CACHELINE_BYTES
> - li r11,4
> - mtctr r0
> - beq 63f
> -53:
> - dcbz r11,r6
> - COPY_16_BYTES
> -#if L1_CACHE_BYTES >= 32
> - COPY_16_BYTES
> -#if L1_CACHE_BYTES >= 64
> - COPY_16_BYTES
> - COPY_16_BYTES
> -#if L1_CACHE_BYTES >= 128
> - COPY_16_BYTES
> - COPY_16_BYTES
> - COPY_16_BYTES
> - COPY_16_BYTES
> -#endif
> -#endif
> -#endif
> - bdnz 53b
> -
> -63: srwi. r0,r5,2
> - mtctr r0
> - beq 64f
> -30: lwzu r0,4(r4)
> - stwu r0,4(r6)
> - bdnz 30b
> -
> -64: andi. r0,r5,3
> - mtctr r0
> - beq+ 65f
> -40: lbz r0,4(r4)
> - stb r0,4(r6)
> - addi r4,r4,1
> - addi r6,r6,1
> - bdnz 40b
> -65: blr
> -
> _GLOBAL(memmove)
> cmplw 0,r3,r4
> bgt backwards_memcpy
> diff --git a/arch/powerpc/mm/ppc_mmu_32.c b/arch/powerpc/mm/ppc_mmu_32.c
> index 11571e1..9f16b9f 100644
> --- a/arch/powerpc/mm/ppc_mmu_32.c
> +++ b/arch/powerpc/mm/ppc_mmu_32.c
> @@ -224,7 +224,7 @@ void __init MMU_init_hw(void)
> */
> if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322);
> Hash = __va(memblock_alloc(Hash_size, Hash_size));
> - cacheable_memzero(Hash, Hash_size);
> + memset(Hash, 0, Hash_size);
> _SDR1 = __pa(Hash) | SDR1_LOW_BITS;
>
> Hash_end = (struct hash_pte *) ((unsigned long)Hash + Hash_size);
> diff --git a/drivers/net/ethernet/ibm/emac/core.c b/drivers/net/ethernet/ibm/emac/core.c
> index ed79b2d..be214ad 100644
> --- a/drivers/net/ethernet/ibm/emac/core.c
> +++ b/drivers/net/ethernet/ibm/emac/core.c
> @@ -77,13 +77,6 @@ MODULE_AUTHOR
> ("Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>");
> MODULE_LICENSE("GPL");
>
> -/*
> - * PPC64 doesn't (yet) have a cacheable_memcpy
> - */
> -#ifdef CONFIG_PPC64
> -#define cacheable_memcpy(d,s,n) memcpy((d),(s),(n))
> -#endif
> -
> /* minimum number of free TX descriptors required to wake up TX process */
> #define EMAC_TX_WAKEUP_THRESH (NUM_TX_BUFF / 4)
>
> @@ -1637,7 +1630,7 @@ static inline int emac_rx_sg_append(struct emac_instance *dev, int slot)
> dev_kfree_skb(dev->rx_sg_skb);
> dev->rx_sg_skb = NULL;
> } else {
> - cacheable_memcpy(skb_tail_pointer(dev->rx_sg_skb),
> + memcpy(skb_tail_pointer(dev->rx_sg_skb),
> dev->rx_skb[slot]->data, len);
> skb_put(dev->rx_sg_skb, len);
> emac_recycle_rx_skb(dev, slot, len);
> @@ -1694,8 +1687,7 @@ static int emac_poll_rx(void *param, int budget)
> goto oom;
>
> skb_reserve(copy_skb, EMAC_RX_SKB_HEADROOM + 2);
> - cacheable_memcpy(copy_skb->data - 2, skb->data - 2,
> - len + 2);
> + memcpy(copy_skb->data - 2, skb->data - 2, len + 2);
> emac_recycle_rx_skb(dev, slot, len);
> skb = copy_skb;
> } else if (unlikely(emac_alloc_rx_skb(dev, slot, GFP_ATOMIC)))
WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Kyle Moffett <Kyle.D.Moffett@boeing.com>
Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
galak@kernel.crashing.org, scottwood@freescale.com,
B04825@freescale.com, paul.gortmaker@windriver.com,
Paul Mackerras <paulus@samba.org>,
Andrew Morton <akpm@linux-foundation.org>,
Milton Miller <miltonm@bga.com>,
Mike Frysinger <vapier@gentoo.org>,
Oleg Nesterov <oleg@redhat.com>,
Anton Blanchard <anton@samba.org>,
"David S. Miller" <davem@davemloft.net>,
Ian Campbell <ian.campbell@citrix.com>,
Eric Dumazet <eric.dumazet@gmail.com>,
Jeff Kirsher <jeffrey.t.kirsher@intel.com>,
Jiri Pirko <jpirko@redhat.com>,
netdev@vger.kernel.org
Subject: Re: [RFC PATCH 1/2] powerpc: Remove duplicate cacheable_memcpy/memzero functions
Date: Wed, 16 Nov 2011 09:31:07 +1100 [thread overview]
Message-ID: <1321396267.3170.12.camel@pasglop> (raw)
In-Reply-To: <1321324332-22964-2-git-send-email-Kyle.D.Moffett@boeing.com>
On Mon, 2011-11-14 at 21:32 -0500, Kyle Moffett wrote:
> These functions are only used from one place each. If the cacheable_*
> versions really are more efficient, then those changes should be
> migrated into the common code instead.
>
> NOTE: The old routines are just flat buggy on kernels that support
> hardware with different cacheline sizes.
>
> Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
> ---
Right, considering where those are used, I think we can safely remove
them. Thanks.
Ben.
> arch/powerpc/include/asm/system.h | 2 -
> arch/powerpc/kernel/ppc_ksyms.c | 2 -
> arch/powerpc/lib/copy_32.S | 127 ----------------------------------
> arch/powerpc/mm/ppc_mmu_32.c | 2 +-
> drivers/net/ethernet/ibm/emac/core.c | 12 +---
> 5 files changed, 3 insertions(+), 142 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/system.h b/arch/powerpc/include/asm/system.h
> index e30a13d..25389d1 100644
> --- a/arch/powerpc/include/asm/system.h
> +++ b/arch/powerpc/include/asm/system.h
> @@ -189,8 +189,6 @@ static inline void flush_spe_to_thread(struct task_struct *t)
> #endif
>
> extern int call_rtas(const char *, int, int, unsigned long *, ...);
> -extern void cacheable_memzero(void *p, unsigned int nb);
> -extern void *cacheable_memcpy(void *, const void *, unsigned int);
> extern int do_page_fault(struct pt_regs *, unsigned long, unsigned long);
> extern void bad_page_fault(struct pt_regs *, unsigned long, int);
> extern int die(const char *, struct pt_regs *, long);
> diff --git a/arch/powerpc/kernel/ppc_ksyms.c b/arch/powerpc/kernel/ppc_ksyms.c
> index d3114a7..acba8ce 100644
> --- a/arch/powerpc/kernel/ppc_ksyms.c
> +++ b/arch/powerpc/kernel/ppc_ksyms.c
> @@ -159,8 +159,6 @@ EXPORT_SYMBOL(screen_info);
> #ifdef CONFIG_PPC32
> EXPORT_SYMBOL(timer_interrupt);
> EXPORT_SYMBOL(tb_ticks_per_jiffy);
> -EXPORT_SYMBOL(cacheable_memcpy);
> -EXPORT_SYMBOL(cacheable_memzero);
> #endif
>
> #ifdef CONFIG_PPC32
> diff --git a/arch/powerpc/lib/copy_32.S b/arch/powerpc/lib/copy_32.S
> index 55f19f9..6813f80 100644
> --- a/arch/powerpc/lib/copy_32.S
> +++ b/arch/powerpc/lib/copy_32.S
> @@ -69,54 +69,6 @@ CACHELINE_BYTES = L1_CACHE_BYTES
> LG_CACHELINE_BYTES = L1_CACHE_SHIFT
> CACHELINE_MASK = (L1_CACHE_BYTES-1)
>
> -/*
> - * Use dcbz on the complete cache lines in the destination
> - * to set them to zero. This requires that the destination
> - * area is cacheable. -- paulus
> - */
> -_GLOBAL(cacheable_memzero)
> - mr r5,r4
> - li r4,0
> - addi r6,r3,-4
> - cmplwi 0,r5,4
> - blt 7f
> - stwu r4,4(r6)
> - beqlr
> - andi. r0,r6,3
> - add r5,r0,r5
> - subf r6,r0,r6
> - clrlwi r7,r6,32-LG_CACHELINE_BYTES
> - add r8,r7,r5
> - srwi r9,r8,LG_CACHELINE_BYTES
> - addic. r9,r9,-1 /* total number of complete cachelines */
> - ble 2f
> - xori r0,r7,CACHELINE_MASK & ~3
> - srwi. r0,r0,2
> - beq 3f
> - mtctr r0
> -4: stwu r4,4(r6)
> - bdnz 4b
> -3: mtctr r9
> - li r7,4
> -10: dcbz r7,r6
> - addi r6,r6,CACHELINE_BYTES
> - bdnz 10b
> - clrlwi r5,r8,32-LG_CACHELINE_BYTES
> - addi r5,r5,4
> -2: srwi r0,r5,2
> - mtctr r0
> - bdz 6f
> -1: stwu r4,4(r6)
> - bdnz 1b
> -6: andi. r5,r5,3
> -7: cmpwi 0,r5,0
> - beqlr
> - mtctr r5
> - addi r6,r6,3
> -8: stbu r4,1(r6)
> - bdnz 8b
> - blr
> -
> _GLOBAL(memset)
> rlwimi r4,r4,8,16,23
> rlwimi r4,r4,16,0,15
> @@ -142,85 +94,6 @@ _GLOBAL(memset)
> bdnz 8b
> blr
>
> -/*
> - * This version uses dcbz on the complete cache lines in the
> - * destination area to reduce memory traffic. This requires that
> - * the destination area is cacheable.
> - * We only use this version if the source and dest don't overlap.
> - * -- paulus.
> - */
> -_GLOBAL(cacheable_memcpy)
> - add r7,r3,r5 /* test if the src & dst overlap */
> - add r8,r4,r5
> - cmplw 0,r4,r7
> - cmplw 1,r3,r8
> - crand 0,0,4 /* cr0.lt &= cr1.lt */
> - blt memcpy /* if regions overlap */
> -
> - addi r4,r4,-4
> - addi r6,r3,-4
> - neg r0,r3
> - andi. r0,r0,CACHELINE_MASK /* # bytes to start of cache line */
> - beq 58f
> -
> - cmplw 0,r5,r0 /* is this more than total to do? */
> - blt 63f /* if not much to do */
> - andi. r8,r0,3 /* get it word-aligned first */
> - subf r5,r0,r5
> - mtctr r8
> - beq+ 61f
> -70: lbz r9,4(r4) /* do some bytes */
> - stb r9,4(r6)
> - addi r4,r4,1
> - addi r6,r6,1
> - bdnz 70b
> -61: srwi. r0,r0,2
> - mtctr r0
> - beq 58f
> -72: lwzu r9,4(r4) /* do some words */
> - stwu r9,4(r6)
> - bdnz 72b
> -
> -58: srwi. r0,r5,LG_CACHELINE_BYTES /* # complete cachelines */
> - clrlwi r5,r5,32-LG_CACHELINE_BYTES
> - li r11,4
> - mtctr r0
> - beq 63f
> -53:
> - dcbz r11,r6
> - COPY_16_BYTES
> -#if L1_CACHE_BYTES >= 32
> - COPY_16_BYTES
> -#if L1_CACHE_BYTES >= 64
> - COPY_16_BYTES
> - COPY_16_BYTES
> -#if L1_CACHE_BYTES >= 128
> - COPY_16_BYTES
> - COPY_16_BYTES
> - COPY_16_BYTES
> - COPY_16_BYTES
> -#endif
> -#endif
> -#endif
> - bdnz 53b
> -
> -63: srwi. r0,r5,2
> - mtctr r0
> - beq 64f
> -30: lwzu r0,4(r4)
> - stwu r0,4(r6)
> - bdnz 30b
> -
> -64: andi. r0,r5,3
> - mtctr r0
> - beq+ 65f
> -40: lbz r0,4(r4)
> - stb r0,4(r6)
> - addi r4,r4,1
> - addi r6,r6,1
> - bdnz 40b
> -65: blr
> -
> _GLOBAL(memmove)
> cmplw 0,r3,r4
> bgt backwards_memcpy
> diff --git a/arch/powerpc/mm/ppc_mmu_32.c b/arch/powerpc/mm/ppc_mmu_32.c
> index 11571e1..9f16b9f 100644
> --- a/arch/powerpc/mm/ppc_mmu_32.c
> +++ b/arch/powerpc/mm/ppc_mmu_32.c
> @@ -224,7 +224,7 @@ void __init MMU_init_hw(void)
> */
> if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322);
> Hash = __va(memblock_alloc(Hash_size, Hash_size));
> - cacheable_memzero(Hash, Hash_size);
> + memset(Hash, 0, Hash_size);
> _SDR1 = __pa(Hash) | SDR1_LOW_BITS;
>
> Hash_end = (struct hash_pte *) ((unsigned long)Hash + Hash_size);
> diff --git a/drivers/net/ethernet/ibm/emac/core.c b/drivers/net/ethernet/ibm/emac/core.c
> index ed79b2d..be214ad 100644
> --- a/drivers/net/ethernet/ibm/emac/core.c
> +++ b/drivers/net/ethernet/ibm/emac/core.c
> @@ -77,13 +77,6 @@ MODULE_AUTHOR
> ("Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>");
> MODULE_LICENSE("GPL");
>
> -/*
> - * PPC64 doesn't (yet) have a cacheable_memcpy
> - */
> -#ifdef CONFIG_PPC64
> -#define cacheable_memcpy(d,s,n) memcpy((d),(s),(n))
> -#endif
> -
> /* minimum number of free TX descriptors required to wake up TX process */
> #define EMAC_TX_WAKEUP_THRESH (NUM_TX_BUFF / 4)
>
> @@ -1637,7 +1630,7 @@ static inline int emac_rx_sg_append(struct emac_instance *dev, int slot)
> dev_kfree_skb(dev->rx_sg_skb);
> dev->rx_sg_skb = NULL;
> } else {
> - cacheable_memcpy(skb_tail_pointer(dev->rx_sg_skb),
> + memcpy(skb_tail_pointer(dev->rx_sg_skb),
> dev->rx_skb[slot]->data, len);
> skb_put(dev->rx_sg_skb, len);
> emac_recycle_rx_skb(dev, slot, len);
> @@ -1694,8 +1687,7 @@ static int emac_poll_rx(void *param, int budget)
> goto oom;
>
> skb_reserve(copy_skb, EMAC_RX_SKB_HEADROOM + 2);
> - cacheable_memcpy(copy_skb->data - 2, skb->data - 2,
> - len + 2);
> + memcpy(copy_skb->data - 2, skb->data - 2, len + 2);
> emac_recycle_rx_skb(dev, slot, len);
> skb = copy_skb;
> } else if (unlikely(emac_alloc_rx_skb(dev, slot, GFP_ATOMIC)))
next prev parent reply other threads:[~2011-11-15 22:31 UTC|newest]
Thread overview: 140+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-20 4:56 [RFC PATCH] powerpc: 85xx: Make e500/e500v2 depend on !E500MC Baruch Siach
2011-07-12 4:15 ` Baruch Siach
2011-07-28 19:56 ` Tabi Timur-B04825
2011-07-28 20:02 ` Timur Tabi
2011-08-01 5:02 ` Baruch Siach
2011-07-28 20:20 ` Scott Wood
2011-08-01 4:59 ` Baruch Siach
2011-08-01 5:12 ` [PATCH] powerpc: 85xx: separate e500 from e500mc Baruch Siach
2011-08-08 9:07 ` [PATCH v2] " Baruch Siach
2011-08-08 19:42 ` Scott Wood
2011-08-10 4:43 ` Baruch Siach
2011-08-10 5:21 ` [PATCH v3] " Baruch Siach
2011-08-10 15:39 ` Paul Gortmaker
2011-08-10 16:01 ` Scott Wood
2011-08-10 16:40 ` Paul Gortmaker
2011-11-10 0:03 ` [RFC PATCH 00/17] powerpc/e500: " Kyle Moffett
2011-11-10 0:03 ` Kyle Moffett
2011-11-10 13:59 ` Kumar Gala
2011-11-10 13:59 ` Kumar Gala
2011-11-10 16:17 ` Moffett, Kyle D
2011-11-10 16:17 ` Moffett, Kyle D
2011-11-10 16:30 ` Kumar Gala
2011-11-10 16:30 ` Kumar Gala
2011-11-10 16:54 ` Scott Wood
2011-11-10 16:54 ` Scott Wood
2011-11-11 0:38 ` Moffett, Kyle D
2011-11-11 0:38 ` Moffett, Kyle D
2011-11-11 4:40 ` Benjamin Herrenschmidt
2011-11-11 4:40 ` Benjamin Herrenschmidt
2011-11-15 2:32 ` [RFC PATCH 0/2] powerpc: CPU cache op cleanup Kyle Moffett
2011-11-15 2:32 ` Kyle Moffett
2011-11-15 22:29 ` Benjamin Herrenschmidt
2011-11-15 22:29 ` Benjamin Herrenschmidt
2011-11-15 22:45 ` Moffett, Kyle D
2011-11-15 22:45 ` Moffett, Kyle D
2011-11-15 23:46 ` Benjamin Herrenschmidt
2011-11-15 23:46 ` Benjamin Herrenschmidt
2011-11-16 0:25 ` Moffett, Kyle D
2011-11-16 0:25 ` Moffett, Kyle D
2011-11-16 4:40 ` Paul Mackerras
2011-11-16 4:40 ` Paul Mackerras
2011-11-16 20:52 ` Moffett, Kyle D
2011-11-16 20:52 ` Moffett, Kyle D
2011-11-15 2:32 ` [RFC PATCH 1/2] powerpc: Remove duplicate cacheable_memcpy/memzero functions Kyle Moffett
2011-11-15 2:32 ` Kyle Moffett
2011-11-15 22:31 ` Benjamin Herrenschmidt [this message]
2011-11-15 22:31 ` Benjamin Herrenschmidt
2011-11-15 2:32 ` [RFC PATCH 2/2] WIP: PowerPC cache cleanup Kyle Moffett
2011-11-15 2:32 ` Kyle Moffett
2011-11-15 2:36 ` [RFC PATCH 00/17] powerpc/e500: separate e500 from e500mc Moffett, Kyle D
2011-11-15 2:36 ` Moffett, Kyle D
2011-11-15 2:41 ` Tabi Timur-B04825
2011-11-15 2:41 ` Tabi Timur-B04825
2011-11-15 3:40 ` Kyle Moffett
2011-11-15 3:40 ` Kyle Moffett
2011-11-15 22:41 ` Benjamin Herrenschmidt
2011-11-15 22:41 ` Benjamin Herrenschmidt
2011-11-10 0:06 ` Kyle Moffett
2011-11-10 0:06 ` Kyle Moffett
2011-11-10 0:06 ` [RFC PATCH 01/17] powerpc/mpic: Fix bogus CONFIG_BOOKE conditional Kyle Moffett
2011-11-10 0:06 ` Kyle Moffett
2011-11-10 13:33 ` Kumar Gala
2011-11-10 13:33 ` Kumar Gala
2011-11-10 0:07 ` [RFC PATCH 02/17] powerpc: Split up PHYS_64BIT config option to fix "select" issues Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-11-10 13:36 ` Kumar Gala
2011-11-10 13:36 ` Kumar Gala
2011-11-10 14:04 ` Timur Tabi
2011-11-10 14:04 ` Timur Tabi
2011-11-10 16:31 ` Moffett, Kyle D
2011-11-10 16:31 ` Moffett, Kyle D
2011-11-10 16:50 ` Timur Tabi
2011-11-10 16:50 ` Timur Tabi
2011-11-11 4:50 ` Benjamin Herrenschmidt
2011-11-11 4:50 ` Benjamin Herrenschmidt
2011-11-11 13:12 ` Tabi Timur-B04825
2011-11-11 13:12 ` Tabi Timur-B04825
2011-11-10 0:07 ` [RFC PATCH 03/17] fsl_rio: Remove FreeScale e500 conditionals Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-11-10 0:07 ` [RFC PATCH 04/17] powerpc: Allow multiple machine-check handlers Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-11-10 13:37 ` Kumar Gala
2011-11-10 13:37 ` Kumar Gala
2011-11-10 16:33 ` Moffett, Kyle D
2011-11-10 16:33 ` Moffett, Kyle D
2011-11-10 0:07 ` [RFC PATCH 05/17] powerpc/e500: Remove unused "default e500" from CPU table Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-11-10 0:07 ` [RFC PATCH 06/17] powerpc/e500: Split FreeScale e500v1/v2 and e500mc config options Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-11-10 0:07 ` [RFC PATCH 07/17] powerpc/e200: Rename CONFIG_E200 => CONFIG_FSL_E200 Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-11-10 0:07 ` [RFC PATCH 08/17] powerpc/e500: Remove conditional "lwsync" substitution Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-11-10 13:40 ` Kumar Gala
2011-11-10 13:40 ` Kumar Gala
2011-11-10 16:31 ` Scott Wood
2011-11-10 16:31 ` Scott Wood
2011-11-10 16:42 ` Kumar Gala
2011-11-10 16:42 ` Kumar Gala
2011-11-10 17:03 ` Scott Wood
2011-11-10 17:03 ` Scott Wood
2011-11-10 20:27 ` Moffett, Kyle D
2011-11-10 20:27 ` Moffett, Kyle D
2011-11-10 20:34 ` Kumar Gala
2011-11-10 20:34 ` Kumar Gala
2011-11-11 4:45 ` Benjamin Herrenschmidt
2011-11-11 4:45 ` Benjamin Herrenschmidt
2011-11-11 4:43 ` Benjamin Herrenschmidt
2011-11-11 4:43 ` Benjamin Herrenschmidt
2011-11-10 0:07 ` [RFC PATCH 09/17] powerpc/e500: Split idle handlers for e500v1/v2 and e500mc Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-11-10 0:07 ` [RFC PATCH 10/17] powerpc/e500: Fix up the last references to CONFIG_PPC_E500MC Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-11-10 0:07 ` [RFC PATCH 11/17] powerpc/e500: Use the correct assembler flags for e500mc and e5500 Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-11-10 0:07 ` [RFC PATCH 12/17] powerpc/e500: Separate e500mc CPU table entries from e500v1/e500v2 Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-11-10 0:07 ` [RFC PATCH 13/17] powerpc/e500: Add a new CONFIG_FSL_E5500 option for the e5500 Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-11-10 13:46 ` Kumar Gala
2011-11-10 13:46 ` Kumar Gala
2011-11-10 16:49 ` Scott Wood
2011-11-10 16:49 ` Scott Wood
2011-11-10 0:07 ` [RFC PATCH 14/17] powerpc/e500: Don't make kgdb use e500v1/e500v2 registers on e500mc Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-11-10 16:46 ` Scott Wood
2011-11-10 16:46 ` Scott Wood
2011-11-10 0:07 ` [RFC PATCH 15/17] powerpc/e500: Fix up all remaining code uses of CONFIG_E500 Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-11-10 0:07 ` [RFC PATCH 16/17] powerpc/e500: Make __setup_cpu_{e200, e500, e500mc, e5500} optional Kyle Moffett
2011-11-10 0:07 ` [RFC PATCH 16/17] powerpc/e500: Make __setup_cpu_{e200,e500,e500mc,e5500} optional Kyle Moffett
2011-11-10 16:47 ` Scott Wood
2011-11-10 16:47 ` Scott Wood
2011-11-10 18:52 ` [RFC PATCH 16/17] powerpc/e500: Make __setup_cpu_{e200, e500, e500mc, e5500} optional Kumar Gala
2011-11-10 18:52 ` [RFC PATCH 16/17] powerpc/e500: Make __setup_cpu_{e200,e500,e500mc,e5500} optional Kumar Gala
2011-11-10 0:07 ` [RFC PATCH 17/17] powerpc/e500: Finally remove "CONFIG_E500" Kyle Moffett
2011-11-10 0:07 ` Kyle Moffett
2011-10-24 6:00 ` [PATCH v3] powerpc: 85xx: separate e500 from e500mc Baruch Siach
2011-07-29 7:23 ` [RFC PATCH] powerpc: 85xx: Make e500/e500v2 depend on !E500MC Baruch Siach
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1321396267.3170.12.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=B04825@freescale.com \
--cc=Kyle.D.Moffett@boeing.com \
--cc=akpm@linux-foundation.org \
--cc=anton@samba.org \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=ian.campbell@citrix.com \
--cc=jeffrey.t.kirsher@intel.com \
--cc=jpirko@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=miltonm@bga.com \
--cc=netdev@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=paul.gortmaker@windriver.com \
--cc=paulus@samba.org \
--cc=scottwood@freescale.com \
--cc=vapier@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.