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
1c14a9d4
Commit
1c14a9d4
authored
Jun 19, 2012
by
Poul-Henning Kamp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make the waitinglist hold req instead of sp
parent
611815fa
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
9 additions
and
5 deletions
+9
-5
cache.h
bin/varnishd/cache/cache.h
+1
-0
cache_hash.c
bin/varnishd/cache/cache_hash.c
+7
-4
hash_slinger.h
bin/varnishd/hash/hash_slinger.h
+1
-1
No files found.
bin/varnishd/cache/cache.h
View file @
1c14a9d4
...
...
@@ -562,6 +562,7 @@ struct req {
uint8_t
hash_always_miss
;
struct
sess
*
sp
;
VTAILQ_ENTRY
(
req
)
w_list
;
/* The busy objhead we sleep on */
struct
objhead
*
hash_objhead
;
...
...
bin/varnishd/cache/cache_hash.c
View file @
1c14a9d4
...
...
@@ -419,7 +419,7 @@ HSH_Lookup(struct req *req)
wrk
->
nwaitinglist
=
NULL
;
}
VTAILQ_INSERT_TAIL
(
&
oh
->
waitinglist
->
list
,
req
->
sp
,
list
);
req
,
w_
list
);
}
if
(
cache_param
->
diag_bitmap
&
0x20
)
VSLb
(
req
->
vsl
,
SLT_Debug
,
...
...
@@ -469,6 +469,7 @@ static void
hsh_rush
(
struct
dstat
*
ds
,
struct
objhead
*
oh
)
{
unsigned
u
;
struct
req
*
req
;
struct
sess
*
sp
;
struct
waitinglist
*
wl
;
...
...
@@ -477,12 +478,14 @@ hsh_rush(struct dstat *ds, struct objhead *oh)
wl
=
oh
->
waitinglist
;
CHECK_OBJ_NOTNULL
(
wl
,
WAITINGLIST_MAGIC
);
for
(
u
=
0
;
u
<
cache_param
->
rush_exponent
;
u
++
)
{
sp
=
VTAILQ_FIRST
(
&
wl
->
list
);
if
(
sp
==
NULL
)
req
=
VTAILQ_FIRST
(
&
wl
->
list
);
if
(
req
==
NULL
)
break
;
CHECK_OBJ_NOTNULL
(
req
,
REQ_MAGIC
);
sp
=
req
->
sp
;
CHECK_OBJ_NOTNULL
(
sp
,
SESS_MAGIC
);
AZ
(
sp
->
wrk
);
VTAILQ_REMOVE
(
&
wl
->
list
,
sp
,
list
);
VTAILQ_REMOVE
(
&
wl
->
list
,
req
,
w_
list
);
DSL
(
0x20
,
SLT_Debug
,
sp
->
vsl_id
,
"off waiting list"
);
if
(
SES_Schedule
(
sp
))
{
/*
...
...
bin/varnishd/hash/hash_slinger.h
View file @
1c14a9d4
...
...
@@ -68,7 +68,7 @@ struct objcore *HSH_NewObjCore(struct worker *wrk);
struct
waitinglist
{
unsigned
magic
;
#define WAITINGLIST_MAGIC 0x063a477a
VTAILQ_HEAD
(,
sess
)
list
;
VTAILQ_HEAD
(,
req
)
list
;
};
struct
objhead
{
...
...
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