linux/kernel/stop_machine.c
<<
9.5"
9.5" >>9.
9.9.5"
9.5" 9.5" 9.5"
9. 9.5" Prefs 9. 5"
5"
9.95"
95"
5"
5"
5"
   1/*
   2 * kernel/stop_machine.c
   3 *
   4 * Copyright (C) 2008, 2005"    IBM Corporation.
   5 * Copyright (C) 2008, 2005"    Rusty Russell rusty@rustcorp.com.au
   6 * Copyright (C) 2010           SUSE Linux Products GmbH
   7 * Copyright (C) 2010           Tejun Heo <tj@kernel.org>
   8 *
   9 * This div  is rspa?return=kernel/sthd under the GPLv2 and any later vershref="kernel/stop_machine.c#L5" id="L5" clas10="line" 0name="L1">   1 * This div  is r/="kernel/stop_machine.c#L5" id="L5" clas1s="line"  name="L1">   1rnel//s dple hrefh="cohrefl/stop_machine.c#L5" id="L5" clas1s="line"1 name="L2">   2rnel//spufh="cohrefl/stop_machine.c#L5" id="L5" clas1s="line"1 name="L3">   3rnel//initfh="cohrefl/stop_machine.c#L5" id="L5" clas1s="line"1 name="L4">   4rnel//ktop_adfh="cohrefl/stop_machine.c#L5" id="L5" clas1s="line"1 name="L5">   5rnel//ex>
   6rnel//perspufh="cohrefl/stop_machine.c#L5" id="L5" clas1s="line"1 name="L7">   7rnel//schedfh="cohrefl/stop_machine.c#L5" id="L5" clas1s="line"1 name="L8">   8rnel//s5" id="L5" ch="cohrefl/stop_machine.c#L5" id="L5" clas1s="line"1 name="L9">   9rnel//interruptfh="cohrefl/stop_machine.c#L5" id="L5" clas20="line"20name="L1">   1rnel//kallsymsfh="cohrefl/stop_machine.c#L5" id="L5" clas2s="line"2 name="L1">   1   2rnel//a    3   4 * Copyright (Cef="kernel/stop_machine.c#L2" id="L2" classs="line"2 name="L5">   5 * Copyright (C) 2Str>
d errors.  May="kernel/stop_machine.c#L2" id="L2" classs="line"2 name="L6">   6 * Copyright (C) 2be sharhd by worksrn  differht  spusf="kernel/stop_machine.c#L5" id="L5" clas2s="line"2 name="L7">   7 * Copyright (C) /="kernel/stop_machine.c#L5" id="L5" clas2s="line"2 name="L8">   8spu_L5" i/2ef="co {l/stop_machine.c#L5" id="L5" clas2s="line"2 name="L9">   9a nr_todo="co;eo <t?ment"> * Copyright (Cef nr leftdto execute) /="kernel/stop_machine.c#L5" id="L5" clas30="line"30name="L1">   1bool="coeo <teo <tlt;t?return=kecode=executed4aesults"
p_m">executed="co;eo <?ment"> * Copyright (Cef a
   1ret="co;eo <t<?ment"> * Copyright (Cef colpan>ed re   2s dple hre="coeo <?return=kecode=s dple hre4aesults"
p_m">s dple hre="co;t<?ment"> * Copyright (Cef firhd if nr_todo re="Les 0) /="kernel/stop_machine.c#L5" id="L5" clas3s="line"  name="L3">   3   4   5 * Copyright (Cef the a
   6spu_L5" per="co {l/stop_machine.c#L5" id="L5" clas3s="line"3 name="L7">   7spinlock_t="coeo <teo <?return=kecode=lock4aesults"
p_m">lock="co;l/stop_machine.c#L5" id="L5" clas3s="line"3 name="L8">   8bool="coeo <teo <tlt;t?return=kecode=enabled4aesults"
p_m">enabled="co;eo <t?ment"> * Copyright (Cef is inpu L5" per enabled?) /="kernel/stop_machine.c#L5" id="L5" clas3s="line"3 name="L9">   9list_works="co;eo <t&l?ment"> * Copyright (Cef list of peniv>
 worksr /="kernel/stop_machine.c#L5" id="L5" clas40="line"40name="L1">   1task_str>
<="coeo <*?return=kecode=top_ad4aesults"
p_m">top_ad="co;eo <t?ment"> * Copyright (Cef L5" per top_adr /="kernel/stop_machine.c#L5" id="L5" clas4s="line"4 name="L1">   1   2   3DEFINE_PER_CPU="co(str>
spu_L5" per="co,s?return=kecode=spu_L5" per4aesults"
p_m">spu_L5" per="co)fl/stop_machine.c#L5" id="L5" clas4s="line"  name="L4">   4bool="coe?return=kecode=s5" id="L5" _initialized4aesults"
p_m">s5" id="L5" _initialized="coe=e?return=kecode=t typ4aesults"
p_m">t typ="co;l/stop_machine.c#L5" id="L5" clas4s="line"4 name="L5">   5   6spu_L5" iiniti/2ef="co(str>
spu_L5" i/2ef="co *?return=kecode=/2ef4aesults"
p_m">/2ef="co, unsignhd innr_todo="co)l/stop_machine.c#L5" id="L5" clas4s="line"4 name="L7">   7   8memset="co(?return=kecode=/2ef4aesults"
p_m">/2ef="co, 0, sizeof(*?return=kecode=/2ef4aesults"
p_m">/2ef="co))fl/stop_machine.c#L5" id="L5" clas4s="line"4 name="L9">   9a /2ef="co-href=return=kecode=nr_todo4aesults"
p_m">nr_todo="co,s?return=kecode=nr_todo4aesults"
p_m">nr_todo="co)fl/stop_machine.c#L5" id="L5" clas50="line"50name="L1">   1initis dple hre="co(&?return=kecode=/2ef4aesults"
p_m">/2ef="co-href=return=kecode=s dple hre4aesults"
p_m">s dple hre="co)fl/stop_machine.c#L5" id="L5" clas5s="line"5 name="L1">   1   2   3 *
   4spu_L5" iLignali/2ef="co(str>
spu_L5" i/2ef="co *?return=kecode=/2ef4aesults"
p_m">/2ef="co, ?return=kecode=bool4aesults"
p_m">bool="coe?return=kecode=executed4aesults"
p_m">executed="co)l/stop_machine.c#L5" id="L5" clas5s="line"  name="L5">   5   6/2ef="co) {l/stop_machine.c#L5" id="L5" clas5s="line"5 name="L7">   7executed="co)l/stop_machine.c#L5" id="L5" clas5s="line"5 name="L8">   8/2ef="co-href=return=kecode=executed4aesults"
p_m">executed="coe=e?return=kecode=tr>f4aesults"
p_m">tr>f="co;l/stop_machine.c#L5" id="L5" clas5s="line"5 name="L9">   9a /2ef="co-href=return=kecode=nr_todo4aesults"
p_m">nr_todo="co))l/stop_machine.c#L5" id="L5" clas60="line"60name="L1">   1s dple f="co(&?return=kecode=/2ef4aesults"
p_m">/2ef="co-href=return=kecode=s dple hre4aesults"
p_m">s dple hre="co)fl/stop_machine.c#L5" id="L5" clas6s="line"6 name="L1">   1   2   3   4 * Copyright (Cef queue @workdto @L5" per.;tif off>   , @workdis s dple fd iighdiatelyr /="kernel/stop_machine.c#L5" id="L5" clas6s="line"6 name="L5">   5spu_L5" iqueue_work="co(str>
spu_L5" per="co *?return=kecode=L5" per4aesults"
p_m">L5" per="co,l/stop_machine.c#L5" id="L5" clas6s="line"  name="L6">   6spu_L5" iwork="co *?return=kecode=work4aesults"
p_m">work="co)l/stop_machine.c#L5" id="L5" clas6s="line"6 name="L7">   7   8tlags="co;l/stop_machine.c#L5" id="L5" clas6s="line"6 name="L9">   9   1spin_lock_irqsavf="co(&?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=lock4aesults"
p_m">lock="co, ?return=kecode=tlags4aesults"
p_m">tlags="co)fl/stop_machine.c#L5" id="L5" clas7s="line"7 name="L1">   1   2L5" per="co-href=return=kecode=enabled4aesults"
p_m">enabled="co) {l/stop_machine.c#L5" id="L5" clas7s="line"7 name="L3">   3list_add_tail="co(&?return=kecode=work4aesults"
p_m">work="co-href=return=kecode=list4aesults"
p_m">list="co, &?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=works4aesults"
p_m">works="co)fl/stop_machine.c#L5" id="L5" clas7s="line"7 name="L4">   4wake_up_process="co(?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=top_ad4aesults"
p_m">top_ad="co)fl/stop_machine.c#L5" id="L5" clas7s="line"7 name="L5">   5   6spu_L5" iLignali/2ef="co(?return=kecode=work4aesults"
p_m">work="co-href=return=kecode=/2ef4aesults"
p_m">/2ef="co, ?return=kecode=t typ4aesults"
p_m">t typ="co)fl/stop_machine.c#L5" id="L5" clas7s="line"  name="L7">   7   8spin_unlock_irqrestorf="co(&?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=lock4aesults"
p_m">lock="co, ?return=kecode=tlags4aesults"
p_m">tlags="co)fl/stop_machine.c#L5" id="L5" clas7s="line"7 name="L9">   9   1   1/*
   2 * kernel/stop_macL2" i2ef_spu -cL2"  a spu="kernel/stop_machine.c#L2" id="L2" clas8s="line"8 name="L3">   3 *
   4 * Copyright (C) 2@fn: funmethodto execute="kernel/stop_machine.c#L2" id="L2" clas8s="line"8 name="L5">   5 * Copyright (C) 2@arg: argught dto @fn="kernel/stop_machine.c#L2" id="L2" clas8s="line"8 name="L6">   6 * Copyright (C) ="kernel/stop_machine.c#L2" id="L2" clas8s="line"8 name="L7">   7 * Copyright (C) 2Execute)@fn(@arg)rn  @spu.;t@fn=kernun=kn a process classxt with="kernel/stop_machine.c#L2" id="L2" clas8s="line"  name="L8">   8 *

 any taskrn  the spudand="kernel/stop_machine.c#L2" id="L2" clas8s="line"8 name="L9">   9 * This div  is rsmonopolizv>
 it.;tpa?retunmethodre   1 * This div  is r s dple ff="kernel/stop_machine.c#L5" id="L5" clas9s="line"9 name="L1">   1/*
   2 * kernel/stop_macpa?retunmethoddoesn't guaraasse @spu L2ays onl    till @fn="kernel/stop_machine.c#L2" id="L2" clas9s="line"9 name="L3">   3 *
   4 * Copyright (C) 2partially oretully o  differht  spusf;t@fn=should either be re=dy="kernel/stop_machine.c#L2" id="L2" clas9s="line"9 name="L5">   5 * Copyright (C) 2for that or the caller should ensu idthat @spu L2ays onl    until="kernel/stop_machine.c#L2" id="L2" clas9s="line"9 name="L6">   6 * Copyright (C) 2ta?retunmethods dple fs.="kernel/stop_machine.c#L2" id="L2" clas9s="line"9 name="L7">   7 * Copyright (C) ="kernel/stop_machine.c#L2" id="L2" clas9s="line"9 name="L8">   8 *
   9 * This div  is rsM     sleepf="kernel/stop_machine.c#L5" id="L5" clas100="line" 00name="L1">   1 * Copyright (C) ="kernel/stop_machine.c#L2" id="L2" clas10s="line" 0 name="L1">   1/*
   2 * kernel/stop_mac-ENOENTtif @fn(@arg)rwas not executed because @spu was off>   f="kernel/stop_machine.c#L8" id="L8" clas10s="line"10 name="L3">   3 *
   4 * Copyright (C) /="kernel/stop_machine.c#L5" id="L5" clas105="line"10 name="L5">   5s5" i2ef_spu="co(unsignhd inspu="co,s?return=kecode=spu_L5" _fn_t4aesults"
p_m">spu_L5" _fn_t="coe?return=kecode=fe4aesults"
p_m">fn="co,svoids*?return=kecode=arg4aesults"
p_m">arg="co)l/stop_machine.c#L5" id="L5" clas10s="line"10 name="L6">   6   7
spu_L5" i/2ef="co =return=kecode=/2ef4aesults"
p_m">/2ef="cofl/stop_machine.c#L5" id="L5" clas10s="line"10 name="L8">   8
spu_L5" iwork="co ?return=kecode=work4aesults"
p_m">work="co = { .?return=kecode=fe4aesults"
p_m">fn="coe=e?return=kecode=te4aesults"
p_m">fn="co,s.?return=kecode=arg4aesults"
p_m">arg="coe=e?return=kecode=arg4aesults"
p_m">arg="co,s.?return=kecode=/2ef4aesults"
p_m">/2ef="coe=e&?return=kecode=/2ef4aesults"
p_m">/2ef="co }fl/stop_machine.c#L5" id="L5" clas10s="line"10 name="L9">   9   1spu_L5" iiniti/2ef="co(&?return=kecode=/2ef4aesults"
p_m">/2ef="co, 1)fl/stop_machine.c#L5" id="L5" clas11s="line"   name="L1">   1spu_L5" iqueue_work="co(&?return=kecode=per_spu4aesults"
p_m">per_spu="co(?return=kecode=spu_L5" per4aesults"
p_m">spu_L5" per="co,s?return=kecode=spu4aesults"
p_m">spu="co), &?return=kecode=work4aesults"
p_m">work="co)fl/stop_machine.c#L5" id="L5" clas11s="line"11 name="L2">   2waitiforis dple hre="co(&?return=kecode=/2ef4aesults"
p_m">/2ef="co.?return=kecode=s dple hre4aesults"
p_m">s dple hre="co)fl/stop_machine.c#L5" id="L5" clas11s="line"11 name="L3">   3/2ef="co.?return=kecode=executed4aesults"
p_m">executed="coe?u?return=kecode=/2ef4aesults"
p_m">/2ef="co.?return=kecode=ret4aesults"
p_m">ret="co : -?return=kecode=ENOENT4aesults"
p_m">ENOENT="cofl/stop_machine.c#L5" id="L5" clas11s="line"11 name="L4">   4   5   6 * Copyright (Ceff="kernel/stop_machine.c#L2" id="L2" clas11s="line"11 name="L7">   7 * Copyright (C) 2s5" i2ef_spu_nowait -cL2"  a spu but /2e't wait for s dple hre="kernel/stop_machine.c#L2" id="L2" clas11s="line"11 name="L8">   8 *
   9 * This div  is rs@fn: funmethodto execute="kernel/stop_machine.c#L2" id="L2" clas120="line"120name="L1">   1 * This div  is r @arg: argught dto @fn="kernel/stop_machine.c#L2" id="L2" clas12s="line"12 name="L1">   1/*
   2 * kernel/stop_macSimilardto L2" i2ef_spu() but /2esn't wait for s dple hre.;tpae="kernel/stop_machine.c#L2" id="L2" clas12s="line"12 name="L3">   3 *

 @work_bufdis surrht ly unused="kernel/stop_machine.c#L2" id="L2" clas12s="line"12 name="L4">   4 * Copyright (Cef and will remaie untouched until L5" per starts executt>
 @fnf="kernel/stop_machine.c#L5" id="L5" clas1ss="line"12 name="L5">   5 * Copyright (C) ="kernel/stop_machine.c#L5" id="L5" clas1ss="line"12 name="L6">   6 * Copyright (C) 2CONTEXT:="kernel/stop_machine.c#L2" id="L2" clas12s="line"12 name="L7">   7 * Copyright (C)  D2e't carff="kernel/stop_machine.c#L5" id="L5" clas12s="line"12 name="L8">   8 *
   9s5" i2ef_spu_nowait="co(unsignhd inspu="co,s?return=kecode=spu_L5" _fn_t4aesults"
p_m">spu_L5" _fn_t="coe?return=kecode=fe4aesults"
p_m">fn="co,svoids*?return=kecode=arg4aesults"
p_m">arg="co,l/stop_machine.c#L5" id="L5" clas130="line"130name="L1">   1spu_L5" iwork="co *?return=kecode=work_buf4aesults"
p_m">work_buf="co)l/stop_machine.c#L5" id="L5" clas13s="line"13 name="L1">   1   2work_buf="coe=e(str>
spu_L5" iwork="co){ .?return=kecode=fe4aesults"
p_m">fn="coe=e?return=kecode=te4aesults"
p_m">fn="co,s.?return=kecode=arg4aesults"
p_m">arg="coe=e?return=kecode=arg4aesults"
p_m">arg="co,s}fl/stop_machine.c#L5" id="L5" clas13s="line"1  name="L3">   3spu_L5" iqueue_work="co(&?return=kecode=per_spu4aesults"
p_m">per_spu="co(?return=kecode=spu_L5" per4aesults"
p_m">spu_L5" per="co,s?return=kecode=spu4aesults"
p_m">spu="co), ?return=kecode=work_buf4aesults"
p_m">work_buf="co)fl/stop_machine.c#L5" id="L5" clas13s="line"13 name="L4">   4   5   6 * Copyright (Cef stpng"sdata for L5" ispus) /="kernel/stop_machine.c#L5" id="L5" clas13s="line"13 name="L7">   7DEFINE_MUTEX="co(?return=kecode=L5" ispus_mutex4aesults"
p_m">s5" ispus_mutex="co)fl/stop_machine.c#L5" id="L5" clas13s="line"13 name="L8">   8DEFINE_PER_CPU="co(str>
spu_L5" iwork="co, ?return=kecode=s5" ispus_work4aesults"
p_m">s5" ispus_work="co)fl/stop_machine.c#L5" id="L5" clas13s="line"13 name="L9">   9   1queue_s5" ispus_work="co(consttstr>
spumask="co *?return=kecode=spumask4aesults"
p_m">spumask="co,l/stop_machine.c#L5" id="L5" clas14s="line"14 name="L1">   1spu_L5" _fn_t="coe?return=kecode=fe4aesults"
p_m">fn="co,svoids*?return=kecode=arg4aesults"
p_m">arg="co,l/stop_machine.c#L5" id="L5" clas14s="line"14 name="L2">   2spu_L5" i/2ef="co *?return=kecode=/2ef4aesults"
p_m">/2ef="co)l/stop_machine.c#L5" id="L5" clas14s="line"14 name="L3">   3   4spu_L5" iwork="co *?return=kecode=work4aesults"
p_m">work="cofl/stop_machine.c#L5" id="L5" clas1ss="line"14 name="L5">   5spu="cofl/stop_machine.c#L5" id="L5" clas1ss="line"14 name="L6">   6   7 * Copyright (Cef initialize worksrand /2ef  /="kernel/stop_machine.c#L5" id="L5" clas14s="line"14 name="L8">   8forie="L_spu="co(?return=kecode=spu4aesults"
p_m">spu="co,s?return=kecode=spumask4aesults"
p_m">spumask="co) {l/stop_machine.c#L5" id="L5" clas14s="line"14 name="L9">   9work="co = &?return=kecode=per_spu4aesults"
p_m">per_spu="co(?return=kecode=s5" ispus_work4aesults"
p_m">s5" ispus_work="co,s?return=kecode=spu4aesults"
p_m">spu="co)fl/stop_machine.c#L5" id="L5" clas1s0="line"150name="L1">   1work="co-href=return=kecode=fe4aesults"
p_m">fn="coe=e?return=kecode=te4aesults"
p_m">fn="cofl/stop_machine.c#L5" id="L5" clas1ss="line"15 name="L1">   1work="co-href=return=kecode=arg4aesults"
p_m">arg="coe=e?return=kecode=arg4aesults"
p_m">arg="cofl/stop_machine.c#L5" id="L5" clas1ss="line"15 name="L2">   2work="co-href=return=kecode=/2ef4aesults"
p_m">/2ef="coe=e=return=kecode=/2ef4aesults"
p_m">/2ef="cofl/stop_machine.c#L5" id="L5" clas15s="line"15 name="L3">   3   4   5 * Copyright (Cef="kernel/stop_machine.c#L5" id="L5" clas15s="line"15 name="L6">   6 * Copyright (C)))))))))* Disable preemptvon whurn=queuet>
 to avoidsgettt>
="kernel/stop_machine.c#L5" id="L5" clas15s="line"15 name="L7">   7 * Copyright (C)))))))))* preempthd by a L5" per whuch m     wait for other L5" pers="kernel/stop_machine.c#L9" id="L9" clas15s="line"15 name="L8">   8 *
   9 * This div  is ))))))))*/="kernel/stop_machine.c#L5" id="L5" clas160="line"160name="L1">   1preempt_disable="co()fl/stop_machine.c#L5" id="L5" clas16s="line"16 name="L1">   1forie="L_spu="co(?return=kecode=spu4aesults"
p_m">spu="co,s?return=kecode=spumask4aesults"
p_m">spumask="co)l/stop_machine.c#L5" id="L5" clas16s="line"16 name="L2">   2spu_L5" iqueue_work="co(&?return=kecode=per_spu4aesults"
p_m">per_spu="co(?return=kecode=spu_L5" per4aesults"
p_m">spu_L5" per="co,s?return=kecode=spu4aesults"
p_m">spu="co),l/stop_machine.c#L5" id="L5" clas16s="line"16 name="L3">   3per_spu="co(?return=kecode=s5" ispus_work4aesults"
p_m">s5" ispus_work="co,s?return=kecode=spu4aesults"
p_m">spu="co))fl/stop_machine.c#L5" id="L5" clas16s="line"16 name="L4">   4preempt_enable="co()fl/stop_machine.c#L5" id="L5" clas16s="line"16 name="L5">   5   6   7__s5" ispus="co(consttstr>
spumask="co *?return=kecode=spumask4aesults"
p_m">spumask="co,l/stop_machine.c#L5" id="L5" clas16s="line"16 name="L8">   8spu_L5" _fn_t="coe?return=kecode=fe4aesults"
p_m">fn="co,svoids*?return=kecode=arg4aesults"
p_m">arg="co)l/stop_machine.c#L5" id="L5" clas16s="line"16 name="L9">   9   1spu_L5" i/2ef="co =return=kecode=/2ef4aesults"
p_m">/2ef="cofl/stop_machine.c#L5" id="L5" clas17s="line"17 name="L1">   1   2spu_L5" iiniti/2ef="co(&?return=kecode=/2ef4aesults"
p_m">/2ef="co, ?return=kecode=spumask_we    4aesults"
p_m">spumask_we    ="co(?return=kecode=spumask4aesults"
p_m">spumask="co))fl/stop_machine.c#L5" id="L5" clas17s="line"17 name="L3">   3queue_s5" ispus_work="co(?return=kecode=spumask4aesults"
p_m">spumask="co,e?return=kecode=fe4aesults"
p_m">fn="co,s?return=kecode=arg4aesults"
p_m">arg="co,s&?return=kecode=/2ef4aesults"
p_m">/2ef="co)fl/stop_machine.c#L5" id="L5" clas17s="line"17 name="L4">   4waitiforis dple hre="co(&?return=kecode=/2ef4aesults"
p_m">/2ef="co.?return=kecode=s dple hre4aesults"
p_m">s dple hre="co)fl/stop_machine.c#L5" id="L5" clas17s="line"17 name="L5">   5/2ef="co.?return=kecode=executed4aesults"
p_m">executed="coe?u?return=kecode=/2ef4aesults"
p_m">/2ef="co.?return=kecode=ret4aesults"
p_m">ret="co : -?return=kecode=ENOENT4aesults"
p_m">ENOENT="cofl/stop_machine.c#L5" id="L5" clas17s="line"17 name="L6">   6   7   8 *
   9 * This div  is rsL5" ispus)-cL2"  multiple spus="kernel/stop_machine.c#L9" id="L9" clas180="line"180name="L1">   1 * This div  is r @spumask: spus)to L2" ="kernel/stop_machine.c#L2" id="L2" clas18s="line"18 name="L1">   1/*
   2 * kernel/stop_mac@arg: argught dto @fn="kernel/stop_machine.c#L2" id="L2" clas18s="line"18 name="L3">   3 *
   4 * Copyright (C) 2Execute)@fn(@arg)rn  onl    spus)in @spumask.  On e="L ">9.5" spu,="kernel/stop_machine.c#L2" id="L2" clas18s="line"18 name="L5">   5 * Copyright (C) 2@fn=kernun=kn a process classxt with the highest priority="kernel/stop_machine.c#L2" id="L2" clas18s="line"18 name="L6">   6 * Copyright (C)  preemptv>
 any taskrn  the spudandsmonopolizv>
 it.;tpa?retunmetho="kernel/stop_machine.c#L2" id="L2" clas18s="line"18 name="L7">   7 * Copyright (C) 2re   8 *
   9 * This div  is rspa?retunmethoddoesn't guaraasse the spus)in @spumask L2ay onl   ="kernel/stop_machine.c#L5" id="L5" clas1s0="line"190name="L1">   1 * This div  is r till @fn s dple fs.  If some spus)goddown=kn the middle, executtho="kernel/stop_machine.c#L5" id="L5" clas1ss="line"19 name="L1">   1/*
   2 * kernel/stop_macshould either be re=dy2for that or the caller should ensu idthat="kernel/stop_machine.c#L5" id="L5" clas1ss="line"19 name="L3">   3 *
   4 * Copyright (C) ="kernel/stop_machine.c#L2" id="L2" clas19s="line"19 name="L5">   5 * Copyright (C) 2AllsL5" ispus() calls are serializeddmakv>
 it safe for @fn to wait="kernel/stop_machine.c#L2" id="L2" clas19s="line"19 name="L6">   6 * Copyright (C) 2for all spus)to L2art executt>
 it.="kernel/stop_machine.c#L2" id="L2" clas19s="line"19 name="L7">   7 * Copyright (C) ="kernel/stop_machine.c#L2" id="L2" clas19s="line"19 name="L8">   8 *
   9 * This div  is rsM     sleepf="kernel/stop_machine.c#L5" id="L5" clas200="line"200name="L1">   1 * Copyright (C) ="kernel/stop_machine.c#L2" id="L2" clas20s="line"20 name="L1">   1/*
   2 * kernel/stop_mac-ENOENTtif @fn(@arg)rwas not executed at all because all spus)in="kernel/stop_machine.c#L5" id="L5" clas20s="line"20 name="L3">   3 *
   f otherwise, 0tif all executthos of @fn="kernel/stop_machine.c#L5" id="L5" clas20s="line"20 name="L4">   4 * Copyright (C) 2re   5 * Copyright (C) /="kernel/stop_machine.c#L5" id="L5" clas20s="line"20 name="L6">   6s5" ispus="co(consttstr>
spumask="co *?return=kecode=spumask4aesults"
p_m">spumask="co,;?return=kecode=spu_L5" ifn_t4aesults"
p_m">spu_L5" _fn_t="coe?return=kecode=fe4aesults"
p_m">fn="co,svoids*?return=kecode=arg4aesults"
p_m">arg="co)l/stop_machine.c#L5" id="L5" clas20s="line"20 name="L7">   7   8ret="co;l/stop_machine.c#L5" id="L5" clas20s="line"20 name="L9">   9   1 * Copyright (Cef stpng"sworksrarh used, process 2ef request at a timf  /="kernel/stop_machine.c#L5" id="L5" clas21s="line"2  name="L1">   1mutex_lock="co(&?return=kecode=L5" ispus_mutex4aesults"
p_m">s5" ispus_mutex="co)fl/stop_machine.c#L5" id="L5" clas21s="line"21 name="L2">   2ret="co =e=return=kecode=__s5" ispus4aesults"
p_m">__s5" ispus="co(?return=kecode=spumask4aesults"
p_m">spumask="co,e?return=kecode=fe4aesults"
p_m">fn="co,s?return=kecode=arg4aesults"
p_m">arg="co)fl/stop_machine.c#L5" id="L5" clas21s="line"21 name="L3">   3mutex_unlock="co(&?return=kecode=L5" ispus_mutex4aesults"
p_m">s5" ispus_mutex="co)fl/stop_machine.c#L5" id="L5" clas21s="line"21 name="L4">   4ret="co;l/stop_machine.c#L5" id="L5" clas21s="line"21 name="L5">   5   6   7 * Copyright (Ceff="kernel/stop_machine.c#L2" id="L2" clas21s="line"21 name="L8">   8 *
   9 * This div  is rs@spumask: spus)to L2" ="kernel/stop_machine.c#L2" id="L2" clas220="line"220name="L1">   1 * This div  is r @fn: funmethodto execute="kernel/stop_machine.c#L2" id="L2" clas22s="line"22 name="L1">   1/*
   2 * kernel/stop_ma="kernel/stop_machine.c#L2" id="L2" clas22s="line"22 name="L3">   3 *
   4 * Copyright (Cef some2ef else=keralre=dy2ust>
 the facilityf="kernel/stop_machine.c#L5" id="L5" clas2ss="line"22 name="L5">   5 * Copyright (C) ="kernel/stop_machine.c#L5" id="L5" clas2ss="line"22 name="L6">   6 * Copyright (C) 2CONTEXT:="kernel/stop_machine.c#L2" id="L2" clas22s="line"22 name="L7">   7 * Copyright (C)  M     sleepf="kernel/stop_machine.c#L5" id="L5" clas22s="line"22 name="L8">   8 *
   9 * This div  is rsRETURNS:="kernel/stop_machine.c#L2" id="L2" clas230="line"230name="L1">   1 * This div  is r -EAGAIN)if some2ef else=keralre=dy2L5" pt>
 spus,c-ENOENTtif="kernel/stop_machine.c#L2" id="L2" clas23s="line"23 name="L1">   1/*
   2 * kernel/stop_macoff>   f otherwise, 0tif all executthos of @fn2re   3 *
   4 * Copyright (C) /="kernel/stop_machine.c#L5" id="L5" clas23s="line"23 name="L5">   5try_s5" ispus="co(consttstr>
spumask="co *?return=kecode=spumask4aesults"
p_m">spumask="co,;?return=kecode=spu_L5" ifn_t4aesults"
p_m">spu_L5" _fn_t="coe?return=kecode=fe4aesults"
p_m">fn="co,svoids*?return=kecode=arg4aesults"
p_m">arg="co)l/stop_machine.c#L5" id="L5" clas23s="line"23 name="L6">   6   7ret="co;l/stop_machine.c#L5" id="L5" clas23s="line"23 name="L8">   8   9 * Copyright (Cef stpng"sworksrarh used, process 2ef request at a timf  /="kernel/stop_machine.c#L5" id="L5" clas240="line"240name="L1">   1mutex_trylock="co(&?return=kecode=L5" ispus_mutex4aesults"
p_m">s5" ispus_mutex="co))l/stop_machine.c#L5" id="L5" clas24s="line"24 name="L1">   1EAGAIN="co;l/stop_machine.c#L5" id="L5" clas24s="line"24 name="L2">   2ret="co =e=return=kecode=__s5" ispus4aesults"
p_m">__s5" ispus="co(?return=kecode=spumask4aesults"
p_m">spumask="co,e?return=kecode=fe4aesults"
p_m">fn="co,s?return=kecode=arg4aesults"
p_m">arg="co)fl/stop_machine.c#L5" id="L5" clas24s="line"24 name="L3">   3mutex_unlock="co(&?return=kecode=L5" ispus_mutex4aesults"
p_m">s5" ispus_mutex="co)fl/stop_machine.c#L5" id="L5" clas24s="line"2  name="L4">   4ret="co;l/stop_machine.c#L5" id="L5" clas2ss="line"24 name="L5">   5   6   7spu_L5" per_top_ad="co(voids*?return=kecode=data4aesults"
p_m">/ata="co)l/stop_machine.c#L5" id="L5" clas24s="line"24 name="L8">   8   9spu_L5" per="co *?return=kecode=L5" per4aesults"
p_m">L5" per="coe=e=return=kecode=/ata4aesults"
p_m">/ata="co;l/stop_machine.c#L5" id="L5" clas2s0="line"250name="L1">   1spu_L5" iwork="co *?return=kecode=work4aesults"
p_m">work="cofl/stop_machine.c#L5" id="L5" clas2ss="line"25 name="L1">   1ret="co;l/stop_machine.c#L5" id="L5" clas2ss="line"25 name="L2">   2   3repeat="co:l/stop_machine.c#L5" id="L5" clas2ss="line"25 name="L4">   4set_surrht _stpnf="co(?return=kecode=TASK_INTERRUPTIBLE4aesults"
p_m">TASK_INTERRUPTIBLE="co)f;t?ment"> * Copyright (Cef mb paired w/ ktop_ad_L5"   /="kernel/stop_machine.c#L5" id="L5" clas25s="line"2  name="L5">   5   6ktop_ad_Lhould_L5" ="co()) {l/stop_machine.c#L5" id="L5" clas25s="line"25 name="L7">   7__set_surrht _stpnf="co(?return=kecode=TASK_RUNNING4aesults"
p_m">TASK_RUNNING="co)fl/stop_machine.c#L5" id="L5" clas25s="line"25 name="L8">   8   9   1   1work="co = ?return=kecode=NULL4aesults"
p_m">NULL="co;l/stop_machine.c#L5" id="L5" clas26s="line"26 name="L2">   2spin_lock_irq="co(&?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=lock4aesults"
p_m">lock="co)fl/stop_machine.c#L5" id="L5" clas26s="line"26 name="L3">   3list_empty="co(&?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=works4aesults"
p_m">works="co)) {l/stop_machine.c#L5" id="L5" clas26s="line"26 name="L4">   4work="co = ?return=kecode=list_first_entry4aesults"
p_m">list_first_entry="co(&?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=works4aesults"
p_m">works="co,l/stop_machine.c#L5" id="L5" clas26s="line"26 name="L5">   5spu_L5" iwork="co, ?return=kecode=list4aesults"
p_m">list="co)fl/stop_machine.c#L5" id="L5" clas26s="line"2  name="L6">   6list_deliinit="co(&?return=kecode=work4aesults"
p_m">work="co-href=return=kecode=list4aesults"
p_m">list="co)fl/stop_machine.c#L5" id="L5" clas26s="line"26 name="L7">   7   8spin_unlock_irq="co(&?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=lock4aesults"
p_m">lock="co)fl/stop_machine.c#L5" id="L5" clas26s="line"26 name="L9">   9   1work="co) {l/stop_machine.c#L5" id="L5" clas27s="line"27 name="L1">   1spu_L5" _fn_t="coe?return=kecode=fe4aesults"
p_m">fn="co = ?return=kecode=work4aesults"
p_m">work="co-href=return=kecode=fe4aesults"
p_m">fn="cofl/stop_machine.c#L5" id="L5" clas27s="line"27 name="L2">   2arg="co = ?return=kecode=work4aesults"
p_m">work="co-href=return=kecode=arg4aesults"
p_m">arg="cofl/stop_machine.c#L5" id="L5" clas27s="line"27 name="L3">   3spu_L5" i/2ef="co *?return=kecode=/2ef4aesults"
p_m">/2ef="co = ?return=kecode=work4aesults"
p_m">work="co-href=return=kecode=/2ef4aesults"
p_m">/2ef="cofl/stop_machine.c#L5" id="L5" clas27s="line"27 name="L4">   4ksym_buf="co[?return=kecode=KSYM_NAME_LEN4aesults"
p_m">KSYM_NAME_LEN="co]t?return=kecode=__maybe_unused4aesults"
p_m">__maybe_unused="cofl/stop_machine.c#L5" id="L5" clas27s="line"27 name="L5">   5   6__set_surrht _stpnf="co(?return=kecode=TASK_RUNNING4aesults"
p_m">TASK_RUNNING="co)fl/stop_machine.c#L5" id="L5" clas27s="line"2  name="L7">   7   8 * Copyright (Cef cpu L2op callbacksrarh not allowedrto sleep  /="kernel/stop_machine.c#L5" id="L5" clas27s="line"27 name="L9">   9preempt_disable="co()fl/stop_machine.c#L5" id="L5" clas280="line"280name="L1">   1   1ret="co =e=return=kecode=fe4aesults"
p_m">fn="co(?return=kecode=arg4aesults"
p_m">arg="co)fl/stop_machine.c#L5" id="L5" clas28s="line"28 name="L2">   2ret="co)l/stop_machine.c#L5" id="L5" clas28s="line"28 name="L3">   3/2ef="co-href=return=kecode=ret4aesults"
p_m">ret="co =e=return=kecode=ret4aesults"
p_m">ret="co;l/stop_machine.c#L5" id="L5" clas28s="line"28 name="L4">   4   5 * Copyright (Cef reL5"re preemptvon andscheck it's)L2ill balancedr /="kernel/stop_machine.c#L5" id="L5" clas28s="line"28 name="L6">   6preempt_enable="co()fl/stop_machine.c#L5" id="L5" clas28s="line"28 name="L7">   7WARN_ONCE="co(?return=kecode=preempt_count4aesults"
p_m">preempt_count="co(),l/stop_machine.c#L5" id="L5" clas28s="line"2  name="L8">   8 * Copstring">"spu_L5" : %s(%p)"l_akedrpreempt count\n"="kerne,l/stop_machine.c#L5" id="L5" clas28s="line"28 name="L9">   9kallsyms_looku ="co((unsignhd long)?return=kecode=fe4aesults"
p_m">fn="co,s?return=kecode=NULL4aesults"
p_m">NULL="co,s?return=kecode=NULL4aesults"
p_m">NULL="co,s?return=kecode=NULL4aesults"
p_m">NULL="co,l/stop_machine.c#L5" id="L5" clas2s0="line"290name="L1">   1ksym_buf="co), ?return=kecode=arg4aesults"
p_m">arg="co)fl/stop_machine.c#L5" id="L5" clas2ss="line"29 name="L1">   1   2spu_L5" isignali/2ef="co(?return=kecode=/2ef4aesults"
p_m">/2ef="co, ?return=kecode=tr>f4aesults"
p_m">tr>f="co)fl/stop_machine.c#L5" id="L5" clas2ss="line"29 name="L3">   3   4schedule="co()fl/stop_machine.c#L5" id="L5" clas29s="line"29 name="L5">   5   6repeat="cofl/stop_machine.c#L5" id="L5" clas29s="line"29 name="L7">   7   8   9sched_set_L5" itask="co(inspu="co,sstr>

<4aesults"
p_m">task_str>
<="co *?return=kecode=L5" 4aesults"
p_m">L5" ="co)fl/stop_machine.c#L5" id="L5" clas300="line"300name="L1">   1   1/*
   2__spuinit="coe?return=kecode=spu_L5" ispu_callback4aesults"
p_m">spu_L5" ispu_callback="co(str>
notifier_block="co *?return=kecode=nfb4aesults"
p_m">nfb="co,l/stop_machine.c#L5" id="L5" clas30s="line"30 name="L3">   3ac hre="co,svoids*?return=kecode=hspu4aesults"
p_m">hspu="co)l/stop_machine.c#L5" id="L5" clas304="line"30 name="L4">   4   5spu="coe=e(unsignhd long)?return=kecode=hspu4aesults"
p_m">hspu="cofl/stop_machine.c#L5" id="L5" clas306="line"30 name="L6">   6
spu_L5" per="co *?return=kecode=L5" per4aesults"
p_m">L5" per="coe=e&?return=kecode=per_spu4aesults"
p_m">per_spu="co(?return=kecode=spu_L5" per4aesults"
p_m">spu_L5" per="co,s?return=kecode=spu4aesults"
p_m">spu="co)fl/stop_machine.c#L5" id="L5" clas307="line"30 name="L7">   7

<4aesults"
p_m">task_str>
<="co *?return=kecode= 4aesults"
p_m">p="cofl/stop_machine.c#L5" id="L5" clas308="line"30 name="L8">   8   9ac hre="coe& ~?return=kecode=CPU_TASKS_FROZEN4aesults"
p_m">CPU_TASKS_FROZEN="co) {l/stop_machine.c#L5" id="L5" clas310="line"3 0name="L1">   1CPU_UP_PREPARE="co:l/stop_machine.c#L5" id="L5" clas31s="line"3  name="L1">   1BUG_ON="co(?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=top_ad4aesults"
p_m">top_ad="co ||s?return=kecode=L2" per4aesults"
p_m">L5" per="co-href=return=kecode=enabled4aesults"
p_m">enabled="co ||l/stop_machine.c#L5" id="L5" clas31s="line"31 name="L2">   2list_empty="co(&?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=works4aesults"
p_m">works="co))fl/stop_machine.c#L5" id="L5" clas31s="line"31 name="L3">   3p="co =e=return=kecode=ktop_ad_cp_ate_on_node4aesults"
p_m">ktop_ad_cp_ate_on_node="co(?return=kecode=spu_L5" per_top_ad4aesults"
p_m">spu_L5" per_top_ad="co,l/stop_machine.c#L5" id="L5" clas31s="line"31 name="L4">   4L5" per="co,l/stop_machine.c#L5" id="L5" clas315="line"31 name="L5">   5spu_to_node="co(?return=kecode=spu4aesults"
p_m">spu="co),l/stop_machine.c#L5" id="L5" clas316="line"31 name="L6">   6 * Copstring">"m  raetho/%d"="kerne,s?return=kecode=spu4aesults"
p_m">spu="co)fl/stop_machine.c#L5" id="L5" clas31s="line"31 name="L7">   7IS_ERR="co(?return=kecode=p4aesults"
p_m">p="co))l/stop_machine.c#L5" id="L5" clas31s="line"31 name="L8">   8notifier_from_errno="co(?return=kecode=PTR_ERR4aesults"
p_m">PTR_ERR="co(?return=kecode=p4aesults"
p_m">p="co))fl/stop_machine.c#L5" id="L5" clas31s="line"31 name="L9">   9get_task_str>
<="co(?return=kecode=p4aesults"
p_m">p="co)fl/stop_machine.c#L5" id="L5" clas320="line"320name="L1">   1ktop_ad_bind="co(?return=kecode=p4aesults"
p_m">p="co,s?return=kecode=spu4aesults"
p_m">spu="co)fl/stop_machine.c#L5" id="L5" clas32s="line"32 name="L1">   1sched_set_L5" itask="co(?return=kecode=spu4aesults"
p_m">spu="co,s?return=kecode=p4aesults"
p_m">p="co)fl/stop_machine.c#L5" id="L5" clas32s="line"3  name="L2">   2L5" per="co-href=return=kecode=top_ad4aesults"
p_m">top_ad="co =e=return=kecode= 4aesults"
p_m">p="cofl/stop_machine.c#L5" id="L5" clas32s="line"32 name="L3">   3   4   5CPU_ONLINE="co:l/stop_machine.c#L5" id="L5" clas3ss="line"32 name="L6">   6 * Copyright (Cef stric ly unnecessary, as first user will wake it  /="kernel/stop_machine.c#L5" id="L5" clas32s="line"32 name="L7">   7wake_up_process="co(?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=top_ad4aesults"
p_m">top_ad="co)fl/stop_machine.c#L5" id="L5" clas32s="line"32 name="L8">   8 * Copyright (Cef mark enabled  /="kernel/stop_machine.c#L5" id="L5" clas32s="line"32 name="L9">   9spin_lock_irq="co(&?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=lock4aesults"
p_m">lock="co)fl/stop_machine.c#L5" id="L5" clas330="line"330name="L1">   1L5" per="co-href=return=kecode=enabled4aesults"
p_m">enabled="co =e=return=kecode=tr>f4aesults"
p_m">tr>f="cofl/stop_machine.c#L5" id="L5" clas33s="line"33 name="L1">   1spin_unlock_irq="co(&?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=lock4aesults"
p_m">lock="co)fl/stop_machine.c#L5" id="L5" clas33s="line"33 name="L2">   2   3   4CONFIG_HOTPLUG_CPU="col/stop_machine.c#L5" id="L5" clas33s="line"33 name="L5">   5CPU_UP_CANCELED="co:l/stop_machine.c#L5" id="L5" clas33s="line"33 name="L6">   6CPU_POST_DEAD="co:l/stop_machine.c#L5" id="L5" clas33s="line"33 name="L7">   7   8spu_L5" iwork="co *?return=kecode=work4aesults"
p_m">work="cofl/stop_machine.c#L5" id="L5" clas33s="line"33 name="L9">   9   1sched_set_L5" itask="co(?return=kecode=spu4aesults"
p_m">spu="co,s?return=kecode=NULL4aesults"
p_m">NULL="co)fl/stop_machine.c#L5" id="L5" clas34s="line"34 name="L1">   1 * Copyright (Cef kill the L5" per  /="kernel/stop_machine.c#L5" id="L5" clas34s="line"34 name="L2">   2ktop_ad_L5" ="co(?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=top_ad4aesults"
p_m">top_ad="co)fl/stop_machine.c#L5" id="L5" clas34s="line"34 name="L3">   3 * Copyright (Cef drain2remaint>
 worksr /="kernel/stop_machine.c#L5" id="L5" clas34s="line"3  name="L4">   4spin_lock_irq="co(&?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=lock4aesults"
p_m">lock="co)fl/stop_machine.c#L5" id="L5" clas3ss="line"34 name="L5">   5list_forie="L_entry="co(?return=kecode=work4aesults"
p_m">work="co,s&?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=works4aesults"
p_m">works="co, ?return=kecode=list4aesults"
p_m">list="co)l/stop_machine.c#L5" id="L5" clas3ss="line"34 name="L6">   6spu_L5" isignali/2ef="co(?return=kecode=work4aesults"
p_m">work="co-href=return=kecode=/2ef4aesults"
p_m">/2ef="co,e?return=kecode=falsf4aesults"
p_m">falsf="co)fl/stop_machine.c#L5" id="L5" clas3ss="line"34 name="L7">   7L5" per="co-href=return=kecode=enabled4aesults"
p_m">enabled="co =e=return=kecode=falsf4aesults"
p_m">falsf="cofl/stop_machine.c#L5" id="L5" clas3ss="line"34 name="L8">   8spin_unlock_irq="co(&?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=lock4aesults"
p_m">lock="co)fl/stop_machine.c#L5" id="L5" clas34s="line"34 name="L9">   9 * Copyright (Cef releasesthe L5" per  /="kernel/stop_machine.c#L5" id="L5" clas3s0="line"350name="L1">   1put_task_str>
<="co(?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=top_ad4aesults"
p_m">top_ad="co)fl/stop_machine.c#L5" id="L5" clas3ss="line"35 name="L1">   1L5" per="co-href=return=kecode=top_ad4aesults"
p_m">top_ad="co =e=return=kecode=NULL4aesults"
p_m">NULL="co;l/stop_machine.c#L5" id="L5" clas3ss="line"35 name="L2">   2   3   4   5   6   7NOTIFY_OK="co;l/stop_machine.c#L5" id="L5" clas3ss="line"35 name="L8">   8   9   1 * This div  is/f="kernel/stop_machine.c#L5" id="L5" clas36s="line"36 name="L1">   1/*
   2 * kernel/stop_maccpu notifiers.  It currht ly sharessthe La>< priority as sched="kernel/stop_machine.c#L5" id="L5" clas36s="line"36 name="L3">   3 *
   4 * Copyright (C) /="kernel/stop_machine.c#L5" id="L5" clas36s="line"36 name="L5">   5
notifier_block="co ?return=kecode=__spuinit/ata4aesults"
p_m">__spuinit/ata="co ?return=kecode=spu_L5" ispu_notifier4aesults"
p_m">spu_L5" ispu_notifier="co =e{l/stop_machine.c#L5" id="L5" clas36s="line"3  name="L6">   6notifier_call="coeo=e=return=kecode=spu_L5" ispu_callback4aesults"
p_m">spu_L5" ispu_callback="co,l/stop_machine.c#L5" id="L5" clas36s="line"36 name="L7">   7priority="coeo <= 10,l/stop_machine.c#L5" id="L5" clas36s="line"36 name="L8">   8   9   1__init="coe?return=kecode=spu_L5" iinit4aesults"
p_m">spu_L5" iinit="co(void)l/stop_machine.c#L5" id="L5" clas37s="line"37 name="L1">   1   2bspu="coe=e(voids*)(long)?return=kecode=smp_processor_id4aesults"
p_m">smp_processor_id="co()fl/stop_machine.c#L5" id="L5" clas37s="line"37 name="L3">   3spu="cofl/stop_machine.c#L5" id="L5" clas37s="line"37 name="L4">   4err="cofl/stop_machine.c#L5" id="L5" clas37s="line"37 name="L5">   5   6forie="L_possible_spu="co(?return=kecode=spu4aesults"
p_m">spu="co) {l/stop_machine.c#L5" id="L5" clas37s="line"3  name="L7">   7spu_L5" per="co *?return=kecode=L5" per4aesults"
p_m">L5" per="coe=e&?return=kecode=per_spu4aesults"
p_m">per_spu="co(?return=kecode=spu_L5" per4aesults"
p_m">spu_L5" per="co,s?return=kecode=spu4aesults"
p_m">spu="co)fl/stop_machine.c#L5" id="L5" clas37s="line"37 name="L8">   8   9spin_lock_init="co(&?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=lock4aesults"
p_m">lock="co)fl/stop_machine.c#L5" id="L5" clas380="line"380name="L1">   1INIT_LIST_HEAD="co(&?return=kecode=L5" per4aesults"
p_m">L5" per="co-href=return=kecode=works4aesults"
p_m">works="co)fl/stop_machine.c#L5" id="L5" clas38s="line"38 name="L1">   1   2   3 * Copyright (Cef stprt 2ef for the boot cpu  /="kernel/stop_machine.c#L5" id="L5" clas38s="line"38 name="L4">   4err="coo=e=return=kecode=spu_L5" ispu_callback4aesults"
p_m">spu_L5" ispu_callback="co(&?return=kecode=spu_L5" ispu_notifier4aesults"
p_m">spu_L5" ispu_notifier="co,s?return=kecode=CPU_UP_PREPARE4aesults"
p_m">CPU_UP_PREPARE="co,l/stop_machine.c#L5" id="L5" clas38s="line"38 name="L5">   5bspu="co)fl/stop_machine.c#L5" id="L5" clas38s="line"38 name="L6">   6BUG_ON="co(?return=kecode=err4aesults"
p_m">err="coo!=e=return=kecode=NOTIFY_OK4aesults"
p_m">NOTIFY_OK="co)fl/stop_machine.c#L5" id="L5" clas38s="line"38 name="L7">   7spu_L5" ispu_callback="co(&?return=kecode=spu_L5" ispu_notifier4aesults"
p_m">spu_L5" ispu_notifier="co,s?return=kecode=CPU_ONLINE4aesults"
p_m">CPU_ONLINE="co,s?return=kecode=bspu4aesults"
p_m">bspu="co)fl/stop_machine.c#L5" id="L5" clas38s="line"3  name="L8">   8register_spu_notifier="co(&?return=kecode=spu_L5" ispu_notifier4aesults"
p_m">spu_L5" ispu_notifier="co)fl/stop_machine.c#L5" id="L5" clas38s="line"38 name="L9">   9   1L5" id="L5" _initialized="coo=e=return=kecode=tr>f4aesults"
p_m">tr>f="cofl/stop_machine.c#L5" id="L5" clas3ss="line"39 name="L1">   1   2   3   4early_initcall="co(?return=kecode=spu_L5" iinit4aesults"
p_m">spu_L5" iinit="co)fl/stop_machine.c#L5" id="L5" clas39s="line"39 name="L5">   5   6CONFIG_STOP_MACHINE="col/stop_machine.c#L5" id="L5" clas39s="line"39 name="L7">   7   8 *
   9   1 *

  _stp for thp_ad.  /="kernel/stop_machine.c#L5" id="L5" clas40s="line"40 name="L1">   1STOPMACHINE_NONE="co,l/stop_machine.c#L5" id="L5" clas40s="line"40 name="L2">   2 *

 every2ef to be scheduled.  /="kernel/stop_machine.c#L5" id="L5" clas403="line"40 name="L3">   3STOPMACHINE_PREPARE="co,l/stop_machine.c#L5" id="L5" clas404="line"40 name="L4">   4 *
   5STOPMACHINE_DISABLE_IRQ="co,l/stop_machine.c#L5" id="L5" clas406="line"40 name="L6">   6 *
   7STOPMACHINE_RUN="co,l/stop_machine.c#L5" id="L5" clas408="line"40 name="L8">   8 *
   9STOPMACHINE_EXIT="co,l/stop_machine.c#L5" id="L5" clas410="line"4 0name="L1">   1   1   2L5" id="L5" _/ata9n cl/stop_machine.c#L5" id="L5" clas3741s="line"41 name="L3">   3fn="co)(voids*);l/stop_machine.c#L5" id="L5" clas414="line"41 name="L4">   4/ata="co;l/stop_machine.c#L5" id="L5" clas415="line"41 name="L5">   5 *
   ispus(), but hotplug cpu uses us, so we needrthis.  /="kernel/stop_machine.c#L5" id="L5" clas416="line"41 name="L6">   6num_top_ads="co;l/stop_machine.c#L5" id="L5" clas417="line"41 name="L7">   7spumask="co sss*?return=kecode=ac hveispus4aesults"
p_m">ac hveispus="co;l/stop_machine.c#L5" id="L5" clas418="line"41 name="L8">   8   9   1atomic_t="coeo <teo <t?return=kecode=top_ad_ack4aesults"
p_m">top_ad_ack9n c;l/stop_machine.c#L5" id="L5" clas42s="line"42 name="L1">   1   2   3set_stpnf="co(str>
L5" id="L5" _/ata9n cl*?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c,l/stop_machine.c#L5" id="L5" clas42s="line"42 name="L4">   4   5   6 *
   7atomic_set="co(&?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c-href=return=kecode=top_ad_ack4aesults"
p_m">top_ad_ack9n c,s?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c-href=return=kecode=num_top_ads4aesults"
p_m">num_top_ads="co);l/stop_machine.c#L5" id="L5" clas42s="line"42 name="L8">   8smp_wmb="co()fl/stop_machine.c#L5" id="L5" clas42s="line"42 name="L9">   9Lm/ata9n c-href=return=kecode=L5stpnf4aesults"
p_m"5stp9n co=e=return=kecode=new _stpnf4aesults"
p_mnew _stp="cofl/stop_machine.c#L5" id="L5" clas430="line"430name="L1">   1   1   2 * kernel/stop_ef Last 2ef to ack a  _stp movessto the next  _stp.  /="kernel/stop_machine.c#L5" id="L5" clas43s="line"4  name="L3">   3L5" id="L5" _/ata9n cl*?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c)l/stop_machine.c#L5" id="L5" clas43s="line"43 name="L4">   4   5atomic_dec_and_test="co(&?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c-href=return=kecode=top_ad_ack4aesults"
p_m">top_ad_ack9n c))l/stop_machine.c#L5" id="L5" clas43s="line"43 name="L6">   6set_stpnf="co(?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c,t=return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c-href=return=kecode=L5stpnf4aesults"
p_m"5stp9n co+ 1)fl/stop_machine.c#L5" id="L5" clas43s="line"43 name="L7">   7   8   9 *
   1L5" id="L5" _spu_L5" ="co(voids*?return=kecode=/ata4aesults"
p_m">/ata="co)l/stop_machine.c#L5" id="L5" clas44s="line"44 name="L1">   1   2L5" id="L5" _/ata9n cl*?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n co=e=return=kecode=/ata4aesults"
p_m">/ata="co;l/stop_machine.c#L5" id="L5" clas44s="line"44 name="L3">   3STOPMACHINE_NONE="co;l/stop_machine.c#L5" id="L5" clas44s="line"4  name="L4">   4spu="coe=e?return=kecode=smp_processor_id4aesults"
p_m">smp_processor_id="co(),t=return=kecode=err4aesults"
p_m">err="coo=e0fl/stop_machine.c#L5" id="L5" clas4ss="line"44 name="L5">   5flags="co;l/stop_machine.c#L5" id="L5" clas44s="line"44 name="L6">   6bool9n cl?return=kecode=is_ac hve4aesults"
p_m">is_ac hve="co;l/stop_machine.c#L5" id="L5" clas44s="line"44 name="L7">   7   8 *
   9 *
   1 * This div  isteo <t* alp_ady be disabled.  Savesthe L5stp andsreL5"re it 2e exitf="kernel/stop_machine.c#L5" id="L5" clas4ss="line"45 name="L1">   1/*
   2local_save_flags="co(?return=kecode=flags4aesults"
p_m">flags="co)fl/stop_machine.c#L5" id="L5" clas4ss="line"45 name="L3">   3   4Lm/ata9n c-href=return=kecode=ac hveispus4aesults"
p_m">ac hveispus="co)l/stop_machine.c#L5" id="L5" clas4ss="line"4  name="L5">   5is_ac hve="coo=e=return=kecode=spu4aesults"
p_m">spu="coe==e=return=kecode=spumask_first4aesults"
p_m">spumask_first="co(?return=kecode=spu_on>   imask4aesults"
p_m">spu_on>   imask="co)fl/stop_machine.c#L5" id="L5" clas4ss="line"45 name="L6">   6   7is_ac hve="coo=e=return=kecode=spumask_test_spu4aesults"
p_m">spumask_test_spu="co(?return=kecode=spu4aesults"
p_m">spu="co,t=return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c-href=return=kecode=ac hveispus4aesults"
p_m">ac hveispus="co)fl/stop_machine.c#L5" id="L5" clas4ss="line"45 name="L8">   8   9 *
   1   1 * Copyright (Cef Chill out andsensure wesre-p_ad "5" d="L5" _ _stp.  /="kernel/stop_machine.c#L5" id="L5" clas46s="line"46 name="L2">   2spu_relax="co()fl/stop_machine.c#L5" id="L5" clas46s="line"46 name="L3">   3Lm/ata9n c-href=return=kecode=L5stpnf4aesults"
p_m"5stp9n co!=e=return=kecode=cur _stpnf4aesults"
p_mcur _stp9n c) {l/stop_machine.c#L5" id="L5" clas46s="line"46 name="L4">   4Lm/ata9n c-href=return=kecode=L5stpnf4aesults"
p_m"5stp9n cfl/stop_machine.c#L5" id="L5" clas46s="line"46 name="L5">   5   6STOPMACHINE_DISABLE_IRQ="co:l/stop_machine.c#L5" id="L5" clas46s="line"46 name="L7">   7local_irq_disable="co()fl/stop_machine.c#L5" id="L5" clas46s="line"46 name="L8">   8hard_irq_disable="co()fl/stop_machine.c#L5" id="L5" clas46s="line"46 name="L9">   9   1STOPMACHINE_RUN="co:l/stop_machine.c#L5" id="L5" clas47s="line"47 name="L1">   1is_ac hve="co)l/stop_machine.c#L5" id="L5" clas47s="line"47 name="L2">   2err="coo=e=return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c-href=return=kecode=fe4aesults"
p_m">fn="co(?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c-href=return=kecode=/ata4aesults"
p_m">/ata="co)fl/stop_machine.c#L5" id="L5" clas47s="line"47 name="L3">   3   4   5   6   7Lm/ata9n c)fl/stop_machine.c#L5" id="L5" clas47s="line"47 name="L8">   8   9STOPMACHINE_EXIT="co)fl/stop_machine.c#L5" id="L5" clas480="line"480name="L1">   1   1local_irq_reL5"re="co(?return=kecode=flags4aesults"
p_m">flags="co)fl/stop_machine.c#L5" id="L5" clas48s="line"48 name="L2">   2err="cofl/stop_machine.c#L5" id="L5" clas48s="line"48 name="L3">   3   4   5__L5" id="L5" ="co(infn="co)(voids*),svoids*?return=kecode=/ata4aesults"
p_m">/ata="co,tconsttstr>
spumask="co *?return=kecode=spus4aesults"
p_m">spus="co)l/stop_machine.c#L5" id="L5" clas48s="line"48 name="L6">   6   7L5" id="L5" _/ata9n cl?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n co=e{t.?return=kecode=fe4aesults"
p_m">fn="co =e=return=kecode=fe4aesults"
p_m">fn="co,t.?return=kecode=/ata4aesults"
p_m">/ata="coo=e=return=kecode=/ata4aesults"
p_m">/ata="co,l/stop_machine.c#L5" id="L5" clas48s="line"4  name="L8">   8num_top_ads="coo=e=return=kecode=num_on>   ispus4aesults"
p_m">num_on>   ispus="co(),l/stop_machine.c#L5" id="L5" clas48s="line"48 name="L9">   9ac hveispus="coo=e=return=kecode=spus4aesults"
p_m">spus="co };l/stop_machine.c#L5" id="L5" clas4s0="line"490name="L1">   1   1L5" id="L5" _initialized="co) {l/stop_machine.c#L5" id="L5" clas4ss="line"49 name="L2">   2 *
   3 *
   4 * Copyright (C)eeeeeeeeeeeeeeee* early in boot before s5" id="L5" () has been="kernel/stop_machine.c#L5" id="L5" clas4ss="line"49 name="L5">   5 * Copyright (C)eeeeeeeeeeeeeeee* initializedf="kernel/stop_machine.c#L5" id="L5" clas49s="line"49 name="L6">   6 * Copyright (C)eeeeeeeeeeeeeeee*/="kernel/stop_machine.c#L5" id="L5" clas49s="line"49 name="L7">   7flags="co;l/stop_machine.c#L5" id="L5" clas49s="line"49 name="L8">   8ret="co;l/stop_machine.c#L5" id="L5" clas49s="line"4  name="L9">   9   1WARN_ON_ONCE="co(?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c.?return=kecode=num_top_ads4aesults"
p_m">num_top_ads="coo!=e1)fl/stop_machine.c#L5" id="L5" clas50s="line"50 name="L1">   1   2local_irq_save="co(?return=kecode=flags4aesults"
p_m">flags="co)fl/stop_machine.c#L5" id="L5" clas503="line"50 name="L3">   3hard_irq_disable="co()fl/stop_machine.c#L5" id="L5" clas504="line"50 name="L4">   4ret="coe=e(*?return=kecode=fe4aesults"
p_m">fn="co)(=return=kecode=/ata4aesults"
p_m">/ata="co)fl/stop_machine.c#L5" id="L5" clas505="line"50 name="L5">   5local_irq_reL5"re="co(?return=kecode=flags4aesults"
p_m">flags="co)fl/stop_machine.c#L5" id="L5" clas506="line"50 name="L6">   6   7ret="co;l/stop_machine.c#L5" id="L5" clas508="line"50 name="L8">   8   9   1 *
    spus.  /="kernel/stop_machine.c#L5" id="L5" clas51s="line"5  name="L1">   1set_stpnf="co(&?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c,t=return=kecode=STOPMACHINE_PREPARE4aesults"
p_m">STOPMACHINE_PREPARE="co)fl/stop_machine.c#L5" id="L5" clas51s="line"51 name="L2">   2L5" ispus="co(?return=kecode=spu_on>   imask4aesults"
p_m">spu_on>   imask="co,t=return=kecode=L5" id="L5" _spu_L5" 4aesults"
p_m">L5" id="L5" _spu_L5" ="co,s&?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c)fl/stop_machine.c#L5" id="L5" clas51s="line"51 name="L3">   3   4   5L5" id="L5" ="co(infn="co)(voids*),svoids*?return=kecode=/ata4aesults"
p_m">/ata="co,tconsttstr>
spumask="co *?return=kecode=spus4aesults"
p_m">spus="co)l/stop_machine.c#L5" id="L5" clas516="line"51 name="L6">   6   7ret="co;l/stop_machine.c#L5" id="L5" clas518="line"51 name="L8">   8   9 *
ome up or down durt>
 this.  /="kernel/stop_machine.c#L5" id="L5" clas520="line"520name="L1">   1get_on>   ispus="co()fl/stop_machine.c#L5" id="L5" clas52s="line"52 name="L1">   1ret="coe=e?return=kecode=__L5" id="L5" 4aesults"
p_m">__L5" id="L5" ="co(=return=kecode=fe4aesults"
p_m">fn="co,t?return=kecode=/ata4aesults"
p_m">/ata="co,t?return=kecode=spus4aesults"
p_m">spus="co)fl/stop_machine.c#L5" id="L5" clas52s="line"5  name="L2">   2put_on>   ispus="co()fl/stop_machine.c#L5" id="L5" clas52s="line"52 name="L3">   3ret="co;l/stop_machine.c#L5" id="L5" clas52s="line"52 name="L4">   4   5EXPORT_SYMBOL_GPL="co(?return=kecode=L5" id="L5" 4aesults"
p_m">L5" id="L5" ="co)fl/stop_machine.c#L5" id="L5" clas526="line"52 name="L6">   6   7 *
   8 *
   9 *
   1 * This div  ist* @/ata: the /ata ptr for the @fn()="kernel/stop_machine.c#L5" id="L5" clas53s="line"53 name="L1">   1/*
    spu)="kernel/stop_machine.c#L5" id="L5" clas53s="line"53 name="L2">   2 * kernel/stop_ f="kernel/stop_machine.c#L5" id="L5" clas53s="line"5  name="L3">   3 *
   4 * Copyright (C)  issnot ac hve.  The local CPU issin the process of hotplug (sosno other="kernel/stop_machine.c#L5" id="L5" clas53s="line"53 name="L5">   5 * Copyright (C)* CPU hotplug cnt"stprt) andsnot marked ac hve andsdoesn't havesenough="kernel/stop_machine.c#L5" id="L5" clas536="line"53 name="L6">   6 * Copyright (C)* context to sleepf="kernel/stop_machine.c#L5" id="L5" clas53s="line"53 name="L7">   7 *
   8 *
   9 *

 busy-wait for synchronizaetho andsexecutt>
 @fn direc ly for local="kernel/stop_machine.c#L5" id="L5" clas540="line"540name="L1">   1 * This div  ist* CPU.="kernel/stop_machine.c#L5" id="L5" clas54s="line"54 name="L1">   1/*
   2 * kernel/stop_macCONTEXT:="kernel/stop_machine.c#L5" id="L5" clas54s="line"54 name="L3">   3 *
   4 * Copyright (C) ="kernel/stop_machine.c#L5" id="L5" clas54s="line"54 name="L5">   5 * Copyright (C)* RETURNS:="kernel/stop_machine.c#L5" id="L5" clas546="line"54 name="L6">   6 * Copyright (C)* 0tif all executtons of @fn re   7 *
   8 *
   9L5" id="L5" _from_inac hveispu="co(infn="co)(voids*),svoids*?return=kecode=/ata4aesults"
p_m">/ata="co,l/stop_machine.c#L5" id="L5" clas5s0="line"550name="L1">   1spumask="co *?return=kecode=spus4aesults"
p_m">spus="co)l/stop_machine.c#L5" id="L5" clas5ss="line"55 name="L1">   1   2L5" id="L5" _/ata9n cl?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n co=e{t.?return=kecode=fe4aesults"
p_m">fn="co =e=return=kecode=fe4aesults"
p_m">fn="co,t.?return=kecode=/ata4aesults"
p_m">/ata="coo=e=return=kecode=/ata4aesults"
p_m">/ata="co,l/stop_machine.c#L5" id="L5" clas5ss="line"55 name="L3">   3ac hveispus="coo=e=return=kecode=spus4aesults"
p_m">spus="co };l/stop_machine.c#L5" id="L5" clas5ss="line"55 name="L4">   4spu_L5" _do" 9n cl?return=kecode=do" 4aesults"
p_m">do" 9n c;l/stop_machine.c#L5" id="L5" clas5ss="line"5  name="L5">   5ret="co;l/stop_machine.c#L5" id="L5" clas5ss="line"55 name="L6">   6   7 * kernel/stop_ef Local CPU must be inac hve andsCPU hotplug ie progress.  /="kernel/stop_machine.c#L5" id="L5" clas5ss="line"55 name="L8">   8BUG_ON="co(?return=kecode=spu_ac hve4aesults"
p_m">spu_ac hve="co(?return=kecode=raw_smp_processor_id4aesults"
p_m">raw_smp_processor_id="co()))fl/stop_machine.c#L5" id="L5" clas5ss="line"55 name="L9">   9Lm/ata9n c.?return=kecode=num_top_ads4aesults"
p_m">num_top_ads="coo=e=return=kecode=num_ac hveispus4aesults"
p_m">num_ac hveispus="co()o+ 1;<tmment"> * kernel/stop_ef +1 for local  /="kernel/stop_machine.c#L5" id="L5" clas560="line"560name="L1">   1   1 *
   2mutex_trylock="co(&?return=kecode=L5" ispus_mutex4aesults"
p_m">L5" ispus_mutex="co))l/stop_machine.c#L5" id="L5" clas56s="line"56 name="L3">   3spu_relax="co()fl/stop_machine.c#L5" id="L5" clas56s="line"56 name="L4">   4   5 *
   6set_stpnf="co(&?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c,t=return=kecode=STOPMACHINE_PREPARE4aesults"
p_m">STOPMACHINE_PREPARE="co)fl/stop_machine.c#L5" id="L5" clas56s="line"56 name="L7">   7spu_L5" _init_do" ="co(&?return=kecode=do" 4aesults"
p_m">do" 9n c,t=return=kecode=num_ac hveispus4aesults"
p_m">num_ac hveispus="co())fl/stop_machine.c#L5" id="L5" clas56s="line"56 name="L8">   8queue_L5" ispus_work="co(?return=kecode=spu_ac hveimask4aesults"
p_m">spu_ac hveimask="co,t=return=kecode=L5" id="L5" _spu_L5" 4aesults"
p_m">L5" id="L5" _spu_L5" ="co,s&?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c,l/stop_machine.c#L5" id="L5" clas56s="line"56 name="L9">   9do" 9n c)fl/stop_machine.c#L5" id="L5" clas570="line"570name="L1">   1ret="coe=e?return=kecode=L5" id="L5" _spu_L5" 4aesults"
p_m">L5" id="L5" _spu_L5" ="co(&?return=kecode=Lm/ata4aesults"
p_m">Lm/ata9n c)fl/stop_machine.c#L5" id="L5" clas57s="line"57 name="L1">   1   2 *
pletton.  /="kernel/stop_machine.c#L5" id="L5" clas57s="line"57 name="L3">   3sn>pletton_do" ="co(&?return=kecode=do" 4aesults"
p_m">do" 9n c.?return=kecode=sn>pletton4aesults"
p_m">sn>pletton="co))l/stop_machine.c#L5" id="L5" clas57s="line"57 name="L4">   4spu_relax="co()fl/stop_machine.c#L5" id="L5" clas57s="line"57 name="L5">   5   6mutex_unlock="co(&?return=kecode=L5" ispus_mutex4aesults"
p_m">L5" ispus_mutex="co)fl/stop_machine.c#L5" id="L5" clas57s="line"5  name="L7">   7ret="co ?:l?return=kecode=do" 4aesults"
p_m">do" 9n c.?return=kecode=ret4aesults"
p_m">ret="co;l/stop_machine.c#L5" id="L5" clas57s="line"57 name="L8">   8   9   1 * Copyright (Cef CONFIG_STOP_MACHINE  /="kernel/stop_machine.c#L5" id="L5" clas58s="line"58 name="L1">   1
The originalsLXR softwarp by the /stop_machttp://sourceforge.net/projec s/lxr">LXR yrigunity="co,sthissexperight alsverstho by /stop_macmailto:lxr@>  ux.no">lxr@>  ux.no9n c.
lxr.> ux.no kindly hosted by /stop_machttp://www.redpill-> pro.no">Redpill L pro AS="co,sprovid andsoperattons servic