вт, 13 нояб. 2018 г. в 20:27, Oleksandr Natalenko <oleksandr@xxxxxxxxxxxxxx>: > > On 13.11.2018 18:10, Timofey Titovets wrote: > > You mean try do something, like that right? > > > > read_lock(&tasklist_lock); > > <get reference to task> > > task_lock(task); > > read_unlock(&tasklist_lock); > > last_pid = task_pid_nr(task); > > ksm_import_task_vma(task); > > task_unlock(task); > > No, task_lock() uses spin_lock() under the bonnet, so this will be the > same. > > Since the sole reason you have to lock/acquire/get a reference to > task_struct here is to prevent it from disappearing, I was thinking > about using get_task_struct(), which just increases atomic > task_struct.usage value (IOW, takes a reference). I *hope* this will be > enough to prevent task_struct from disappearing in the meantime. > > Someone, correct me if I'm wrong. That brilliant, i just missing that api. That must do exactly what i want. Thanks! > -- > Oleksandr Natalenko (post-factum) >