Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 7 of 7 for goparkunlock (0.26 sec)

  1. src/runtime/sema.go

    			root.nwait.Add(-1)
    			unlock(&root.lock)
    			break
    		}
    		// Any semrelease after the cansemacquire knows we're waiting
    		// (we set nwait above), so go to sleep.
    		root.queue(addr, s, lifo)
    		goparkunlock(&root.lock, reason, traceBlockSync, 4+skipframes)
    		if s.ticket != 0 || cansemacquire(addr) {
    			break
    		}
    	}
    	if s.releasetime > 0 {
    		blockevent(s.releasetime-t0, 3+skipframes)
    	}
    	releaseSudog(s)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 19K bytes
    - Viewed (0)
  2. src/runtime/mgcsweep.go

    	scavenger.wake()
    
    	nextMarkBitArenaEpoch()
    }
    
    func bgsweep(c chan int) {
    	sweep.g = getg()
    
    	lockInit(&sweep.lock, lockRankSweep)
    	lock(&sweep.lock)
    	sweep.parked = true
    	c <- 1
    	goparkunlock(&sweep.lock, waitReasonGCSweepWait, traceBlockGCSweep, 1)
    
    	for {
    		// bgsweep attempts to be a "low priority" goroutine by intentionally
    		// yielding time. It's OK if it doesn't run, because goroutines allocating
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 08 17:52:18 UTC 2024
    - 32.9K bytes
    - Viewed (0)
  3. src/runtime/mgcscavenge.go

    	}
    }
    
    // park parks the scavenger goroutine.
    func (s *scavengerState) park() {
    	lock(&s.lock)
    	if getg() != s.g {
    		throw("tried to park scavenger from another goroutine")
    	}
    	s.parked = true
    	goparkunlock(&s.lock, waitReasonGCScavengeWait, traceBlockSystemGoroutine, 2)
    }
    
    // ready signals to sysmon that the scavenger should be awoken.
    func (s *scavengerState) ready() {
    	s.sysmonWake.Store(1)
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 08 17:48:45 UTC 2024
    - 52.3K bytes
    - Viewed (0)
  4. src/runtime/mgcmark.go

    		work.assistQueue.q = oldList
    		if oldList.tail != 0 {
    			oldList.tail.ptr().schedlink.set(nil)
    		}
    		unlock(&work.assistQueue.lock)
    		return false
    	}
    	// Park.
    	goparkunlock(&work.assistQueue.lock, waitReasonGCAssistWait, traceBlockGCMarkAssist, 2)
    	return true
    }
    
    // gcFlushBgCredit flushes scanWork units of background scan work
    // credit. This first satisfies blocked assists on the
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 18 21:25:11 UTC 2024
    - 52.5K bytes
    - Viewed (0)
  5. src/runtime/mgc.go

    			// We're done.
    			unlock(&work.sweepWaiters.lock)
    			return
    		}
    
    		// Wait until sweep termination, mark, and mark
    		// termination of cycle N complete.
    		work.sweepWaiters.list.push(getg())
    		goparkunlock(&work.sweepWaiters.lock, waitReasonWaitForGCCycle, traceBlockUntilGCEnds, 1)
    	}
    }
    
    // gcMode indicates how concurrent a GC cycle should be.
    type gcMode int
    
    const (
    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/proc.go

    	forcegc.g = getg()
    	lockInit(&forcegc.lock, lockRankForcegc)
    	for {
    		lock(&forcegc.lock)
    		if forcegc.idle.Load() {
    			throw("forcegc: phase error")
    		}
    		forcegc.idle.Store(true)
    		goparkunlock(&forcegc.lock, waitReasonForceGCIdle, traceBlockSystemGoroutine, 1)
    		// this goroutine is explicitly resumed by sysmon
    		if debug.gctrace > 0 {
    			println("GC forced")
    		}
    		// Time-triggered, fully concurrent.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 207.5K bytes
    - Viewed (0)
  7. src/cmd/trace/testdata/go122.test

    String id=61
    	data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/time.go"
    String id=62
    	data="main.allocHog"
    String id=63
    	data="main.cpu10"
    String id=64
    	data="runtime.goparkunlock"
    String id=65
    	data="/usr/local/google/home/mknyszek/work/go-1/src/runtime/proc.go"
    String id=66
    	data="runtime.bgsweep"
    String id=67
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 17:15:58 UTC 2024
    - 166K bytes
    - Viewed (0)
Back to top