Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
slash
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
slash
Commits
a2e3a2c3
Unverified
Commit
a2e3a2c3
authored
Jul 15, 2023
by
Nils Goroll
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Introduce new priorities
parent
4a0a6ece
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
15 additions
and
12 deletions
+15
-12
buddy.h
src/buddy.h
+1
-1
fellow_cache.c
src/fellow_cache.c
+7
-7
fellow_pri.h
src/fellow_pri.h
+6
-3
fellow_storage.c
src/fellow_storage.c
+1
-1
No files found.
src/buddy.h
View file @
a2e3a2c3
...
@@ -50,7 +50,7 @@ VTAILQ_HEAD(buddy_reqs_head, buddy_reqs);
...
@@ -50,7 +50,7 @@ VTAILQ_HEAD(buddy_reqs_head, buddy_reqs);
#define WHEN_VAR
#define WHEN_VAR
#endif
#endif
#define BUDDY_WAIT_MAXPRI
4
#define BUDDY_WAIT_MAXPRI
8
struct
BUDDY
{
struct
BUDDY
{
unsigned
magic
;
unsigned
magic
;
...
...
src/fellow_cache.c
View file @
a2e3a2c3
...
@@ -1626,7 +1626,7 @@ fellow_cache_obj_new(const struct fellow_cache *fc,
...
@@ -1626,7 +1626,7 @@ fellow_cache_obj_new(const struct fellow_cache *fc,
assert
(
u
<=
UINT8_MAX
);
assert
(
u
<=
UINT8_MAX
);
bits
=
(
uint8_t
)
u
;
bits
=
(
uint8_t
)
u
;
fco_mem
=
buddy_alloc1_ptr_page_wait
(
fc
->
membuddy
,
fco_mem
=
buddy_alloc1_ptr_page_wait
(
fc
->
membuddy
,
FEP_
NORMAL
,
bits
,
0
);
FEP_
GET
,
bits
,
0
);
if
(
FC_INJ
||
fco_mem
.
ptr
==
NULL
)
{
if
(
FC_INJ
||
fco_mem
.
ptr
==
NULL
)
{
fcr
=
FCR_ALLOCFAIL
(
"fco_mem alloc failed"
);
fcr
=
FCR_ALLOCFAIL
(
"fco_mem alloc failed"
);
goto
err
;
goto
err
;
...
@@ -1636,7 +1636,7 @@ fellow_cache_obj_new(const struct fellow_cache *fc,
...
@@ -1636,7 +1636,7 @@ fellow_cache_obj_new(const struct fellow_cache *fc,
}
}
fdo_mem
=
buddy_alloc1_ptr_extent_wait
(
fc
->
membuddy
,
fdo_mem
=
buddy_alloc1_ptr_extent_wait
(
fc
->
membuddy
,
FEP_
NORMAL
,
asz
,
0
);
FEP_
GET
,
asz
,
0
);
if
(
FC_INJ
||
fdo_mem
.
ptr
==
NULL
)
{
if
(
FC_INJ
||
fdo_mem
.
ptr
==
NULL
)
{
fcr
=
FCR_ALLOCFAIL
(
"fdo_mem alloc failed"
);
fcr
=
FCR_ALLOCFAIL
(
"fdo_mem alloc failed"
);
...
@@ -1705,7 +1705,7 @@ fellow_busy_obj_alloc(struct fellow_cache *fc,
...
@@ -1705,7 +1705,7 @@ fellow_busy_obj_alloc(struct fellow_cache *fc,
size_t
sz
,
asz
,
dsk_sz
;
size_t
sz
,
asz
,
dsk_sz
;
uint16_t
ldsegs
;
uint16_t
ldsegs
;
fbo_mem
=
buddy_alloc1_ptr_extent_wait
(
fc
->
membuddy
,
FEP_
NORMAL
,
fbo_mem
=
buddy_alloc1_ptr_extent_wait
(
fc
->
membuddy
,
FEP_
GET
,
sizeof
*
fbo
,
0
);
sizeof
*
fbo
,
0
);
fbo
=
fbo_mem
.
ptr
;
fbo
=
fbo_mem
.
ptr
;
if
(
fbo
==
NULL
)
{
if
(
fbo
==
NULL
)
{
...
@@ -1742,7 +1742,7 @@ fellow_busy_obj_alloc(struct fellow_cache *fc,
...
@@ -1742,7 +1742,7 @@ fellow_busy_obj_alloc(struct fellow_cache *fc,
// XXX delay to allow new objects during FP_INIT ?
// XXX delay to allow new objects during FP_INIT ?
fds_seg
=
FC_INJ
?
buddy_off_extent_nil
:
fds_seg
=
FC_INJ
?
buddy_off_extent_nil
:
fellow_region_alloc
(
fc
->
ffd
,
FEP_
NORMAL
,
dsk_sz
,
0
);
fellow_region_alloc
(
fc
->
ffd
,
FEP_
GET
,
dsk_sz
,
0
);
if
(
fds_seg
.
off
<
0
)
{
if
(
fds_seg
.
off
<
0
)
{
fcr
=
FCR_ALLOCFAIL
(
"fds region"
);
fcr
=
FCR_ALLOCFAIL
(
"fds region"
);
fellow_cache_res_check
(
fc
,
fcr
);
fellow_cache_res_check
(
fc
,
fcr
);
...
@@ -1850,7 +1850,7 @@ fellow_busy_region_alloc(struct fellow_busy *fbo, size_t size, int8_t cram)
...
@@ -1850,7 +1850,7 @@ fellow_busy_region_alloc(struct fellow_busy *fbo, size_t size, int8_t cram)
fdr
=
&
fbo
->
region
[
fbo
->
nregion
];
fdr
=
&
fbo
->
region
[
fbo
->
nregion
];
*
fdr
=
FC_INJ
?
buddy_off_extent_nil
:
*
fdr
=
FC_INJ
?
buddy_off_extent_nil
:
fellow_region_alloc
(
fc
->
ffd
,
FEP_
NORMAL
,
size
,
cram
);
fellow_region_alloc
(
fc
->
ffd
,
FEP_
GET
,
size
,
cram
);
if
(
fdr
->
off
<
0
)
{
if
(
fdr
->
off
<
0
)
{
return
(
NULL
);
return
(
NULL
);
...
@@ -3076,7 +3076,7 @@ fellow_cache_seg_ref_in(struct fellow_cache *fc, enum fellow_cache_io_e type,
...
@@ -3076,7 +3076,7 @@ fellow_cache_seg_ref_in(struct fellow_cache *fc, enum fellow_cache_io_e type,
assert
(
n
<=
BUDDY_REQS_MAX
);
assert
(
n
<=
BUDDY_REQS_MAX
);
reqs
=
BUDDY_REQS_STK
(
fc
->
membuddy
,
BUDDY_REQS_MAX
);
reqs
=
BUDDY_REQS_STK
(
fc
->
membuddy
,
BUDDY_REQS_MAX
);
BUDDY_REQS_PRI
(
reqs
,
FEP_
NORMAL
);
BUDDY_REQS_PRI
(
reqs
,
FEP_
GET
);
rets
=
BUDDY_RETURNS_STK
(
fc
->
membuddy
,
BUDDY_RETURNS_MAX
);
rets
=
BUDDY_RETURNS_STK
(
fc
->
membuddy
,
BUDDY_RETURNS_MAX
);
memset
(
iosegs
,
0
,
sizeof
iosegs
);
memset
(
iosegs
,
0
,
sizeof
iosegs
);
...
@@ -3447,7 +3447,7 @@ static size_t fellow_busy_seg_memalloc(buddy_t *membuddy,
...
@@ -3447,7 +3447,7 @@ static size_t fellow_busy_seg_memalloc(buddy_t *membuddy,
AZ
(
fcs
->
alloc
.
ptr
);
AZ
(
fcs
->
alloc
.
ptr
);
AZ
(
fcs
->
alloc
.
size
);
AZ
(
fcs
->
alloc
.
size
);
fcs
->
alloc
=
buddy_alloc1_ptr_extent_wait
(
membuddy
,
FEP_
NORMAL
,
fcs
->
alloc
=
buddy_alloc1_ptr_extent_wait
(
membuddy
,
FEP_
GET
,
fds
->
seg
.
size
,
0
);
fds
->
seg
.
size
,
0
);
if
(
fcs
->
alloc
.
ptr
==
NULL
)
if
(
fcs
->
alloc
.
ptr
==
NULL
)
...
...
src/fellow_pri.h
View file @
a2e3a2c3
...
@@ -19,9 +19,12 @@
...
@@ -19,9 +19,12 @@
* 02110-1301 USA Also add information on how to contact you by
* 02110-1301 USA Also add information on how to contact you by
* electronic and paper mail.
* electronic and paper mail.
*/
*/
// mem dsk
#define FEP_RESERVE 0 // reservation
#define FEP_RESERVE 0 // reservation reservation
#define FEP_NORMAL 1 // object, body
#define FEP_GET 1 // obj_get object, body
#define FEP_NEW 2 // busy_obj_alloc
#define FEP_SPC 3 // sfemem_getspace
#define FEP_ITER 4 // sfemem_iterator
#define FEP_META 2 // segments etc.
#define FEP_META 2 // segments etc.
#define FEP_LOG 3 // log
#define FEP_LOG 3 // log
#define FEP_FREE 4 // regionlist
#define FEP_FREE 4 // regionlist
src/fellow_storage.c
View file @
a2e3a2c3
...
@@ -2829,7 +2829,7 @@ sfe_allocbuf(struct worker *wrk, const struct stevedore *stv, size_t size,
...
@@ -2829,7 +2829,7 @@ sfe_allocbuf(struct worker *wrk, const struct stevedore *stv, size_t size,
CAST_OBJ_NOTNULL
(
stvfe
,
stv
->
priv
,
STVFE_MAGIC
);
CAST_OBJ_NOTNULL
(
stvfe
,
stv
->
priv
,
STVFE_MAGIC
);
AN
(
ppriv
);
AN
(
ppriv
);
p
=
buddy_malloc_wait
(
stvfe
->
membuddy
,
size
,
FEP_
NORMAL
);
p
=
buddy_malloc_wait
(
stvfe
->
membuddy
,
size
,
FEP_
GET
);
if
(
p
==
NULL
)
if
(
p
==
NULL
)
return
(
NULL
);
return
(
NULL
);
*
ppriv
=
(
uintptr_t
)
p
;
*
ppriv
=
(
uintptr_t
)
p
;
...
...
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