Search Options

Results per page
Sort
Preferred Languages
Advance

Results 11 - 20 of 57 for preemption (0.21 sec)

  1. src/runtime/proc.go

    	// already.
    	if sched.nmspinning.Load() != 0 || !sched.nmspinning.CompareAndSwap(0, 1) {
    		return
    	}
    
    	// Disable preemption until ownership of pp transfers to the next M in
    	// startm. Otherwise preemption here would leave pp stuck waiting to
    	// enter _Pgcstop.
    	//
    	// See preemption comment on acquirem in startm for more details.
    	mp := acquirem()
    
    	var pp *p
    	lock(&sched.lock)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 207.5K bytes
    - Viewed (0)
  2. src/runtime/lock_futex.go

    	}
    
    	gp := getg()
    	gp.m.mLockProfile.recordUnlock(l)
    	gp.m.locks--
    	if gp.m.locks < 0 {
    		throw("runtimeĀ·unlock: lock count")
    	}
    	if gp.m.locks == 0 && gp.preempt { // restore the preemption request in case we've cleared it in newstack
    		gp.stackguard0 = stackPreempt
    	}
    }
    
    // One-time notifications.
    func noteclear(n *note) {
    	n.key = 0
    }
    
    func notewakeup(n *note) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:57:34 UTC 2024
    - 5.4K bytes
    - Viewed (0)
  3. pkg/scheduler/schedule_one.go

    		// will fit due to the preemption. It is also possible that a different pod will schedule
    		// into the resources that were preempted, but this is harmless.
    
    		if !fwk.HasPostFilterPlugins() {
    			logger.V(3).Info("No PostFilter plugins are registered, so no preemption will be performed")
    Registered: Sat Jun 15 01:39:40 UTC 2024
    - Last Modified: Thu Jun 06 13:28:08 UTC 2024
    - 43.4K bytes
    - Viewed (0)
  4. src/runtime/lock_sema.go

    				break
    			}
    		}
    	}
    	gp.m.mLockProfile.recordUnlock(l)
    	gp.m.locks--
    	if gp.m.locks < 0 {
    		throw("runtimeĀ·unlock: lock count")
    	}
    	if gp.m.locks == 0 && gp.preempt { // restore the preemption request in case we've cleared it in newstack
    		gp.stackguard0 = stackPreempt
    	}
    }
    
    // One-time notifications.
    func noteclear(n *note) {
    	n.key = 0
    }
    
    func notewakeup(n *note) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:57:37 UTC 2024
    - 6.8K bytes
    - Viewed (0)
  5. src/runtime/stack.go

    	// We are interested in preempting user Go code, not runtime code.
    	// If we're holding locks, mallocing, or preemption is disabled, don't
    	// 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,
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 22:31:00 UTC 2024
    - 41.1K bytes
    - Viewed (0)
  6. src/runtime/extern.go

    	dontfreezetheworld: by default, the start of a fatal panic or throw
    	"freezes the world", preempting all threads to stop all running
    	goroutines, which makes it possible to traceback all goroutines, and
    	keeps their state close to the point of panic. Setting
    	dontfreezetheworld=1 disables this preemption, allowing goroutines to
    	continue executing during panic processing. Note that goroutines that
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:52:17 UTC 2024
    - 18.9K bytes
    - Viewed (0)
  7. src/runtime/malloc.go

    	// Objects can be zeroed late in a context where preemption can occur.
    	// If the object contains pointers, its pointer data must be cleared
    	// or otherwise indicate that the GC shouldn't scan it.
    	// x will keep the memory alive.
    	if delayedZeroing {
    		// N.B. size == fullSize always in this case.
    		memclrNoHeapPointersChunked(size, x) // This is a possible preemption point: see #47302
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 59.6K bytes
    - Viewed (0)
  8. src/runtime/traceruntime.go

    	// Any time we acquire a traceLocker, we may flush a trace buffer. But
    	// buffer flushes are rare. Record the lock edge even if it doesn't happen
    	// this time.
    	lockRankMayTraceFlush()
    
    	// Prevent preemption.
    	mp := acquirem()
    
    	// Acquire the trace seqlock. This prevents traceAdvance from moving forward
    	// until all Ms are observed to be outside of their seqlock critical section.
    	//
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 22:31:00 UTC 2024
    - 25.7K bytes
    - Viewed (0)
  9. src/runtime/trace.go

    	// cost of maintaining this consistency is low. We're not going to hold this semaphore
    	// for very long and most STW periods are very short.
    	// Once we hold worldsema, prevent preemption as well so we're not interrupted partway
    	// through this. We want to get this done as soon as possible.
    	semacquire(&worldsema)
    	mp := acquirem()
    
    	// Advance the generation or stop the trace.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 21:17:41 UTC 2024
    - 37.1K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/liveness/plive.go

    	// unsafe-points.
    	allUnsafe bool
    	// unsafePoints bit i is set if Value ID i is an unsafe-point
    	// (preemption is not allowed). Only valid if !allUnsafe.
    	unsafePoints bitvec.BitVec
    	// unsafeBlocks bit i is set if Block ID i is an unsafe-point
    	// (preemption is not allowed on any end-of-block
    	// instructions). Only valid if !allUnsafe.
    	unsafeBlocks bitvec.BitVec
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Jun 07 15:22:22 UTC 2024
    - 45.2K bytes
    - Viewed (0)
Back to top