<div dir="ltr"><div>Hi,</div><div><br></div><div>I was reading some documents about scheduler, to my understanding there will be no long_schedule issue since BIF has trap mechanism. Then I found this, I couldn't understand, the reduction is keeping increasing, why the BIF(lists:seq) is not interrupted for more than 10ms ?</div><div><br></div><div>Could someone please explain this ?</div><div><br></div><div>1> erlang:system_monitor(self(),[{long_schedule, 10}]).</div><div>undefined</div><div><div>2> Â Pid = spawn(fun()->lists:seq(1,2000000000) end).</div><div><0.65.0></div></div><div>3>flush().</div><div><br></div><div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,21},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,38},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,17},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,21},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,23},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,31},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,30},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,43},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,53},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,56},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,51},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,81},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,17},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,18},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,110},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,74},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,24},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,76},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,112},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,43},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,130},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,205},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div><div>Shell got {monitor,<0.65.0>,long_schedule,</div><div>Â Â Â Â Â Â Â Â Â Â [{timeout,77},</div><div>Â Â Â Â Â Â Â Â Â Â {in,{lists,seq_loop,3}},</div><div>Â Â Â Â Â Â Â Â Â Â {out,{lists,seq_loop,3}}]}</div></div><div><div>20> Â process_info(Pid, reductions). Â Â Â Â Â Â Â Â Â </div><div>{reductions,4166000}</div><div>21> Â process_info(Pid, reductions).</div><div>{reductions,7150000}</div><div>22> Â process_info(Pid, reductions).</div><div>{reductions,8328000}</div><div>23> Â process_info(Pid, reductions).</div><div>{reductions,12330000}</div><div>24> Â process_info(Pid, reductions).</div><div>{reductions,14354000}</div><div>25> Â process_info(Pid, reductions).</div><div>{reductions,24774000}</div></div><div><br></div><div><br></div><div><br></div><div>Br,</div><div>Alex</div></div>