summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_pcpu.c
Commit message (Collapse)AuthorAgeFilesLines
* generally we are interested in what thread did something asjulian2007-11-141-3/+3
| | | | | | opposed to what process. Since threads by default have teh name of the process unless over-written with more useful information, just print the thread name instead.
* Initial checkin for rmlock (read mostly lock) a multi reader single writerups2007-11-081-1/+4
| | | | | | | | lock optimized for almost exclusive reader access. (see also rmlock.9) TODO: Convert to per cpu variables linkerset as soon as it is available. Optimize UP (single processor) case.
* Fix 'show allpcpu' ddb command on non-x86. CPU IDs are in the range 0 ..jhb2005-11-031-1/+1
| | | | | | | mp_maxid, not 0 .. mp_maxid - 1. The result was that the highest numbered CPU was skipped on Alpha and sparc64. MFC after: 1 week
* Add "show allpcpu" to DDB, which prints the current CPU id followed byrwatson2005-09-261-12/+36
| | | | | | | | the per-cpu data for all CPUs. This is easier to ask users to do than "figure out how many CPUs you have, now run show pcpu, then run it once for each CPU you have". MFC after: 3 days
* /* -> /*- for copyright notices, minor format tweaks as necessaryimp2005-01-061-1/+1
|
* Use __FBSDID().obrien2003-06-111-2/+3
|
* Add a per-cpu variable, cpumask, the preshifted equivalent of 1 << cpuid.peter2002-01-051-0/+1
| | | | We use this around the place a lot.
* Overhaul the per-CPU support a bit:jhb2001-12-111-11/+79
| | | | | | | | | | | | | | | | | | | | | | | | | - The MI portions of struct globaldata have been consolidated into a MI struct pcpu. The MD per-CPU data are specified via a macro defined in machine/pcpu.h. A macro was chosen over a struct mdpcpu so that the interface would be cleaner (PCPU_GET(my_md_field) vs. PCPU_GET(md.md_my_md_field)). - All references to globaldata are changed to pcpu instead. In a UP kernel, this data was stored as global variables which is where the original name came from. In an SMP world this data is per-CPU and ideally private to each CPU outside of the context of debuggers. This also included combining machine/globaldata.h and machine/globals.h into machine/pcpu.h. - The pointer to the thread using the FPU on i386 was renamed from npxthread to fpcurthread to be identical with other architectures. - Make the show pcpu ddb command MI with a MD callout to display MD fields. - The globaldata_register() function was renamed to pcpu_init() and now init's MI fields of a struct pcpu in addition to registering it with the internal array and list. - A pcpu_destroy() function was added to remove a struct pcpu from the internal array and list. Tested on: alpha, i386 Reviewed by: peter, jake
* Document the requirements and nature of the logical CPU IDs. It isn'tjhb2001-10-241-0/+10
| | | | | | | very strict and leaves much up to the platform so that it can define a convenient mapping. Requested by: mjacob
* - Split out the support for per-CPU data from the SMP code. UP kernelsjhb2001-05-101-0/+65
have per-CPU data and gdb on the i386 at least needs access to it. - Clean up includes in kern_idle.c and subr_smp.c. Reviewed by: jake
OpenPOWER on IntegriCloud