CURPROC(9) BSD Kernel Developer's Manual CURPROC(9)NAME
curproc, curcpu, curlwp -- current process, processor, and LWP
struct cpu_info *
struct proc *
struct lwp *
The following macros can be used to retrieve the current processor, process, and light-weight process (LWP), respectively:
1. The machine-dependent curcpu() macro returns a pointer to a cpu_info structure containing information of the CPU that this thread
is running on.
2. The machine-independent curproc() macro refers to a pointer to the process currently running on this CPU.
3. The curlwp() macro expands to a pointer to lwp structure, containing information about the current LWP. This macro is machine-
independent, but machine-dependent <machine/cpu.h> may redefine it.
SEE ALSO cpu_number(9), proc_find(9)BSD July 1, 2010 BSD
Check Out this Related Man Page
CPU_SWITCHTO(9) BSD Kernel Developer's Manual CPU_SWITCHTO(9)NAME
cpu_switchto -- machine-dependent LWP context switching interface
cpu_switchto(lwp_t *oldlwp, lwp_t *newlwp, bool returning);
The cpu_switchto() function saves the context of the LWP which is currently running on the processor, and restores the context of the LWP
specified by newlwp.
1. cpu_switchto() does not switch address spaces.
2. cpu_switchto() sets curlwp(9) to newlwp. If the architecture does non-interlocked adaptive mutex release, cpu_switchto() does an
equivalent of membar_producer(3), before and after the modification of curlwp(9).
3. cpu_switchto() should be called at IPL_SCHED. When the function returns, the caller should lower the priority level as soon as
4. cpu_switchto() might be called with spin mutexes held.
The function takes the following arguments.
oldlwp Specify the LWP from which the switch is going to be made, i.e., the calling LWP. If it was NULL, the context of the LWP
currently running on this processor is not saved.
newlwp Specify the LWP to which to switch. It must not be NULL.
returning Only meaningful if the architecture implements fast software interrupts. If true, it indicates that oldlwp is a soft
interrupt LWP that is blocking. It is a good indication that any kind of address space or user activity can be completely
ignored. For example: ras_lookup(9), cache flushes, TLB wirings, adjusting lazy FPU state. All that is required is to
restore the register state and stack, and return to the interrupted LWP.
The cpu_switchto() function does not return until another LWP calls cpu_switchto(). It returns the oldlwp argument of the cpu_switchto()
which is called to switch back to our LWP. It is either a LWP which called cpu_switchto() to switch to us or NULL in case the LWP was exit-
SEE ALSO membar_producer(3), swapcontext(3), intro(9), mutex(9), spl(9)BSD June 2, 2011 BSD
I have seen some misinformation regarding Unix file permissions. I will try to set the record straight. Take a look at this example of some output from ls:
$ ls -ld /usr/bin /usr/bin/cat
drwxrwxr-x 3 root bin 8704 Sep 23 2004 /usr/bin
-r-xr-xr-x 1 bin bin ... (6 Replies)
I have a file which looks roughly like this:
and would like to sort it numerically on the first field. I tried:
sort -nr --key=1 ....
The output I get is:
9964 ... (3 Replies)
Suppose I have a main() function with only one malloc statement allocating say some 1 gb memory. Also say my system has 1 gb of ram.
The program above exits without freeing the memory.
In this case will the 1 gb of heap memory be returned... (9 Replies)
I'm trying to install a PGX32 video card on my Sparc 10 Ultra running Solaris 10.
I've got the Oracle installation guide for it and I got as far as:
"4. Insert the CD-ROM labeled “GFX OpenWindows for Solaris 2” into the drive."
I don't have a CD-ROM by that name and a web search for that... (21 Replies)
I'm writing a short script to check if a continuous port is running on a server.
I'm using "ps -ef | grep -v grep | grep processName" and I was wondering if it was better/more reliable to just check the
return code from the command or if its better to pipe to... (12 Replies)
I installed NetBSD 6.1.2 amd64 and can't find the apm utility. Is it not in the base system?
Is it necessary to recompile the default amd64 kernel to use apm?
Or is there a new method for power management and suspend/resume? (2 Replies)
I am learning shell scripting for the first time. I use AT&T Korn Shell, Version AJM 93u+ 2012-08-01, compiled from source on NetBSD.
So far I have managed to set up what I think is a useful and pleasing shell prompt, which can be seen in the image attached to this post.
The prompt is... (2 Replies)
Hey gang, I have a list of times I need to sum up. This list can vary from a few to a few thousand entries. Now I had found a closed reference to adding time titled "add up time with xx:yy format in bash how?" In it, the example works great for that formatted list of times... This is the reply code... (5 Replies)
Usually when I on the evening go to bed I take some interesting book with me. I read it for a while to get me down to sleep. Probably most people seek information from the Nett by googleing but I am so oldfashioned I prefer a real book ;)
But what a book. The one I found and ordered is BSD Unix®... (0 Replies)
On the late 1960s I got short hands on experience with a russian "small" computer. It vas a copy of DEC's VAX ... and running some version of BSD-Unix. After that I worked in a university following the development of computing. After retire I started collecting old pc's and installing... (13 Replies)