Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
trackrdrd
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
uplex-varnish
trackrdrd
Commits
77214ecf
Commit
77214ecf
authored
Apr 30, 2015
by
Geoff Simmons
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove the xid field from the data entry struct
parent
8547cd65
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
20 additions
and
35 deletions
+20
-35
child.c
src/child.c
+3
-2
data.c
src/data.c
+3
-4
test_data.c
src/test/test_data.c
+0
-1
test_spmcq.c
src/test/test_spmcq.c
+13
-21
test_worker.c
src/test/test_worker.c
+1
-6
trackrdrd.h
src/trackrdrd.h
+0
-1
No files found.
src/child.c
View file @
77214ecf
...
...
@@ -310,6 +310,7 @@ dispatch(struct VSL_data *vsl, struct VSL_transaction * const pt[], void *priv)
int
status
=
DISPATCH_RETURN_OK
;
dataentry
*
de
=
NULL
;
char
reqend_str
[
REQEND_T_LEN
];
int32_t
vxid
;
(
void
)
priv
;
if
(
all_wrk_abandoned
())
...
...
@@ -344,7 +345,7 @@ dispatch(struct VSL_data *vsl, struct VSL_transaction * const pt[], void *priv)
assert
(
VSL_CLIENT
(
t
->
c
->
rec
.
ptr
));
if
(
de
->
end
==
0
)
{
de
->
xid
=
t
->
vxid
;
v
xid
=
t
->
vxid
;
snprintf
(
de
->
data
,
config
.
max_reclen
,
"XID=%u"
,
t
->
vxid
);
de
->
end
=
strlen
(
de
->
data
);
if
(
de
->
end
>
len_hi
)
...
...
@@ -423,7 +424,7 @@ dispatch(struct VSL_data *vsl, struct VSL_transaction * const pt[], void *priv)
snprintf
(
reqend_str
,
REQEND_T_LEN
,
"%s=%u.%06lu"
,
REQEND_T_VAR
,
(
unsigned
)
de
->
reqend_t
.
tv_sec
,
de
->
reqend_t
.
tv_usec
);
append
(
de
,
SLT_Timestamp
,
de
->
xid
,
reqend_str
,
REQEND_T_LEN
-
1
);
append
(
de
,
SLT_Timestamp
,
v
xid
,
reqend_str
,
REQEND_T_LEN
-
1
);
de
->
occupied
=
1
;
MON_StatsUpdate
(
STATS_OCCUPANCY
,
0
);
data_submit
(
de
);
...
...
src/data.c
View file @
77214ecf
...
...
@@ -112,7 +112,6 @@ DATA_Reset(dataentry *entry)
entry
->
keylen
=
0
;
*
entry
->
key
=
'\0'
;
entry
->
hasdata
=
0
;
entry
->
xid
=
0
;
entry
->
reqend_t
.
tv_sec
=
0
;
entry
->
reqend_t
.
tv_usec
=
0
;
}
...
...
@@ -158,8 +157,8 @@ DATA_Dump(void)
if
(
!
OCCUPIED
(
entry
))
continue
;
LOG_Log
(
LOG_INFO
,
"Data entry %d:
XID=%u
data=[%.*s] key=[%.*s] reqend_t=%u.%06u"
,
i
,
entry
->
xid
,
entry
->
end
,
entry
->
data
,
entry
->
keylen
,
entry
->
key
,
entry
->
reqend_t
.
tv_sec
,
entry
->
reqend_t
.
tv_usec
);
"Data entry %d: data=[%.*s] key=[%.*s] reqend_t=%u.%06u"
,
i
,
entry
->
end
,
entry
->
data
,
entry
->
keylen
,
entry
->
key
,
entry
->
reqend_t
.
tv_sec
,
entry
->
reqend_t
.
tv_usec
);
}
}
src/test/test_data.c
View file @
77214ecf
...
...
@@ -63,7 +63,6 @@ static char
MAZ
(
entrytbl
[
i
].
hasdata
);
MAN
(
entrytbl
[
i
].
data
);
MAN
(
entrytbl
[
i
].
key
);
MAZ
(
entrytbl
[
i
].
xid
);
MAZ
(
entrytbl
[
i
].
end
);
MAZ
(
entrytbl
[
i
].
keylen
);
MAZ
(
entrytbl
[
i
].
reqend_t
.
tv_sec
);
...
...
src/test/test_spmcq.c
View file @
77214ecf
...
...
@@ -29,10 +29,11 @@
*
*/
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <errno.h>
#include <stdint.h>
#include <inttypes.h>
#include "minunit.h"
...
...
@@ -57,7 +58,7 @@ typedef enum {
}
fail_e
;
typedef
struct
{
u
nsigned
sum
;
u
intptr_t
sum
;
fail_e
fail
;
}
prod_con_data_t
;
...
...
@@ -78,20 +79,15 @@ static void
(
void
)
arg
;
srand48
(
time
(
NULL
));
unsigned
xid
=
(
unsigned
int
)
lrand48
();
for
(
int
i
=
0
;
i
<
config
.
max_records
;
i
++
)
{
entries
[
i
].
xid
=
xid
;
debug_print
(
"Producer: enqueue %d (xid = %u)
\n
"
,
++
enqs
,
xid
);
debug_print
(
"Producer: enqueue %d
\n
"
,
++
enqs
);
SPMCQ_Enq
(
&
entries
[
i
]);
debug_print
(
"%s
\n
"
,
"Producer: broadcast"
);
if
(
pthread_cond_broadcast
(
&
spmcq_datawaiter_cond
)
!=
0
)
{
proddata
.
fail
=
PRODUCER_BCAST
;
pthread_exit
(
&
proddata
);
}
proddata
.
sum
+=
xid
;
xid
++
;
proddata
.
sum
+=
(
uintptr_t
)
entries
[
i
].
data
;
}
debug_print
(
"%s
\n
"
,
"Producer: exit"
);
pthread_exit
((
void
*
)
&
proddata
);
...
...
@@ -138,16 +134,14 @@ static void
}
}
else
{
/* entry != NULL */
debug_print
(
"Consumer %d: dequeue %d (xid = %u)
\n
"
,
id
,
++
deqs
,
entry
->
xid
);
pcdata
->
sum
+=
entry
->
xid
;
debug_print
(
"Consumer %d: dequeue %d
\n
"
,
id
,
++
deqs
);
pcdata
->
sum
+=
(
uintptr_t
)
entry
->
data
;
}
}
debug_print
(
"Consumer %d: drain queue, run = %d
\n
"
,
id
,
run
);
while
((
entry
=
SPMCQ_Deq
())
!=
NULL
)
{
debug_print
(
"Consumer %d: dequeue %d (xid = %u)
\n
"
,
id
,
++
deqs
,
entry
->
xid
);
pcdata
->
sum
+=
entry
->
xid
;
debug_print
(
"Consumer %d: dequeue %d
\n
"
,
id
,
++
deqs
);
pcdata
->
sum
+=
(
uintptr_t
)
entry
->
data
;
}
debug_print
(
"Consumer %d: exit
\n
"
,
id
);
pthread_exit
((
void
*
)
pcdata
);
...
...
@@ -181,18 +175,15 @@ static char
static
const
char
*
test_spmcq_enq_deq
(
void
)
{
#define XID 1234567890
dataentry
entry1
,
*
entry2
;
printf
(
"... testing SPMCQ enqueue and dequeue
\n
"
);
entry1
.
xid
=
1234567890
;
SPMCQ_Enq
(
&
entry1
);
entry2
=
SPMCQ_Deq
();
mu_assert
(
"SPMCQ_Deq: returned NULL from non-empty queue"
,
entry2
!=
NULL
);
sprintf
(
errmsg
,
"SMPCQ_Deq: expected %d, got %d"
,
XID
,
entry2
->
xid
);
mu_assert
(
errmsg
,
XID
==
entry2
->
xid
);
MASSERT
(
&
entry1
==
entry2
);
return
NULL
;
}
...
...
@@ -267,8 +258,9 @@ static const char
mu_assert
(
errmsg
,
con2_data
->
fail
==
SUCCESS
);
}
sprintf
(
errmsg
,
"Consumer/producer checksum mismatch: p = %u, c = %u"
,
prod_data
->
sum
,
con1_data
->
sum
+
con2_data
->
sum
);
sprintf
(
errmsg
,
"Consumer/producer checksum mismatch: p = %"
PRIuPTR
", c = %"
PRIuPTR
,
prod_data
->
sum
,
con1_data
->
sum
+
con2_data
->
sum
);
mu_assert
(
errmsg
,
prod_data
->
sum
==
con1_data
->
sum
+
con2_data
->
sum
);
return
NULL
;
...
...
src/test/test_worker.c
View file @
77214ecf
...
...
@@ -129,9 +129,6 @@ static const char
printf
(
"... testing run of %d workers
\n
"
,
NWORKERS
);
srand48
(
time
(
NULL
));
unsigned
xid
=
(
unsigned
int
)
lrand48
();
WRK_Start
();
int
wrk_running
,
wrk_wait
=
0
;
while
((
wrk_running
=
WRK_Running
())
<
NWORKERS
)
{
...
...
@@ -145,8 +142,7 @@ static const char
for
(
int
i
=
0
;
i
<
config
.
max_records
;
i
++
)
{
entry
=
&
entrytbl
[
i
];
MCHECK_OBJ_NOTNULL
(
entry
,
DATA_MAGIC
);
entry
->
xid
=
xid
;
sprintf
(
entry
->
data
,
"XID=%d&foo=bar&baz=quux&record=%d"
,
xid
,
i
+
1
);
sprintf
(
entry
->
data
,
"foo=bar&baz=quux&record=%d"
,
i
+
1
);
entry
->
end
=
strlen
(
entry
->
data
);
entry
->
occupied
=
1
;
SPMCQ_Enq
(
entry
);
...
...
@@ -171,7 +167,6 @@ static const char
MAZ
(
entry
->
keylen
);
MAZ
(
*
entry
->
key
);
MAZ
(
entry
->
hasdata
);
MAZ
(
entry
->
xid
);
MAZ
(
entry
->
reqend_t
.
tv_sec
);
MAZ
(
entry
->
reqend_t
.
tv_usec
);
}
...
...
src/trackrdrd.h
View file @
77214ecf
...
...
@@ -122,7 +122,6 @@ struct dataentry_s {
VSTAILQ_ENTRY
(
dataentry_s
)
spmcq
;
struct
timeval
reqend_t
;
unsigned
xid
;
unsigned
end
;
/* End of string index in data */
unsigned
keylen
;
...
...
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