Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 148 for _Gsyscall (0.22 sec)

  1. src/runtime/preempt.go

    				break
    			}
    
    			// We stopped the G, so we have to ready it later.
    			stopped = true
    
    			s = _Gwaiting
    			fallthrough
    
    		case _Grunnable, _Gsyscall, _Gwaiting:
    			// Claim goroutine by setting scan bit.
    			// This may race with execution or readying of gp.
    			// The scan bit keeps it from transition state.
    			if !castogscanstatus(gp, s, s|_Gscan) {
    				break
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 15:41:45 UTC 2024
    - 15.1K bytes
    - Viewed (0)
  2. src/runtime/traceback.go

    		printCgoTraceback(&cgoCallers)
    	}
    
    	if readgstatus(gp)&^_Gscan == _Gsyscall {
    		// Override registers if blocked in system call.
    		pc = gp.syscallpc
    		sp = gp.syscallsp
    		flags &^= unwindTrap
    	}
    	if gp.m != nil && gp.m.vdsoSP != 0 {
    		// Override registers if running in VDSO. This comes after the
    		// _Gsyscall check to cover VDSO calls after entersyscall.
    		pc = gp.m.vdsoPC
    		sp = gp.m.vdsoSP
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 16:25:21 UTC 2024
    - 55.1K bytes
    - Viewed (0)
  3. src/runtime/runtime2.go

    	// may transition the P to _Pidle (if it has no more work to
    	// do), _Psyscall (when entering a syscall), or _Pgcstop (to
    	// halt for the GC). The M may also hand ownership of the P
    	// off directly to another M (e.g., to schedule a locked G).
    	_Prunning
    
    	// _Psyscall means a P is not running user code. It has
    	// affinity to an M in a syscall but is not owned by it and
    	// may be stolen by another M. This is similar to _Pidle but
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:57:37 UTC 2024
    - 47.9K bytes
    - Viewed (0)
  4. src/runtime/traceruntime.go

    	tl.eventWriter(traceGoSyscall, procStatus).commit(ev)
    }
    
    // ProcSteal indicates that our current M stole a P from another M.
    //
    // inSyscall indicates that we're stealing the P from a syscall context.
    //
    // The caller must have ownership of pp.
    func (tl traceLocker) ProcSteal(pp *p, inSyscall bool) {
    	// Grab the M ID we stole from.
    	mStolenFrom := pp.trace.mSyscallID
    	pp.trace.mSyscallID = -1
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 22:31:00 UTC 2024
    - 25.7K bytes
    - Viewed (0)
  5. src/runtime/proc.go

    	pp.m = 0
    	gp.m.oldp.set(pp)
    	gp.m.p = 0
    	atomic.Store(&pp.status, _Psyscall)
    	if sched.gcwaiting.Load() {
    		systemstack(entersyscall_gcwait)
    		save(pc, sp, bp)
    	}
    
    	gp.m.locks--
    }
    
    // Standard syscall entry used by the go syscall library and normal cgo calls.
    //
    // This is exported via linkname to assembly in the syscall package and x/sys.
    //
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 207.5K bytes
    - Viewed (0)
  6. src/runtime/mgcmark.go

    		// remember when we've first observed the G blocked
    		// needed only to output in traceback
    		status := readgstatus(gp) // We are not in a scan state
    		if (status == _Gwaiting || status == _Gsyscall) && gp.waitsince == 0 {
    			gp.waitsince = work.tstart
    		}
    
    		// scanstack must be done on the system stack in case
    		// we're trying to scan our own stack.
    		systemstack(func() {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 18 21:25:11 UTC 2024
    - 52.5K bytes
    - Viewed (0)
  7. src/runtime/os_windows.go

    	// complete.
    	//
    	// TODO(austin): We may not need this if preemption were more
    	// tightly synchronized on the G/P status and preemption
    	// blocked transition into _Gsyscall/_Psyscall.
    	preemptExtLock uint32
    }
    
    // Stubs so tests can link correctly. These should never be called.
    func open(name *byte, mode, perm int32) int32 {
    	throw("unimplemented")
    	return -1
    }
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 26 22:55:25 UTC 2024
    - 41.5K bytes
    - Viewed (0)
  8. src/syscall/mksyscall.pl

    		}
    	}
    
    	# Determine which form to use; pad args with zeros.
    	my $asm = "Syscall";
    	if ($nonblock) {
    		if ($errvar eq "" && $ENV{'GOOS'} eq "linux") {
    			$asm = "rawSyscallNoError";
    		} else {
    			$asm = "RawSyscall";
    		}
    	}
    	if ($libc) {
    		# Call unexported syscall functions (which take
    		# libc functions instead of syscall numbers).
    		$asm = lcfirst($asm);
    	}
    	if(@args <= 3) {
    		while(@args < 3) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 24 17:15:02 UTC 2024
    - 10.3K bytes
    - Viewed (0)
  9. src/internal/trace/testdata/generators/go122-syscall-steal-proc-sitting-in-syscall.go

    // Copyright 2023 The Go Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    // Tests syscall P stealing from a goroutine and thread
    // that have been in a syscall the entire generation.
    
    package main
    
    import (
    	"internal/trace"
    	"internal/trace/event/go122"
    	testgen "internal/trace/internal/testgen/go122"
    )
    
    func main() {
    	testgen.Main(gen)
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 24 21:15:28 UTC 2024
    - 946 bytes
    - Viewed (0)
  10. src/cmd/trace/procgen.go

    		}
    		// Write down that we've entered a syscall. Note: we might have no P here
    		// if we're in a cgo callback or this is a transition from GoUndetermined
    		// (i.e. the G has been blocked in a syscall).
    		gs.syscallBegin(start, ev.Proc(), ev.Stack())
    		g.inSyscall[ev.Proc()] = gs
    	}
    	// Check if we're exiting a non-blocking syscall.
    	_, didNotBlock := g.inSyscall[ev.Proc()]
    	if from == trace.GoSyscall && didNotBlock {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 6.1K bytes
    - Viewed (0)
Back to top