(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:me) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Star left: (ArithWord w:{($ VSub_Number "$1")}) right: (ArithWord w:{(Lit_Digits 1000)}) ) spids: [92 99] ) } spids: [91] ) ] spids: [91] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:duration) op: Equal rhs: {($ VSub_Number "$2")} spids: [101] ) ] spids: [101] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sleepmax) op: Equal rhs: { (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(1000000)}) spids: [105 109] ) } spids: [104] ) ] spids: [104] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:spinmax) op: Equal rhs: { (BracedVarSub token: <VSub_Number 4> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(1000)}) spids: [112 116] ) } spids: [111] ) ] spids: [111] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:n) op:Equal rhs:{(1)} spids:[119])] spids: [119] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:starttime) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(awk)} {(SQ <"BEGIN { print systime(); }">)}] redirects: [(Redir op_id:Redir_Less fd:-1 arg_word:{(/dev/null)} spids:[131])] ) ] ) left_token: <Left_Backtick "`"> spids: [124 134] ) } spids: [123] ) ] spids: [123] ) (While cond: [(C {(Lit_Other ":")})] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:t) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(awk)} {(-v)} {(Lit_VarLike "s=") ($ VSub_Name "$starttime")} {(SQ <"BEGIN { print systime() - s; }">)} ] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(/dev/null)} spids: [161] ) ] ) ] ) left_token: <Left_Backtick "`"> spids: [149 164] ) } spids: [148] ) ] spids: [148] ) (If arms: [ (if_arm cond: [(C {(test)} {(DQ ($ VSub_Name "$t"))} {(-gt)} {(DQ ($ VSub_Name "$duration"))})] action: [(Sentence child:(C {(exit)} {(0)}) terminator:<Op_Semi ";">)] spids: [-1 182] ) ] spids: [-1 191] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cpus) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(ls)} {(/sys/devices/system/cpu/) (Lit_Other "*") (/online)}) (C {(sed)} {(-e)} {(SQ <"s,/[^/]*$,,">)} {(-e)} {(SQ <"s/^[^0-9]*//">)}) (C {(grep)} {(-v)} {(SQ <"^0*$">)}) ] negated: False ) ] ) left_token: <Left_Backtick "`"> spids: [200 234] ) } spids: [199] ) ] spids: [199] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cpumask) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(awk)} {(-v)} {(Lit_VarLike "cpus=") (DQ ($ VSub_Name "$cpus"))} {(-v)} {(Lit_VarLike "me=") ($ VSub_Name "$me")} {(-v)} {(Lit_VarLike "n=") ($ VSub_Name "$n")} { (SQ <"BEGIN {\n"> <"\t\tsrand(n + me + systime());\n"> <"\t\tncpus = split(cpus, ca);\n"> <"\t\tcurcpu = ca[int(rand() * ncpus + 1)];\n"> <"\t\tmask = lshift(1, curcpu);\n"> <"\t\tif (mask + 0 <= 0)\n"> <"\t\t\tmask = 1;\n"> <"\t\tprintf(\"%#x\\n\", mask);\n"> <"\t}"> ) } ] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(/dev/null)} spids: [270] ) ] ) ] ) left_token: <Left_Backtick "`"> spids: [238 273] ) } spids: [237] ) ] spids: [237] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name "$n")}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [277 282] ) } spids: [276] ) ] spids: [276] ) (If arms: [ (if_arm cond: [ (Pipeline children: [ (SimpleCommand words: [{(taskset)} {(-p)} {($ VSub_Name "$cpumask")} {($ VSub_Dollar "$$")}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [297] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [301] ) ] ) ] negated: True ) ] action: [ (C {(echo)} {(taskset)} {(failure) (Lit_Other ":")} {(SQ <"\"taskset -p ">)} {($ VSub_Name "$cpumask")} {($ VSub_Dollar "$$")} {(SQ <"\"">)} ) (C {(exit)} {(1)}) ] spids: [-1 305] ) ] spids: [-1 333] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sleeptime) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(awk)} {(-v)} {(Lit_VarLike "me=") ($ VSub_Name "$me")} {(-v)} {(Lit_VarLike "n=") ($ VSub_Name "$n")} {(-v)} {(Lit_VarLike "sleepmax=") ($ VSub_Name "$sleepmax")} { (SQ <"BEGIN {\n"> <"\t\tsrand(n + me + systime());\n"> <"\t\tprintf(\"%06d\", int(rand() * sleepmax));\n"> <"\t}"> ) } ] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(/dev/null)} spids: [367] ) ] ) ] ) left_token: <Left_Backtick "`"> spids: [342 370] ) } spids: [341] ) ] spids: [341] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name "$n")}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [374 379] ) } spids: [373] ) ] spids: [373] ) (C {(sleep)} {(.) ($ VSub_Name "$sleeptime")}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:limit) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(awk)} {(-v)} {(Lit_VarLike "me=") ($ VSub_Name "$me")} {(-v)} {(Lit_VarLike "n=") ($ VSub_Name "$n")} {(-v)} {(Lit_VarLike "spinmax=") ($ VSub_Name "$spinmax")} { (SQ <"BEGIN {\n"> <"\t\tsrand(n + me + systime());\n"> <"\t\tprintf(\"%06d\", int(rand() * spinmax));\n"> <"\t}"> ) } ] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(/dev/null)} spids: [419] ) ] ) ] ) left_token: <Left_Backtick "`"> spids: [394 422] ) } spids: [393] ) ] spids: [393] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name "$n")}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [426 431] ) } spids: [425] ) ] spids: [425] ) (ForEach iter_name: i iter_words: [{(Lit_LBrace "{") (1..) ($ VSub_Name "$limit") (Lit_RBrace "}")}] do_arg_iter: False body: (DoGroup children: [ (SimpleCommand words: [{(echo)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[451])] ) ] spids: [446 456] ) spids: [439 -1] ) ] spids: [141 458] ) ) (C {(exit)} {(1)}) ] )