Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
varnish-cache
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
varnishcache
varnish-cache
Commits
8763a451
Commit
8763a451
authored
May 27, 2017
by
Poul-Henning Kamp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Never trust the values of VSC-counters: They are mmap'ed in other
processes and therefore they are not trustworthy.
parent
4c6b2717
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
20 additions
and
11 deletions
+20
-11
cache_ban.c
bin/varnishd/cache/cache_ban.c
+13
-9
cache_ban.h
bin/varnishd/cache/cache_ban.h
+2
-0
cache_ban_build.c
bin/varnishd/cache/cache_ban_build.c
+2
-1
cache_ban_lurker.c
bin/varnishd/cache/cache_ban_lurker.c
+3
-1
No files found.
bin/varnishd/cache/cache_ban.c
View file @
8763a451
...
...
@@ -47,6 +47,8 @@ struct ban * volatile ban_start;
static
pthread_t
ban_thread
;
static
int
ban_holds
;
uint64_t
bans_persisted_bytes
;
uint64_t
bans_persisted_fragmentation
;
struct
ban_test
{
uint8_t
oper
;
...
...
@@ -165,8 +167,9 @@ ban_mark_completed(struct ban *b)
VWMB
();
vbe32enc
(
b
->
spec
+
BANS_LENGTH
,
BANS_HEAD_LEN
);
VSC_C_main
->
bans_completed
++
;
VSC_C_main
->
bans_persisted_fragmentation
+=
ln
-
ban_len
(
b
->
spec
);
bans_persisted_fragmentation
+=
ln
-
ban_len
(
b
->
spec
);
VSC_C_main
->
bans_persisted_fragmentation
=
bans_persisted_fragmentation
;
}
}
...
...
@@ -303,19 +306,19 @@ ban_export(void)
unsigned
ln
;
Lck_AssertHeld
(
&
ban_mtx
);
ln
=
VSC_C_main
->
bans_persisted_bytes
-
VSC_C_main
->
bans_persisted_fragmentation
;
ln
=
bans_persisted_bytes
-
bans_persisted_fragmentation
;
vsb
=
VSB_new_auto
();
AN
(
vsb
);
VTAILQ_FOREACH_REVERSE
(
b
,
&
ban_head
,
banhead_s
,
list
)
{
VTAILQ_FOREACH_REVERSE
(
b
,
&
ban_head
,
banhead_s
,
list
)
AZ
(
VSB_bcat
(
vsb
,
b
->
spec
,
ban_len
(
b
->
spec
)));
}
AZ
(
VSB_finish
(
vsb
));
assert
(
VSB_len
(
vsb
)
==
ln
);
STV_BanExport
((
const
uint8_t
*
)
VSB_data
(
vsb
),
VSB_len
(
vsb
));
VSB_destroy
(
&
vsb
);
VSC_C_main
->
bans_persisted_bytes
=
ln
;
VSC_C_main
->
bans_persisted_fragmentation
=
0
;
VSC_C_main
->
bans_persisted_bytes
=
bans_persisted_bytes
=
ln
;
VSC_C_main
->
bans_persisted_fragmentation
=
bans_persisted_fragmentation
=
0
;
}
/*
...
...
@@ -395,7 +398,8 @@ ban_reload(const uint8_t *ban, unsigned len)
VTAILQ_INSERT_TAIL
(
&
ban_head
,
b2
,
list
);
else
VTAILQ_INSERT_BEFORE
(
b
,
b2
,
list
);
VSC_C_main
->
bans_persisted_bytes
+=
len
;
bans_persisted_bytes
+=
len
;
VSC_C_main
->
bans_persisted_bytes
=
bans_persisted_bytes
;
/* Hunt down older duplicates */
for
(
b
=
VTAILQ_NEXT
(
b2
,
list
);
b
!=
NULL
;
b
=
VTAILQ_NEXT
(
b
,
list
))
{
...
...
bin/varnishd/cache/cache_ban.h
View file @
8763a451
...
...
@@ -106,6 +106,8 @@ extern int ban_shutdown;
extern
struct
banhead_s
ban_head
;
extern
struct
ban
*
volatile
ban_start
;
extern
pthread_cond_t
ban_lurker_cond
;
extern
uint64_t
bans_persisted_bytes
;
extern
uint64_t
bans_persisted_fragmentation
;
void
ban_mark_completed
(
struct
ban
*
b
);
unsigned
ban_len
(
const
uint8_t
*
banspec
);
...
...
bin/varnishd/cache/cache_ban_build.c
View file @
8763a451
...
...
@@ -296,7 +296,8 @@ BAN_Commit(struct ban_proto *bp)
VSC_C_main
->
bans
++
;
VSC_C_main
->
bans_added
++
;
VSC_C_main
->
bans_persisted_bytes
+=
ln
;
bans_persisted_bytes
+=
ln
;
VSC_C_main
->
bans_persisted_bytes
=
bans_persisted_bytes
;
if
(
b
->
flags
&
BANS_FLAG_OBJ
)
VSC_C_main
->
bans_obj
++
;
...
...
bin/varnishd/cache/cache_ban_lurker.c
View file @
8763a451
...
...
@@ -86,8 +86,10 @@ ban_cleantail(const struct ban *victim)
VSC_C_main
->
bans_deleted
++
;
VTAILQ_REMOVE
(
&
ban_head
,
b
,
list
);
VTAILQ_INSERT_TAIL
(
&
freelist
,
b
,
list
);
VSC_C_main
->
bans_persisted_fragmentation
+=
bans_persisted_fragmentation
+=
ban_len
(
b
->
spec
);
VSC_C_main
->
bans_persisted_fragmentation
=
bans_persisted_fragmentation
;
ban_info_drop
(
b
->
spec
,
ban_len
(
b
->
spec
));
}
else
{
b
=
NULL
;
...
...
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