Skip to content

locked和freelocked 这2个字段为什么不放在一起 #365

@dxasu

Description

@dxasu

freelocked int32

type operatorCache struct {
	locked int32
	first  *FDOperator
	cache  []*FDOperator
	// freelist store the freeable operator
	// to reduce GC pressure, we only store op index here
	freelist   []int32
	freelocked int32
}

locked和freelocked 这2个字段为什么要分开放呢??导致结构体,从64字节变成72字节,刚刚超出了一个缓存行的大小。
如果是为了2个锁相互不干扰,但是freelist本身也处于第一个缓存行里。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions