Skip to content

Should we avoid using fat pointers for SFT? #945

Open
@qinsoon

Description

@qinsoon

We currently store SFT entries as &dyn SFT which is a fat pointers. This is only efficient when the platform supports atomic instructions for double word size, i.e. 128 bits atomics on 64bits machines, and 64 bits atomics on 32 bits machines. We will give a warning in a debug build if the platform does not support double word atomics, in which case, a fall back locking mechanism is used to ensure the atomic access.

If we would like to provide efficient implementation for platforms that do not support 128 bits atomics, we should consider not using &dyn SFT. We need a way to represent an SFT entry as a normal pointer.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P-normalPriority: Normal.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions