Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 15 for SudoG (0.15 sec)

  1. src/runtime/sizeof_test.go

    		val    any     // type as a value
    		_32bit uintptr // size on 32bit platforms
    		_64bit uintptr // size on 64bit platforms
    	}{
    		{runtime.G{}, 272, 432},   // g, but exported for testing
    		{runtime.Sudog{}, 56, 88}, // sudog, but exported for testing
    	}
    
    	for _, tt := range tests {
    		want := tt._32bit
    		if _64bit {
    			want = tt._64bit
    		}
    		got := reflect.TypeOf(tt.val).Size()
    		if want != got {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Apr 22 22:07:41 UTC 2024
    - 892 bytes
    - Viewed (0)
  2. test/fixedbugs/issue9110.go

    		close(c) // let select put its sudog's into the cache
    		time.Sleep(1 * time.Millisecond)
    
    		// pick up top sudog
    		var cond1 sync.Cond
    		var mu1 sync.Mutex
    		cond1.L = &mu1
    		go func() {
    			mu1.Lock()
    			cond1.Wait()
    			mu1.Unlock()
    		}()
    		time.Sleep(1 * time.Millisecond)
    
    		// pick up next sudog
    		var cond2 sync.Cond
    		var mu2 sync.Mutex
    		cond2.L = &mu2
    		go func() {
    			mu2.Lock()
    			cond2.Wait()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon May 02 13:43:18 UTC 2016
    - 1.7K bytes
    - Viewed (0)
  3. src/runtime/sema.go

    package runtime
    
    import (
    	"internal/cpu"
    	"internal/runtime/atomic"
    	"unsafe"
    )
    
    // Asynchronous semaphore for sync.Mutex.
    
    // A semaRoot holds a balanced tree of sudog with distinct addresses (s.elem).
    // Each of those sudog may in turn point (through s.waitlink) to a list
    // of other sudogs waiting on the same address.
    // The operations on the inner lists of sudogs with the same address
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 19K bytes
    - Viewed (0)
  4. src/runtime/select.go

    			}
    		}
    	}
    
    	// lock all the channels involved in the select
    	sellock(scases, lockorder)
    
    	var (
    		gp     *g
    		sg     *sudog
    		c      *hchan
    		k      *scase
    		sglist *sudog
    		sgnext *sudog
    		qp     unsafe.Pointer
    		nextp  **sudog
    	)
    
    	// pass 1 - look for something already waiting
    	var casi int
    	var cas *scase
    	var caseSuccess bool
    	var caseReleaseTime int64 = -1
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Mar 13 21:36:04 UTC 2024
    - 15K bytes
    - Viewed (0)
  5. src/runtime/chan.go

    	//
    	// Do not change another G's status while holding this lock
    	// (in particular, do not ready a G), as this can deadlock
    	// with stack shrinking.
    	lock mutex
    }
    
    type waitq struct {
    	first *sudog
    	last  *sudog
    }
    
    //go:linkname reflect_makechan reflect.makechan
    func reflect_makechan(t *chantype, size int) *hchan {
    	return makechan(t, size)
    }
    
    func makechan64(t *chantype, size int64) *hchan {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 01:16:50 UTC 2024
    - 25.9K bytes
    - Viewed (0)
  6. src/runtime/runtime2.go

    // releaseSudog to allocate and free them.
    type sudog struct {
    	// The following fields are protected by the hchan.lock of the
    	// channel this sudog is blocking on. shrinkstack depends on
    	// this for sudogs involved in channel ops.
    
    	g *g
    
    	next *sudog
    	prev *sudog
    	elem unsafe.Pointer // data element (may point to stack)
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:57:37 UTC 2024
    - 47.9K bytes
    - Viewed (0)
  7. src/runtime/mklockrank.go

    < SCHED
    # Below SCHED is the scheduler implementation.
    < allocmR,
      execR;
    allocmR, execR, hchan < sched;
    sched < allg, allp;
    
    # Channels
    NONE < notifyList;
    hchan, notifyList < sudog;
    
    hchan, pollDesc, wakeableSleep < timers;
    timers, timerSend < timer < netpollInit;
    
    # Semaphores
    NONE < root;
    
    # Itabs
    NONE
    < itab
    < reflectOffs;
    
    # User arena state
    NONE < userArenaState;
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 08 17:47:01 UTC 2024
    - 9.1K bytes
    - Viewed (0)
  8. src/runtime/stack.go

    		// GC to avoid the following type of situation:
    		//
    		// 1) GC starts, scans a SudoG but does not yet mark the SudoG.elem pointer
    		// 2) The stack that pointer points to is copied
    		// 3) The old stack is freed
    		// 4) The containing span is marked free
    		// 5) GC attempts to mark the SudoG.elem pointer. The
    		//    marking fails because the pointer looks like a
    		//    pointer into a free span.
    		//
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 22:31:00 UTC 2024
    - 41.1K bytes
    - Viewed (0)
  9. src/cmd/link/internal/ld/dwarf.go

    func (d *dwctxt) synthesizechantypes(ctxt *Link, die *dwarf.DWDie) {
    	sudog := walktypedef(d.findprotodie(ctxt, "type:runtime.sudog"))
    	waitq := walktypedef(d.findprotodie(ctxt, "type:runtime.waitq"))
    	hchan := walktypedef(d.findprotodie(ctxt, "type:runtime.hchan"))
    	if sudog == nil || waitq == nil || hchan == nil {
    		return
    	}
    
    	sudogsize := int(getattr(sudog, dwarf.DW_AT_byte_size).Value)
    
    	for ; die != nil; die = die.Link {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 02 16:25:18 UTC 2024
    - 72.4K bytes
    - Viewed (0)
  10. src/runtime/lockrank.go

    	lockRankExecR:           "execR",
    	lockRankSched:           "sched",
    	lockRankAllg:            "allg",
    	lockRankAllp:            "allp",
    	lockRankNotifyList:      "notifyList",
    	lockRankSudog:           "sudog",
    	lockRankTimers:          "timers",
    	lockRankTimer:           "timer",
    	lockRankNetpollInit:     "netpollInit",
    	lockRankRoot:            "root",
    	lockRankItab:            "itab",
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 08 17:47:01 UTC 2024
    - 19.9K bytes
    - Viewed (0)
Back to top