Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
U
unique-xids
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
unique-xids
Commits
af2bfa94
Commit
af2bfa94
authored
Feb 15, 2012
by
Poul-Henning Kamp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Push struct worker further upwards
parent
f012e53d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
10 additions
and
11 deletions
+10
-11
cache.h
bin/varnishd/cache/cache.h
+1
-1
cache_expire.c
bin/varnishd/cache/cache_expire.c
+3
-3
stevedore.c
bin/varnishd/storage/stevedore.c
+6
-7
No files found.
bin/varnishd/cache/cache.h
View file @
af2bfa94
...
@@ -753,7 +753,7 @@ void EXP_Inject(struct objcore *oc, struct lru *lru, double when);
...
@@ -753,7 +753,7 @@ void EXP_Inject(struct objcore *oc, struct lru *lru, double when);
void
EXP_Init
(
void
);
void
EXP_Init
(
void
);
void
EXP_Rearm
(
const
struct
object
*
o
);
void
EXP_Rearm
(
const
struct
object
*
o
);
int
EXP_Touch
(
struct
objcore
*
oc
);
int
EXP_Touch
(
struct
objcore
*
oc
);
int
EXP_NukeOne
(
struct
worker
*
w
,
struct
lru
*
lru
);
int
EXP_NukeOne
(
struct
vsl_log
*
,
struct
dstat
*
,
struct
lru
*
lru
);
/* cache_fetch.c */
/* cache_fetch.c */
struct
storage
*
FetchStorage
(
struct
worker
*
w
,
ssize_t
sz
);
struct
storage
*
FetchStorage
(
struct
worker
*
w
,
ssize_t
sz
);
...
...
bin/varnishd/cache/cache_expire.c
View file @
af2bfa94
...
@@ -414,7 +414,7 @@ exp_timer(struct sess *sp, void *priv)
...
@@ -414,7 +414,7 @@ exp_timer(struct sess *sp, void *priv)
*/
*/
int
int
EXP_NukeOne
(
struct
worker
*
wrk
,
struct
lru
*
lru
)
EXP_NukeOne
(
struct
vsl_log
*
vsl
,
struct
dstat
*
ds
,
struct
lru
*
lru
)
{
{
struct
objcore
*
oc
;
struct
objcore
*
oc
;
...
@@ -445,8 +445,8 @@ EXP_NukeOne(struct worker *wrk, struct lru *lru)
...
@@ -445,8 +445,8 @@ EXP_NukeOne(struct worker *wrk, struct lru *lru)
return
(
-
1
);
return
(
-
1
);
/* XXX: bad idea for -spersistent */
/* XXX: bad idea for -spersistent */
WSL
(
wrk
->
vsl
,
SLT_ExpKill
,
0
,
"%u LRU"
,
oc_getxid
(
&
wrk
->
stat
s
,
oc
));
WSL
(
vsl
,
SLT_ExpKill
,
-
1
,
"%u LRU"
,
oc_getxid
(
d
s
,
oc
));
(
void
)
HSH_Deref
(
&
wrk
->
stat
s
,
oc
,
NULL
);
(
void
)
HSH_Deref
(
d
s
,
oc
,
NULL
);
return
(
1
);
return
(
1
);
}
}
...
...
bin/varnishd/storage/stevedore.c
View file @
af2bfa94
...
@@ -127,7 +127,7 @@ LRU_Free(struct lru *lru)
...
@@ -127,7 +127,7 @@ LRU_Free(struct lru *lru)
*/
*/
static
struct
stevedore
*
static
struct
stevedore
*
stv_pick_stevedore
(
struct
worker
*
wrk
,
const
char
**
hint
)
stv_pick_stevedore
(
struct
vsl_log
*
vsl
,
const
char
**
hint
)
{
{
struct
stevedore
*
stv
;
struct
stevedore
*
stv
;
...
@@ -141,8 +141,7 @@ stv_pick_stevedore(struct worker *wrk, const char **hint)
...
@@ -141,8 +141,7 @@ stv_pick_stevedore(struct worker *wrk, const char **hint)
return
(
stv_transient
);
return
(
stv_transient
);
/* Hint was not valid, nuke it */
/* Hint was not valid, nuke it */
WSL
(
wrk
->
vsl
,
SLT_Debug
,
0
,
/* XXX VSL_id ?? */
WSL
(
vsl
,
SLT_Debug
,
-
1
,
"Storage hint not usable"
);
"Storage hint not usable"
);
*
hint
=
NULL
;
*
hint
=
NULL
;
}
}
/* pick a stevedore and bump the head along */
/* pick a stevedore and bump the head along */
...
@@ -189,7 +188,7 @@ stv_alloc(struct worker *w, const struct object *obj, size_t size)
...
@@ -189,7 +188,7 @@ stv_alloc(struct worker *w, const struct object *obj, size_t size)
}
}
/* no luck; try to free some space and keep trying */
/* no luck; try to free some space and keep trying */
if
(
EXP_NukeOne
(
w
,
stv
->
lru
)
==
-
1
)
if
(
EXP_NukeOne
(
w
->
vsl
,
&
w
->
stats
,
stv
->
lru
)
==
-
1
)
break
;
break
;
/* Enough is enough: try another if we have one */
/* Enough is enough: try another if we have one */
...
@@ -327,12 +326,12 @@ STV_NewObject(struct worker *wrk, const char *hint, unsigned wsl,
...
@@ -327,12 +326,12 @@ STV_NewObject(struct worker *wrk, const char *hint, unsigned wsl,
ltot
=
sizeof
*
o
+
wsl
+
lhttp
;
ltot
=
sizeof
*
o
+
wsl
+
lhttp
;
stv
=
stv0
=
stv_pick_stevedore
(
wrk
,
&
hint
);
stv
=
stv0
=
stv_pick_stevedore
(
wrk
->
vsl
,
&
hint
);
AN
(
stv
->
allocobj
);
AN
(
stv
->
allocobj
);
o
=
stv
->
allocobj
(
stv
,
wrk
,
ltot
,
&
soc
);
o
=
stv
->
allocobj
(
stv
,
wrk
,
ltot
,
&
soc
);
if
(
o
==
NULL
&&
hint
==
NULL
)
{
if
(
o
==
NULL
&&
hint
==
NULL
)
{
do
{
do
{
stv
=
stv_pick_stevedore
(
wrk
,
&
hint
);
stv
=
stv_pick_stevedore
(
wrk
->
vsl
,
&
hint
);
AN
(
stv
->
allocobj
);
AN
(
stv
->
allocobj
);
o
=
stv
->
allocobj
(
stv
,
wrk
,
ltot
,
&
soc
);
o
=
stv
->
allocobj
(
stv
,
wrk
,
ltot
,
&
soc
);
}
while
(
o
==
NULL
&&
stv
!=
stv0
);
}
while
(
o
==
NULL
&&
stv
!=
stv0
);
...
@@ -340,7 +339,7 @@ STV_NewObject(struct worker *wrk, const char *hint, unsigned wsl,
...
@@ -340,7 +339,7 @@ STV_NewObject(struct worker *wrk, const char *hint, unsigned wsl,
if
(
o
==
NULL
)
{
if
(
o
==
NULL
)
{
/* no luck; try to free some space and keep trying */
/* no luck; try to free some space and keep trying */
for
(
i
=
0
;
o
==
NULL
&&
i
<
cache_param
->
nuke_limit
;
i
++
)
{
for
(
i
=
0
;
o
==
NULL
&&
i
<
cache_param
->
nuke_limit
;
i
++
)
{
if
(
EXP_NukeOne
(
wrk
,
stv
->
lru
)
==
-
1
)
if
(
EXP_NukeOne
(
wrk
->
vsl
,
&
wrk
->
stats
,
stv
->
lru
)
==
-
1
)
break
;
break
;
o
=
stv
->
allocobj
(
stv
,
wrk
,
ltot
,
&
soc
);
o
=
stv
->
allocobj
(
stv
,
wrk
,
ltot
,
&
soc
);
}
}
...
...
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