Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 715 for _Gsyscall (0.2 sec)

  1. src/runtime/tracestatus.go

    		// There's a short window wherein the goroutine may have entered _Gsyscall
    		// but it still owns the P (it's not in _Psyscall yet). The goroutine entering
    		// _Gsyscall is the tracer's signal that the P its bound to is also in a syscall,
    		// so we need to emit a status that matches. See #64318.
    		if w.mp.p.ptr() == pp && w.mp.curg != nil && readgstatus(w.mp.curg)&^_Gscan == _Gsyscall {
    			status = traceProcSyscall
    		}
    	case _Psyscall:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 15 17:03:35 UTC 2024
    - 7.2K bytes
    - Viewed (0)
  2. 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)
  3. 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)
  4. src/runtime/runtime-gdb.py

    G_SCAN = read_runtime_const("'runtime._Gscan'", 0x1000)
    G_SCANRUNNABLE = G_SCAN+G_RUNNABLE
    G_SCANRUNNING = G_SCAN+G_RUNNING
    G_SCANSYSCALL = G_SCAN+G_SYSCALL
    G_SCANWAITING = G_SCAN+G_WAITING
    
    sts = {
        G_IDLE: 'idle',
        G_RUNNABLE: 'runnable',
        G_RUNNING: 'running',
        G_SYSCALL: 'syscall',
        G_WAITING: 'waiting',
        G_MORIBUND_UNUSED: 'moribund',
        G_DEAD: 'dead',
        G_ENQUEUE_UNUSED: 'enqueue',
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 10 12:59:20 UTC 2023
    - 15.4K bytes
    - Viewed (0)
  5. 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)
  6. src/runtime/heapdump.go

    		switch status {
    		default:
    			print("runtime: unexpected G.status ", hex(status), "\n")
    			throw("dumpgs in STW - bad status")
    		case _Gdead:
    			// ok
    		case _Grunnable,
    			_Gsyscall,
    			_Gwaiting:
    			dumpgoroutine(gp)
    		}
    	})
    }
    
    func finq_callback(fn *funcval, obj unsafe.Pointer, nret uintptr, fint *_type, ot *ptrtype) {
    	dumpint(tagQueuedFinalizer)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 09 04:07:57 UTC 2024
    - 17.6K bytes
    - Viewed (0)
  7. 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)
  8. 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)
  9. 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)
  10. 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)
Back to top