From: David Daney <ddaney@caviumnetworks.com>
To: Christoph Hellwig <hch@lst.de>
Cc: linux-mips@linux-mips.org,
Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Subject: Re: [PATCH 05/29] MIPS: Add Cavium OCTEON processor support files to arch/mips/cavium-octeon/executive and asm/octeon.
Date: Fri, 07 Nov 2008 09:14:54 -0800 [thread overview]
Message-ID: <4914778E.1040906@caviumnetworks.com> (raw)
In-Reply-To: <20081107083712.GA7205@lst.de>
Christoph Hellwig wrote:
> Still lacks an explanation what the mess in the executive directory
> actually does.
I will try to explain it.
First a little background: The OCTEON processor has many CPU cores
(current parts have up to 16, but more are possible). It also has a
variety of on-chip hardware blocks for things like network acceleration,
encryption and RAID.
One typical configuration is to run Linux on several of the CPU cores,
and other dedicated applications on the other cores.
Resource allocation between the various programs running on the system
(Linux kernel and other dedicated applications) needs to be coordinated.
The code we use to do this we call the 'executive'. We have gathered
all of this code together and placed it in the executive directory.
Included in the patch set are the following files:
cvmx-bootmem.c and cvmx-sysinfo.c -- Coordinates memory allocation. All
memory used by the Linux kernel is obtained here at boot time.
cvmx-l2c.c -- Coordinates operations on the shared level 2 cache.
octeon-model.c -- Probes chip capabilities and version.
Of these files, the only one that doesn't interact with other programs
running on the system is octeon-model.c.
Now if we look at other Linux ports we should consider xen. You will
note that it occupies its own directory and coordinates access to shared
resources. The analogy is not perfect, but there is some precedent for
grouping this type of code together in a single place.
> And as mentioned before I don't think any amount of
> explanation would actually be enough for it, so please kill the mess
> and write it as proper kernel code.
>
We are certainly open to suggestions, but we feel that keeping this
shared resource management code segregated will result in easier
maintenance and thus a higher quality kernel in the future.
Any suggestions as to how the code could be made more 'proper' are
welcome, but telling us to kill the whole lot doesn't help us much
unless you can suggest something better.
In any event, thanks for taking the time to look at it,
David Daney
next prev parent reply other threads:[~2008-11-07 17:15 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-06 20:52 [PATCH 00/29] Add Cavium OCTEON processor support (v3) David Daney
2008-11-06 20:54 ` [PATCH 01/29] MIPS: Add Cavium OCTEON processor support files to arch/mips/cavium-octeon David Daney
2008-11-06 20:54 ` [PATCH 02/29] MIPS: Add Cavium OCTEON files to arch/mips/include/asm/mach-cavium-octeon David Daney
2008-11-06 20:54 ` [PATCH 03/29] MIPS: Add Cavium OCTEON processor support files to arch/mips/kernel David Daney
2008-11-10 6:51 ` Guijin Gao
2008-11-06 20:54 ` [PATCH 04/29] MIPS: Add Cavium OCTEON processor support files to arch/mips/mm David Daney
2008-11-06 20:54 ` [PATCH 05/29] MIPS: Add Cavium OCTEON processor support files to arch/mips/cavium-octeon/executive and asm/octeon David Daney
2008-11-07 8:37 ` Christoph Hellwig
2008-11-07 17:14 ` David Daney [this message]
2008-11-06 20:54 ` [PATCH 06/29] MIPS: For Cavium OCTEON handle hazards as per the R10000 handling David Daney
2008-11-06 20:54 ` [PATCH 07/29] MIPS: For Cavium OCTEON set hwrena and lazily restore CP2 state David Daney
2008-11-06 20:54 ` [PATCH 08/29] MIPS: Add Cavium OCTEON to arch/mips/Kconfig David Daney
2008-11-06 20:54 ` [PATCH 09/29] MIPS: Add Cavium OCTEON processor constants David Daney
2008-11-06 20:54 ` [PATCH 10/29] MIPS: Add Cavium OCTEON specific register definitions to mipsregs.h David Daney
2008-11-06 20:54 ` [PATCH 11/29] MIPS: Override assembler target architecture for octeon David Daney
2008-11-06 20:54 ` [PATCH 12/29] MIPS: Probe for Cavium OCTEON CPUs David Daney
2008-11-06 20:54 ` [PATCH 13/29] MIPS: Hook Cavium OCTEON cache init into cache.c David Daney
2008-11-06 20:54 ` [PATCH 14/29] MIPS: Hook up Cavium OCTEON in arch/mips David Daney
2008-11-06 20:54 ` [PATCH 15/29] MIPS: Modify core io.h macros to account for the Octeon Errata Core-301 David Daney
2008-11-06 20:54 ` [PATCH 16/29] MIPS: Add Cavium OCTEON cop2/cvmseg state entries to processor.h David Daney
2008-11-06 20:54 ` [PATCH 17/29] MIPS: Add Cavium OCTEON specific registers to ptrace.h and asm-offsets.c David Daney
2008-11-06 20:54 ` [PATCH 18/29] MIPS: Add SMP_ICACHE_FLUSH for the Cavium CPU family David Daney
2008-11-06 23:34 ` Sergei Shtylyov
2008-11-07 0:05 ` David Daney
2008-11-07 16:27 ` Sergei Shtylyov
2008-11-07 17:25 ` David Daney
2008-11-07 17:59 ` Sergei Shtylyov
2008-11-07 21:38 ` Maciej W. Rozycki
2008-11-06 20:54 ` [PATCH 19/29] MIPS: Cavium OCTEON: PT vs MFC0 reorder, multiplier state preservation David Daney
2008-11-06 20:54 ` [PATCH 20/29] MIPS: Add Cavium OCTEON irq hazard in asmmacro.h David Daney
2008-11-06 20:54 ` [PATCH 21/29] MIPS: Compute branch returns for Cavium OCTEON specific branch instructions David Daney
2008-11-06 20:54 ` [PATCH 22/29] MIPS: Add Cavium OCTEON slot into proper tlb category David Daney
2008-11-06 20:57 ` [PATCH 23/29] 8250: Don't clobber spinlocks David Daney
2008-11-06 20:57 ` [PATCH 24/29] 8250: Serial driver changes to support future Cavium OCTEON serial patches David Daney
2008-11-06 20:57 ` [PATCH 25/29] Serial: Allow port type to be specified when calling serial8250_register_port David Daney
2008-11-06 20:57 ` [PATCH 26/29] 8250: Allow port type to specify bugs that are not probed for David Daney
2008-11-06 20:57 ` [PATCH 27/29] Serial: UART driver changes for Cavium OCTEON David Daney
2008-11-06 20:57 ` [PATCH 28/29] MIPS: Adjust the dma-common.c platform hooks David Daney
2008-11-06 20:57 ` [PATCH 29/29] MIPS: Add defconfig for Cavium OCTEON David Daney
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=4914778E.1040906@caviumnetworks.com \
--to=ddaney@caviumnetworks.com \
--cc=hch@lst.de \
--cc=linux-mips@linux-mips.org \
--cc=tpaoletti@caviumnetworks.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