linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vineet Gupta <vgupta@synopsys.com>
To: Noam Camus <noamc@ezchip.com>, linux-snps-arc@lists.infradead.org
Cc: linux-kernel@vger.kernel.org, talz@ezchip.com, gilf@ezchip.com,
	cmetcalf@ezchip.com
Subject: Re: [PATCH v1 00/20] eznps a new ARC platform
Date: Wed, 4 Nov 2015 21:05:13 +0530	[thread overview]
Message-ID: <563A25B1.2000201@synopsys.com> (raw)
In-Reply-To: <1446297327-16298-1-git-send-email-noamc@ezchip.com>

On Saturday 31 October 2015 06:45 PM, Noam Camus wrote:
> From: Noam Camus <noamc@ezchip.com>
> 
> This set introduce new platform to ARC architecture.
> Platform name called "eznps" for working with EZchip NPS400
> Network Proccessor.
> NPS400 is targeted to service "fast path" network applications.
> 
> NPS400 got mesh of 256 extended ARC cores (AKA CTOP), each core
> got 16 HW threats. 

threads - although it might as well be a thread to others doing network SoC :-)

This is basically SMT core where at any point of
> time only one HW thread is active.
> Each core have HW scheduler that round robin between eligible HW
> threads. Totaly, kernel sees 4096 CPUs which I belive is a high record.
> There is no cache coherency between cores so generic user applications
> and kernel do not use D$.
> 
> Cores got special memory mappings for huge pages (8MB).
> Mapping is static and should provide application enough memory without
> any "TLB miss". This mapping is on top of TLB mapping.
> 
> This is a basic set that will later be followed with additional
> set of patches with all advanced features.
> 
> Many thanks to all people helping to make this happen.
> 
> Regards,
> Noam Camus
> 
> Noam Camus (17):
>   Documentation: Add EZchip vendor to binding list
>   clocksource: Add NPS400 timers driver
>   irqchip: add nps Internal and external irqchips
>   ARC: Set vmalloc size from configuration
>   ARC: rwlock: disable interrupts in !LLSC variant
>   ARC: Mark cpu online only after it has executed the per cpu init
>     hook.
>   ARC: mm: use generic macros _BITUL()
>   ARC: add CONFIG_CLKSRC_OF support to time_init()
>   ARC: [plat-eznps] Add eznps board defconfig and dts
>   ARC: [plat-eznps] Add eznps platform
>   ARC: [plat-eznps] Use dedicated user stack top
>   ARC: [plat-eznps] Use dedicated bitops/atomic/cmpxchg
>   ARC: [plat-eznps] Use dedicated SMP barriers
>   ARC: [plat-eznps] Use dedicated identity auxiliary register.
>   ARC: [plat-eznps] Use dedicated COMMAND_LINE_SIZE
>   ARC: [plat-eznps] define IPI_IRQ
>   ARC: Add eznps platform to Kconfig and Makefile
> 
> Tal Zilcer (3):
>   ARC: Use res_service as entry point for secondaries
>   ARC: [plat-eznps] Use dedicated cpu_relax()
>   ARC: [plat-eznps] replace sync with proper cpu barrier
> 
>  Documentation/devicetree/bindings/arc/eznps.txt    |    7 +
>  .../interrupt-controller/ezchip,nps400-ic.txt      |   17 ++
>  .../bindings/timer/ezchip,nps400-timer.txt         |   11 +
>  .../devicetree/bindings/vendor-prefixes.txt        |    1 +
>  MAINTAINERS                                        |    6 +
>  arch/arc/Kconfig                                   |    9 +
>  arch/arc/Makefile                                  |    9 +
>  arch/arc/boot/dts/eznps.dts                        |   76 ++++++
>  arch/arc/configs/nps_defconfig                     |   85 +++++++
>  arch/arc/include/asm/atomic.h                      |   69 +++++
>  arch/arc/include/asm/barrier.h                     |    8 +
>  arch/arc/include/asm/bitops.h                      |   49 ++++
>  arch/arc/include/asm/cmpxchg.h                     |   49 ++++
>  arch/arc/include/asm/entry-compact.h               |    8 +
>  arch/arc/include/asm/irq.h                         |    4 +
>  arch/arc/include/asm/pgtable.h                     |    2 +-
>  arch/arc/include/asm/processor.h                   |   32 ++-
>  arch/arc/include/asm/setup.h                       |    4 +
>  arch/arc/include/asm/smp.h                         |    2 +-
>  arch/arc/include/asm/spinlock.h                    |   14 +
>  arch/arc/kernel/ctx_sw.c                           |   20 ++
>  arch/arc/kernel/smp.c                              |    9 +-
>  arch/arc/kernel/time.c                             |    4 +
>  arch/arc/mm/tlb.c                                  |   12 +
>  arch/arc/plat-eznps/Kconfig                        |   34 +++
>  arch/arc/plat-eznps/Makefile                       |    7 +
>  arch/arc/plat-eznps/entry.S                        |   76 ++++++
>  arch/arc/plat-eznps/include/plat/ctop.h            |  265 ++++++++++++++++++++
>  arch/arc/plat-eznps/include/plat/mtm.h             |   60 +++++
>  arch/arc/plat-eznps/include/plat/smp.h             |   27 ++
>  arch/arc/plat-eznps/mtm.c                          |  152 +++++++++++
>  arch/arc/plat-eznps/platform.c                     |   40 +++
>  arch/arc/plat-eznps/smp.c                          |  160 ++++++++++++
>  drivers/clocksource/Makefile                       |    1 +
>  drivers/clocksource/timer-nps.c                    |  103 ++++++++
>  drivers/irqchip/Makefile                           |    1 +
>  drivers/irqchip/irq-eznps.c                        |  222 ++++++++++++++++
>  37 files changed, 1644 insertions(+), 11 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/arc/eznps.txt
>  create mode 100644 Documentation/devicetree/bindings/interrupt-controller/ezchip,nps400-ic.txt
>  create mode 100644 Documentation/devicetree/bindings/timer/ezchip,nps400-timer.txt
>  create mode 100644 arch/arc/boot/dts/eznps.dts
>  create mode 100644 arch/arc/configs/nps_defconfig
>  create mode 100644 arch/arc/plat-eznps/Kconfig
>  create mode 100644 arch/arc/plat-eznps/Makefile
>  create mode 100644 arch/arc/plat-eznps/entry.S
>  create mode 100644 arch/arc/plat-eznps/include/plat/ctop.h
>  create mode 100644 arch/arc/plat-eznps/include/plat/mtm.h
>  create mode 100644 arch/arc/plat-eznps/include/plat/smp.h
>  create mode 100644 arch/arc/plat-eznps/mtm.c
>  create mode 100644 arch/arc/plat-eznps/platform.c
>  create mode 100644 arch/arc/plat-eznps/smp.c
>  create mode 100644 drivers/clocksource/timer-nps.c
>  create mode 100644 drivers/irqchip/irq-eznps.c
> 


  parent reply	other threads:[~2015-11-04 15:35 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-31 13:15 [PATCH v1 00/20] eznps a new ARC platform Noam Camus
2015-10-31 13:15 ` [PATCH v1 01/20] Documentation: Add EZchip vendor to binding list Noam Camus
2015-10-31 13:15 ` [PATCH v1 02/20] clocksource: Add NPS400 timers driver Noam Camus
2015-11-01 20:44   ` Daniel Lezcano
2015-11-02  7:57     ` Noam Camus
2015-11-02 11:03   ` Vineet Gupta
2015-11-03 15:18     ` Noam Camus
2015-10-31 13:15 ` [PATCH v1 03/20] irqchip: add nps Internal and external irqchips Noam Camus
2015-10-31 13:15 ` [PATCH v1 04/20] ARC: Set vmalloc size from configuration Noam Camus
2015-10-31 13:15 ` [PATCH v1 05/20] ARC: rwlock: disable interrupts in !LLSC variant Noam Camus
2015-11-02  9:16   ` Peter Zijlstra
2015-11-02  9:42   ` Vineet Gupta
2015-11-02 10:03     ` Peter Zijlstra
2015-10-31 13:15 ` [PATCH v1 06/20] ARC: Mark cpu online only after it has executed the per cpu init hook Noam Camus
2015-10-31 13:15 ` [PATCH v1 07/20] ARC: mm: use generic macros _BITUL() Noam Camus
2015-11-02  6:23   ` Vineet Gupta
2015-11-02  6:27     ` Noam Camus
2015-10-31 13:15 ` [PATCH v1 08/20] ARC: Use res_service as entry point for secondaries Noam Camus
2015-11-02  6:38   ` Vineet Gupta
2015-11-02  8:05     ` Noam Camus
2015-10-31 13:15 ` [PATCH v1 09/20] ARC: add CONFIG_CLKSRC_OF support to time_init() Noam Camus
2015-11-02  6:32   ` Vineet Gupta
2015-10-31 13:15 ` [PATCH v1 10/20] ARC: [plat-eznps] Add eznps board defconfig and dts Noam Camus
2015-10-31 13:15 ` [PATCH v1 11/20] ARC: [plat-eznps] Add eznps platform Noam Camus
2015-11-02 10:56   ` Vineet Gupta
2015-11-03 15:59     ` Noam Camus
2015-11-04 12:38     ` Noam Camus
2015-11-05  5:09   ` Vineet Gupta
2015-10-31 13:15 ` [PATCH v1 12/20] ARC: [plat-eznps] Use dedicated user stack top Noam Camus
2015-10-31 13:15 ` [PATCH v1 13/20] ARC: [plat-eznps] Use dedicated bitops/atomic/cmpxchg Noam Camus
2015-11-02 11:56   ` Vineet Gupta
2015-10-31 13:15 ` [PATCH v1 14/20] ARC: [plat-eznps] Use dedicated SMP barriers Noam Camus
2015-11-02  8:02   ` Vineet Gupta
2015-11-02 13:08     ` Noam Camus
2015-10-31 13:15 ` [PATCH v1 15/20] ARC: [plat-eznps] Use dedicated identity auxiliary register Noam Camus
2015-10-31 13:15 ` [PATCH v1 16/20] ARC: [plat-eznps] Use dedicated cpu_relax() Noam Camus
2015-11-02  7:54   ` Vineet Gupta
2015-11-02  9:21   ` Peter Zijlstra
2015-11-03 14:02     ` Noam Camus
2015-10-31 13:15 ` [PATCH v1 17/20] ARC: [plat-eznps] Use dedicated COMMAND_LINE_SIZE Noam Camus
2015-10-31 13:15 ` [PATCH v1 18/20] ARC: [plat-eznps] define IPI_IRQ Noam Camus
2015-11-02  7:52   ` Vineet Gupta
2015-11-02 12:16     ` Noam Camus
2015-10-31 13:15 ` [PATCH v1 19/20] ARC: [plat-eznps] replace sync with proper cpu barrier Noam Camus
2015-11-02  7:48   ` Vineet Gupta
2015-11-02  9:26     ` Peter Zijlstra
2015-11-17 13:48       ` [PATCH] ARC: remove SYNC from __switch_to() Vineet Gupta
2015-10-31 13:15 ` [PATCH v1 20/20] ARC: Add eznps platform to Kconfig and Makefile Noam Camus
2015-11-02 11:06   ` Vineet Gupta
2015-11-03 15:32     ` Noam Camus
2015-11-04 15:35 ` Vineet Gupta [this message]
2015-11-04 15:53   ` [PATCH v1 00/20] eznps a new ARC platform Noam Camus
2015-11-04 17:42     ` Vineet Gupta
2015-11-07 10:52 ` [PATCH v2 00/19] " Noam Camus
2015-11-07 10:52 ` [PATCH v2 01/19] Documentation: Add EZchip vendor to binding list Noam Camus
2015-11-07 10:52 ` [PATCH v2 02/19] ARC: [plat-eznps] define IPI_IRQ Noam Camus
2015-11-07 10:52 ` [PATCH v2 03/19] clocksource: Add NPS400 timers driver Noam Camus
2015-11-07 11:26   ` Thomas Gleixner
2015-11-20 11:59     ` Noam Camus
2015-11-07 10:52 ` [PATCH v2 04/19] irqchip: add nps Internal and external irqchips Noam Camus
2015-11-07 11:38   ` Thomas Gleixner
2015-11-07 20:52     ` Noam Camus
2015-11-07 23:52       ` Thomas Gleixner
2015-11-07 10:52 ` [PATCH v2 05/19] ARC: Set vmalloc size from configuration Noam Camus
2015-11-07 10:52 ` [PATCH v2 06/19] ARC: rwlock: disable interrupts in !LLSC variant Noam Camus
2015-11-07 10:52 ` [PATCH v2 07/19] ARC: rename smp operation init_irq_cpu() to init_per_cpu() Noam Camus
2015-11-17 11:15   ` Vineet Gupta
2015-11-17 11:38     ` Noam Camus
2015-11-17 11:42       ` Vineet Gupta
2015-11-07 10:52 ` [PATCH v2 08/19] ARC: Mark secondary cpu online only after all HW setup is done Noam Camus
2015-11-17 11:17   ` Vineet Gupta
2015-11-07 10:52 ` [PATCH v2 09/19] ARC: add CONFIG_CLKSRC_OF support to time_init() Noam Camus
2015-11-07 10:52 ` [PATCH v2 10/19] ARC: [plat-eznps] Add eznps board defconfig and dts Noam Camus
2015-11-07 10:52 ` [PATCH v2 11/19] ARC: [plat-eznps] Add eznps platform Noam Camus
2015-11-07 10:52 ` [PATCH v2 12/19] ARC: [plat-eznps] Use dedicated user stack top Noam Camus
2015-11-07 10:52 ` [PATCH v2 13/19] ARC: [plat-eznps] Use dedicated atomic/bitops/cmpxchg Noam Camus
2015-11-07 10:52 ` [PATCH v2 14/19] ARC: [plat-eznps] Use dedicated SMP barriers Noam Camus
2015-11-07 10:52 ` [PATCH v2 15/19] ARC: [plat-eznps] Use dedicated identity auxiliary register Noam Camus
2015-11-07 10:52 ` [PATCH v2 16/19] ARC: [plat-eznps] Use dedicated cpu_relax() Noam Camus
2015-11-09 10:05   ` Peter Zijlstra
2015-11-09 10:22     ` Vineet Gupta
2015-11-09 10:45       ` Peter Zijlstra
2015-11-09 12:27         ` Vineet Gupta
2015-11-09 12:51           ` Peter Zijlstra
2015-11-07 10:52 ` [PATCH v2 17/19] ARC: [plat-eznps] Use dedicated COMMAND_LINE_SIZE Noam Camus
2015-11-07 10:52 ` [PATCH v2 18/19] ARC: [plat-eznps] replace sync with proper cpu barrier Noam Camus
2015-11-17 11:12   ` Vineet Gupta
2015-11-17 11:23     ` Peter Zijlstra
2015-11-17 11:37       ` Vineet Gupta
2015-11-17 12:22         ` Peter Zijlstra
2015-11-17 12:37           ` Vineet Gupta
2015-11-17 12:44             ` Peter Zijlstra
2015-11-17 13:32               ` Vineet Gupta
2015-11-17 13:59                 ` Peter Zijlstra
2015-11-07 10:52 ` [PATCH v2 19/19] ARC: Add eznps platform to Kconfig and Makefile Noam Camus

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=563A25B1.2000201@synopsys.com \
    --to=vgupta@synopsys.com \
    --cc=cmetcalf@ezchip.com \
    --cc=gilf@ezchip.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-snps-arc@lists.infradead.org \
    --cc=noamc@ezchip.com \
    --cc=talz@ezchip.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).