Skip to content

core_mask=0xF still uses 1 core #1042

@galim03

Description

@galim03

I’m trying to evaluate CPU core scaling for the F-Stack Redis example.

In config.ini, I set lcore_mask=F (lcores 0–3).

When I run Redis normally, it still looks like it is mainly running on a single core.

When I run Redis via start.sh, it does use multiple cores (0–3), but it spawns multiple Redis processes (--proc-id=0..3).
Since they are separate processes, GET can return nil depending on which process handles the request.
This is not the behavior I want.

I want a single Redis instance that can utilize multiple cores (0–3) for polling/processing, not multiple independent Redis processes.

Questions

Why does lcore_mask=F still look like Redis is running mainly on a single core when running as a single process?

Is lcore_mask only used by start.sh to decide the number of processes, rather than enabling multi-lcore polling within one process?

Does F-Stack provide a way to run one Redis instance that utilizes multiple lcores (0–3)?
If not supported currently, is the recommended approach always multi-process / multi-instance?

If code changes are required to enable multi-lcore usage in one process, which part of the codebase should I look at?

Any guidance would be appreciated. Thank you.

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