Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for alignDown (0.32 sec)

  1. src/runtime/mpagecache.go

    		chunk = p.chunkOf(ci)
    		j, _ := chunk.find(1, chunkPageIndex(p.searchAddr.addr()))
    		if j == ^uint(0) {
    			throw("bad summary data")
    		}
    		c = pageCache{
    			base:  chunkBase(ci) + alignDown(uintptr(j), 64)*pageSize,
    			cache: ^chunk.pages64(j),
    			scav:  chunk.scavenged.block64(j),
    		}
    	} else {
    		// Slow path: the searchAddr address had nothing there, so go find
    		// the first free page the slow way.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Apr 19 14:30:00 UTC 2023
    - 5.6K bytes
    - Viewed (0)
  2. src/runtime/mpagealloc_64bit.go

    	// level of p.summary into page-aligned addresses which cover that
    	// range of indices.
    	summaryRangeToSumAddrRange := func(level, sumIdxBase, sumIdxLimit int) addrRange {
    		baseOffset := alignDown(uintptr(sumIdxBase)*pallocSumBytes, physPageSize)
    		limitOffset := alignUp(uintptr(sumIdxLimit)*pallocSumBytes, physPageSize)
    		base := unsafe.Pointer(&p.summary[level][0])
    		return addrRange{
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Jan 03 11:00:10 UTC 2024
    - 9.3K bytes
    - Viewed (0)
  3. src/runtime/mem_linux.go

    func sysHugePageOS(v unsafe.Pointer, n uintptr) {
    	if physHugePageSize != 0 {
    		// Round v up to a huge page boundary.
    		beg := alignUp(uintptr(v), physHugePageSize)
    		// Round v+n down to a huge page boundary.
    		end := alignDown(uintptr(v)+n, physHugePageSize)
    
    		if beg < end {
    			madvise(unsafe.Pointer(beg), end-beg, _MADV_HUGEPAGE)
    		}
    	}
    }
    
    func sysNoHugePageOS(v unsafe.Pointer, n uintptr) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 5K bytes
    - Viewed (0)
Back to top