Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
FORMUS3IC_LAS3
/
embb
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
24fae6c4
authored
8 years ago
by
Marcus Winter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mtapi_c: reuse of main thread configurable via node attributes
parent
6328800f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
13 additions
and
2 deletions
+13
-2
mtapi_c/include/embb/mtapi/c/mtapi.h
+6
-1
mtapi_c/src/embb_mtapi_thread_context_t.c
+1
-1
mtapi_c/src/mtapi_node_attributes_t.c
+6
-0
No files found.
mtapi_c/include/embb/mtapi/c/mtapi.h
View file @
24fae6c4
...
...
@@ -552,8 +552,9 @@ enum mtapi_node_attributes_enum {
the node */
MTAPI_NODE_MAX_ACTIONS_PER_JOB
,
/**< maximum number of actions in a job
allowed by the node */
MTAPI_NODE_MAX_PRIORITIES
/**< maximum number of priorities
MTAPI_NODE_MAX_PRIORITIES
,
/**< maximum number of priorities
allowed by the node */
MTAPI_NODE_REUSE_MAIN_THREAD
/**< reuse main thread as worker */
};
/** size of the \a MTAPI_NODE_CORE_AFFINITY attribute */
#define MTAPI_NODE_CORE_AFFINITY_SIZE sizeof(embb_core_set_t)
...
...
@@ -577,6 +578,8 @@ enum mtapi_node_attributes_enum {
#define MTAPI_NODE_MAX_ACTIONS_PER_JOB_SIZE sizeof(mtapi_uint_t)
/** size of the \a MTAPI_NODE_MAX_PRIORITIES attribute */
#define MTAPI_NODE_MAX_PRIORITIES_SIZE sizeof(mtapi_uint_t)
/** size of the \a MTAPI_NODE_REUSE_MAIN_THREAD attribute */
#define MTAPI_NODE_REUSE_MAIN_THREAD_SIZE sizeof(mtapi_boolean_t)
/* example attribute value */
#define MTAPI_NODE_TYPE_SMP 1
...
...
@@ -688,6 +691,8 @@ struct mtapi_node_attributes_struct {
mtapi_uint_t
max_actions_per_job
;
/**< stores
MTAPI_NODE_MAX_ACTIONS_PER_JOB */
mtapi_uint_t
max_priorities
;
/**< stores MTAPI_NODE_MAX_PRIORITIES */
mtapi_boolean_t
reuse_main_thread
;
/**< stores
MTAPI_NODE_REUSE_MAIN_THREAD */
};
/**
...
...
This diff is collapsed.
Click to expand it.
mtapi_c/src/embb_mtapi_thread_context_t.c
View file @
24fae6c4
...
...
@@ -54,7 +54,7 @@ mtapi_boolean_t embb_mtapi_thread_context_initialize_with_node_worker_and_core(
that
->
core_num
=
core_num
;
that
->
priorities
=
node
->
attributes
.
max_priorities
;
that
->
is_initialized
=
MTAPI_FALSE
;
that
->
is_main_thread
=
(
worker_index
==
0
)
?
MTAPI_TRUE
:
MTAPI_FALSE
;
that
->
is_main_thread
=
(
worker_index
==
0
)
?
node
->
attributes
.
reuse_main_thread
:
MTAPI_FALSE
;
embb_atomic_store_int
(
&
that
->
run
,
0
);
that
->
queue
=
(
embb_mtapi_task_queue_t
**
)
embb_mtapi_alloc_allocate
(
...
...
This diff is collapsed.
Click to expand it.
mtapi_c/src/mtapi_node_attributes_t.c
View file @
24fae6c4
...
...
@@ -52,6 +52,7 @@ void mtapi_nodeattr_init(
attributes
->
max_jobs
=
MTAPI_NODE_MAX_JOBS_DEFAULT
;
attributes
->
max_actions_per_job
=
MTAPI_NODE_MAX_ACTIONS_PER_JOB_DEFAULT
;
attributes
->
max_priorities
=
MTAPI_NODE_MAX_PRIORITIES_DEFAULT
;
attributes
->
reuse_main_thread
=
MTAPI_FALSE
;
embb_core_set_init
(
&
attributes
->
core_affinity
,
1
);
attributes
->
num_cores
=
embb_core_set_count
(
&
attributes
->
core_affinity
);
...
...
@@ -143,6 +144,11 @@ void mtapi_nodeattr_set(
&
attributes
->
max_priorities
,
attribute
,
attribute_size
);
break
;
case
MTAPI_NODE_REUSE_MAIN_THREAD
:
local_status
=
embb_mtapi_attr_set_mtapi_boolean_t
(
&
attributes
->
reuse_main_thread
,
attribute
,
attribute_size
);
break
;
default:
/* attribute unknown */
local_status
=
MTAPI_ERR_ATTR_NUM
;
...
...
This diff is collapsed.
Click to expand it.
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