From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Tue Jun 16 2009 - 13:24:57 PDT
The application may call cr_register_callback() at any time. So, the call that spawns the callback thread could happen either before of after the first time a checkpoint is requested for any given process. As you say the checkpoint command adds to the task list all the threads of the target process. If the callback thread was created by the application before the checkpoint request, then it will be included. If the checkpoint request is issued before the application has registered any thread-context callbacks then there is no callback thread to checkpoint (and no work for it to do if it did exist). While most tasks that one would want to do in a callback are best suited to use of the callback thread, there are certain things that one might like to do in a signal-context handler. For instance anything related to thread-specific data is best dealt with in a signal-context handler where the thread can manipulate its own data with out the need for locks. -Paul ����� wrote: > Hello, Professor: > > Thank you very much for the previous answer. > > It's my fault about the way of expressing. Last time I really want to > know: > > I want to know how phase1 tasks are added to the task list. > > becase when we issue the command "checkpoint -p", which means the > "target_type == CR_SCOPE_PROC". so invoke "build_req_proc(pid_t > target)" to add all threads belongs to this process to the task list. > but the phase1 task, or we call it "callback thread" is not created > until we execute "cri_register_thread()", so the "callback thread" is > not belonged to the target process,then not added through invoking > build_req_proc(), so how it is added to the task list? > > By the way, the paper "BLCR's design & implementation" say that > "thread context callback " is a better way to implement BLCR's > callback mechanism. So is it enough for BLCR if we use only thread > context callback? > > > > > > > > > > > =============================================== > ��������һ������TOM�������ɣ���������1.5G������ʲô�� > <http://bjcgi.163.net/cgi-bin/newreg.cgi?%0Arf=050602> > =============================================== > -- Paul H. Hargrove PHHargrove_at_lbl_dot_gov Future Technologies Group HPC Research Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900