提交 2e9e8688 编写于 作者: A Adrian Hunter 提交者: Arnaldo Carvalho de Melo

perf thread-stack: Factor out thread_stack__init()

In preparation for fixing thread stack processing for the idle task,
factor out thread_stack__init().
Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
Acked-by: NJiri Olsa <jolsa@kernel.org>
Link: http://lkml.kernel.org/r/20181221120620.9659-6-adrian.hunter@intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
上级 f6060ac6
...@@ -93,6 +93,24 @@ static int thread_stack__grow(struct thread_stack *ts) ...@@ -93,6 +93,24 @@ static int thread_stack__grow(struct thread_stack *ts)
return 0; return 0;
} }
static int thread_stack__init(struct thread_stack *ts, struct thread *thread,
struct call_return_processor *crp)
{
int err;
err = thread_stack__grow(ts);
if (err)
return err;
if (thread->mg && thread->mg->machine)
ts->kernel_start = machine__kernel_start(thread->mg->machine);
else
ts->kernel_start = 1ULL << 63;
ts->crp = crp;
return 0;
}
static struct thread_stack *thread_stack__new(struct thread *thread, static struct thread_stack *thread_stack__new(struct thread *thread,
struct call_return_processor *crp) struct call_return_processor *crp)
{ {
...@@ -104,17 +122,11 @@ static struct thread_stack *thread_stack__new(struct thread *thread, ...@@ -104,17 +122,11 @@ static struct thread_stack *thread_stack__new(struct thread *thread,
ts->arr_sz = 1; ts->arr_sz = 1;
if (thread_stack__grow(ts)) { if (thread_stack__init(ts, thread, crp)) {
free(ts); free(ts);
return NULL; return NULL;
} }
if (thread->mg && thread->mg->machine)
ts->kernel_start = machine__kernel_start(thread->mg->machine);
else
ts->kernel_start = 1ULL << 63;
ts->crp = crp;
thread->ts = ts; thread->ts = ts;
return ts; return ts;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册