Search Options

Results per page
Sort
Preferred Languages
Advance

Results 11 - 20 of 1,013 for _Gwaiting (0.28 sec)

  1. src/runtime/trace.go

    	//  // <----> problem window
    	//	casgstatus(gp, _Gwaiting, _Grunnable)
    	//	if trace.ok() {
    	//		trace.GoUnpark(gp, 2)
    	//		traceRelease(trace)
    	//	}
    	//
    	// More precisely, if we readgstatus for a gp while another goroutine is in the problem
    	// window and that goroutine didn't observe that tracing had begun, then we might write
    	// a GoStatus(GoWaiting) event for that goroutine, but it won't trace an event marking
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 21:17:41 UTC 2024
    - 37.1K bytes
    - Viewed (0)
  2. src/runtime/mfinal.go

    		lock(&finlock)
    		// We know the queue has been drained when both finq is nil
    		// and the finalizer g has stopped executing.
    		empty := finq == nil
    		empty = empty && readgstatus(fing) == _Gwaiting && fing.waitreason == waitReasonFinalizerWait
    		unlock(&finlock)
    		if empty {
    			return true
    		}
    		Gosched()
    	}
    	return false
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 01:56:56 UTC 2024
    - 19K bytes
    - Viewed (0)
  3. src/runtime/traceback.go

    		status = gStatusStrings[gpstatus]
    	} else {
    		status = "???"
    	}
    
    	// Override.
    	if gpstatus == _Gwaiting && gp.waitreason != waitReasonZero {
    		status = gp.waitreason.String()
    	}
    
    	// approx time the G is blocked, in minutes
    	var waitfor int64
    	if (gpstatus == _Gwaiting || gpstatus == _Gsyscall) && gp.waitsince != 0 {
    		waitfor = (nanotime() - gp.waitsince) / 60e9
    	}
    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/stack.go

    	// preempt.
    	// This check is very early in newstack so that even the status change
    	// from Grunning to Gwaiting and back doesn't happen in this case.
    	// That status change by itself can be viewed as a small preemption,
    	// because the GC might change Gwaiting to Gscanwaiting, and then
    	// this goroutine has to wait for the GC to finish before continuing.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 22:31:00 UTC 2024
    - 41.1K bytes
    - Viewed (0)
  5. src/runtime/mgc.go

    		// rather than starting all in a batch and then waiting once
    		// afterwards. By running one goroutine at a time, we can take
    		// advantage of runnext to bounce back and forth between
    		// workers and this goroutine. In an overloaded application,
    		// this can reduce GC start latency by prioritizing these
    		// goroutines rather than waiting on the end of the run queue.
    		<-ready
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 16:25:21 UTC 2024
    - 62K bytes
    - Viewed (0)
  6. src/runtime/traceruntime.go

    }
    
    // emitUnblockStatus emits a GoStatus GoWaiting event for a goroutine about to be
    // unblocked to the trace writer.
    func emitUnblockStatus(w traceWriter, gp *g, gen uintptr) traceWriter {
    	if !gp.trace.statusWasTraced(gen) && gp.trace.acquireStatus(gen) {
    		// TODO(go.dev/issue/65634): Although it would be nice to add a stack trace here of gp,
    		// we cannot safely do so. gp is in _Gwaiting and so we don't have ownership of its stack.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 22:31:00 UTC 2024
    - 25.7K bytes
    - Viewed (0)
  7. src/runtime/export_test.go

    type G = g
    
    type Sudog = sudog
    
    func Getg() *G {
    	return getg()
    }
    
    func Goid() uint64 {
    	return getg().goid
    }
    
    func GIsWaitingOnMutex(gp *G) bool {
    	return readgstatus(gp) == _Gwaiting && gp.waitreason.isMutexWait()
    }
    
    var CasGStatusAlwaysTrack = &casgstatusAlwaysTrack
    
    //go:noinline
    func PanicForTesting(b []byte, i int) byte {
    	return unexportedPanicForTesting(b, i)
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:50:53 UTC 2024
    - 46.1K bytes
    - Viewed (0)
  8. src/runtime/mgcpacer.go

    		}
    		// Run a fractional worker.
    		pp.gcMarkWorkerMode = gcMarkWorkerFractionalMode
    	}
    
    	// Run the background mark worker.
    	gp := node.gp.ptr()
    	trace := traceAcquire()
    	casgstatus(gp, _Gwaiting, _Grunnable)
    	if trace.ok() {
    		trace.GoUnpark(gp, 0)
    		traceRelease(trace)
    	}
    	return gp, now
    }
    
    // resetLive sets up the controller state for the next mark phase after the end
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 55.4K bytes
    - Viewed (0)
  9. src/cmd/trace/viewer.go

    		return traceviewer.GDead
    	case trace.GoRunnable:
    		return traceviewer.GRunnable
    	case trace.GoRunning:
    		return traceviewer.GRunning
    	case trace.GoWaiting:
    		if inMarkAssist {
    			return traceviewer.GWaitingGC
    		}
    		return traceviewer.GWaiting
    	case trace.GoSyscall:
    		// N.B. A goroutine in a syscall is considered "executing" (state.Executing() == true).
    		return traceviewer.GRunning
    	default:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 1.4K bytes
    - Viewed (0)
  10. src/internal/trace/trace_test.go

    				{"sync.(*Mutex).Lock", 0},
    				{"main.main.func7", 0},
    			}},
    			{trace.EventStateTransition, "Goroutine Waiting->Runnable", []frame{
    				{"sync.(*Mutex).Unlock", 0},
    				{"main.main", 0},
    			}},
    			{trace.EventStateTransition, "Goroutine Running->Waiting", []frame{
    				{"sync.(*WaitGroup).Wait", 0},
    				{"main.main.func8", 0},
    			}},
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 18.5K bytes
    - Viewed (0)
Back to top