Skip to content

Cachelib with iouring #387

Open
Open
@sriramsrao

Description

@sriramsrao

I am trying to get Cachelib to use io_uring for doing the I/O. I checked that the Linux kernel we have has this support enabled. The errors I get are:

E0516 05:41:49.355798   132 NavyRequestScheduler.cpp:203] [navy_writer_7] IO stalled. submitted 365 -> 365 completed 337 -> 337
E0516 05:41:49.495906   133 Device.cpp:557] [ctx_0] IO error: [req 0x7ef100020f00] idx 0 fd 10 op write offset 1073741824 size 1048576 data 0x7ef0a5fff000 resubmitted 0 len=-95 errno=4 (Interrupted system call)
E0516 05:41:49.852437   133 Device.cpp:557] [ctx_0] IO error: [req 0x7ef10001a870] idx 0 fd 10 op write offset 1073741824 size 1048576 data 0x7ef0a5fff000 resubmitted 0 len=-95 errno=4 (Interrupted system call)
E0516 05:41:49.970734   133 Device.cpp:557] [ctx_0] IO error: [req 0x7ef10001a870] idx 0 fd 10 op write offset 1073741824 size 1048576 data 0x7ef0a5fff000 resubmitted 0 len=-95 errno=4 (Interrupted system call)
...
I0516 05:44:30.887253   169 cache_manager.cc:174] Get segment failed for: 13075723188911306909
I0516 05:44:30.904218   169 cache_manager.cc:174] Get segment failed for: 8278234487427450299
I0516 05:44:30.920457   169 cache_manager.cc:174] Get segment failed for: 11674330521192113941
I0516 05:44:30.937139   169 cache_manager.cc:174] Get segment failed for: 13766734649169596872

Any I/O on the NVMe seems to be failing:

NVM MB read: 0
Num NVM evictions: 2565
Num Cache Evictions: 2565
NVM write errors: 950
Num NVM get miss: 0
NVM read errors: 0
Num NVM gets: 0
NVM MB written: 31
Num Cache get miss: 0
Num NVM puts: 2566
Num Cache gets: 0
Num Cache hits: 0
Num NVM put errors: 0
Num items: 4034

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