Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
R
rdma-mwe
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Titouan Soulard
rdma-mwe
Commits
9f3b704d
Commit
9f3b704d
authored
Feb 20, 2024
by
Titouan Soulard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
libtrx: add a frame counter
parent
65cd8079
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
6 additions
and
1 deletion
+6
-1
include/libtrx/trx_rdma.h
include/libtrx/trx_rdma.h
+3
-1
libtrx/trx_rdma.c
libtrx/trx_rdma.c
+3
-0
No files found.
include/libtrx/trx_rdma.h
View file @
9f3b704d
...
@@ -19,7 +19,8 @@
...
@@ -19,7 +19,8 @@
struct
SDRMetadata
{
struct
SDRMetadata
{
uint8_t
version
;
uint8_t
version
;
uint16_t
sample_count
;
uint16_t
sample_count
;
uint8_t
__unused
[
29
];
uint32_t
frame_number
;
uint8_t
__unused
[
25
];
};
};
struct
SDRMemoryRegion
{
struct
SDRMemoryRegion
{
...
@@ -39,6 +40,7 @@ struct SDRContext {
...
@@ -39,6 +40,7 @@ struct SDRContext {
struct
ibv_mr
*
send_mrs
[
TRX_RDMA_MR_COUNT
];
struct
ibv_mr
*
send_mrs
[
TRX_RDMA_MR_COUNT
];
uint64_t
send_mrs_status
;
uint64_t
send_mrs_status
;
uint32_t
frame_count
;
int
consumed_mr_id
;
int
consumed_mr_id
;
int
consumed_mr_length
;
int
consumed_mr_length
;
...
...
libtrx/trx_rdma.c
View file @
9f3b704d
...
@@ -109,6 +109,8 @@ void trx_rdma_write(TRXState *s, trx_timestamp_t timestamp, const void **samples
...
@@ -109,6 +109,8 @@ void trx_rdma_write(TRXState *s, trx_timestamp_t timestamp, const void **samples
// When an MR is full, send it, next iteration will find another one
// When an MR is full, send it, next iteration will find another one
if
(
sdr_context
->
consumed_mr_length
==
TRX_RDMA_MR_SIZE
)
{
if
(
sdr_context
->
consumed_mr_length
==
TRX_RDMA_MR_SIZE
)
{
out_data
->
meta
.
sample_count
=
TRX_RDMA_MR_SIZE
;
out_data
->
meta
.
sample_count
=
TRX_RDMA_MR_SIZE
;
out_data
->
meta
.
frame_number
=
sdr_context
->
frame_count
++
;
capulet_rdma_ib_post_send
(
&
sdr_context
->
ib_ctx
,
IBV_WR_SEND
,
sdr_context
->
send_mrs
[
sdr_context
->
consumed_mr_id
],
sizeof
(
struct
SDRMemoryRegion
),
sdr_context
->
consumed_mr_id
,
NULL
);
capulet_rdma_ib_post_send
(
&
sdr_context
->
ib_ctx
,
IBV_WR_SEND
,
sdr_context
->
send_mrs
[
sdr_context
->
consumed_mr_id
],
sizeof
(
struct
SDRMemoryRegion
),
sdr_context
->
consumed_mr_id
,
NULL
);
sdr_context
->
consumed_mr_id
=
-
1
;
sdr_context
->
consumed_mr_id
=
-
1
;
}
}
...
@@ -220,6 +222,7 @@ int trx_driver_init(TRXState *s) {
...
@@ -220,6 +222,7 @@ int trx_driver_init(TRXState *s) {
sdr_context
->
server_addr
=
trx_get_param_string
(
s
,
"server_addr"
);
sdr_context
->
server_addr
=
trx_get_param_string
(
s
,
"server_addr"
);
sdr_context
->
device_name
=
trx_get_param_string
(
s
,
"device_name"
);
sdr_context
->
device_name
=
trx_get_param_string
(
s
,
"device_name"
);
sdr_context
->
last_timestamp
=
0
;
sdr_context
->
last_timestamp
=
0
;
sdr_context
->
frame_count
=
0
;
sdr_context
->
send_mrs_status
=
((
uint64_t
)
1
<<
TRX_RDMA_MR_COUNT
)
-
1
;
sdr_context
->
send_mrs_status
=
((
uint64_t
)
1
<<
TRX_RDMA_MR_COUNT
)
-
1
;
sdr_context
->
consumed_mr_id
=
-
1
;
sdr_context
->
consumed_mr_id
=
-
1
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment