struct ptlrpc_thread     *thread = &sai->sai_agl_thread;
        struct l_wait_info      lwi    = { 0 };
 
-       CDEBUG(D_READA, "agl thread started: [pid %d] [parent %.*s]\n",
-              current_pid(), parent->d_name.len, parent->d_name.name);
+       thread->t_pid = current_pid();
+       CDEBUG(D_READA, "agl thread started: sai %p, parent %.*s\n",
+              sai, parent->d_name.len, parent->d_name.name);
 
        atomic_inc(&sbi->ll_agl_total);
        spin_lock(&plli->lli_agl_lock);
        spin_unlock(&plli->lli_agl_lock);
        wake_up(&thread->t_ctl_waitq);
        ll_sai_put(sai);
-       CDEBUG(D_READA, "agl thread stopped: [pid %d] [parent %.*s]\n",
-              current_pid(), parent->d_name.len, parent->d_name.name);
+       CDEBUG(D_READA, "agl thread stopped: sai %p, parent %.*s\n",
+              sai, parent->d_name.len, parent->d_name.name);
        return 0;
 }
 
        struct ll_inode_info  *plli;
        struct task_struct *task;
 
-       CDEBUG(D_READA, "start agl thread: [pid %d] [parent %.*s]\n",
-              current_pid(), parent->d_name.len, parent->d_name.name);
+       CDEBUG(D_READA, "start agl thread: sai %p, parent %.*s\n",
+              sai, parent->d_name.len, parent->d_name.name);
 
        plli = ll_i2info(parent->d_inode);
        task = kthread_run(ll_agl_thread, parent,
        struct ll_dir_chain       chain;
        struct l_wait_info      lwi    = { 0 };
 
-       CDEBUG(D_READA, "statahead thread started: [pid %d] [parent %.*s]\n",
-              current_pid(), parent->d_name.len, parent->d_name.name);
+       thread->t_pid = current_pid();
+       CDEBUG(D_READA, "statahead thread starting: sai %p, parent %.*s\n",
+              sai, parent->d_name.len, parent->d_name.name);
 
        if (sbi->ll_flags & LL_SBI_AGL_ENABLED)
                ll_start_agl(parent, sai);
                spin_unlock(&plli->lli_agl_lock);
                wake_up(&agl_thread->t_ctl_waitq);
 
-               CDEBUG(D_READA, "stop agl thread: [pid %d]\n",
-                      current_pid());
+               CDEBUG(D_READA, "stop agl thread: sai %p pid %u\n",
+                      sai, (unsigned int)agl_thread->t_pid);
                l_wait_event(agl_thread->t_ctl_waitq,
                             thread_is_stopped(agl_thread),
                             &lwi);
        wake_up(&thread->t_ctl_waitq);
        ll_sai_put(sai);
        dput(parent);
-       CDEBUG(D_READA, "statahead thread stopped: [pid %d] [parent %.*s]\n",
-              current_pid(), parent->d_name.len, parent->d_name.name);
+       CDEBUG(D_READA, "statahead thread stopped: sai %p, parent %.*s\n",
+              sai, parent->d_name.len, parent->d_name.name);
        return rc;
 }
 
                        spin_unlock(&lli->lli_sa_lock);
                        wake_up(&thread->t_ctl_waitq);
 
-                       CDEBUG(D_READA, "stop statahead thread: [pid %d]\n",
-                              current_pid());
+                       CDEBUG(D_READA, "stop statahead thread: sai %p pid %u\n",
+                              lli->lli_sai, (unsigned int)thread->t_pid);
                        l_wait_event(thread->t_ctl_waitq,
                                     thread_is_stopped(thread),
                                     &lwi);
                        CDEBUG(D_READA, "Statahead for dir "DFID" hit "
                               "ratio too low: hit/miss "LPU64"/"LPU64
                               ", sent/replied "LPU64"/"LPU64", stopping "
-                              "statahead thread: pid %d\n",
+                              "statahead thread\n",
                               PFID(&lli->lli_fid), sai->sai_hit,
                               sai->sai_miss, sai->sai_sent,
-                              sai->sai_replied, current_pid());
+                              sai->sai_replied);
                        spin_lock(&lli->lli_sa_lock);
                        if (!thread_is_stopped(thread))
                                thread_set_flags(thread, SVC_STOPPING);
                GOTO(out, rc = -EAGAIN);
        }
 
-       CDEBUG(D_READA, "start statahead thread: [pid %d] [parent %.*s]\n",
-              current_pid(), parent->d_name.len, parent->d_name.name);
+       CDEBUG(D_READA, "start statahead thread: sai %p, parent %.*s\n",
+              sai, parent->d_name.len, parent->d_name.name);
 
        /* The sai buffer already has one reference taken at allocation time,
         * but as soon as we expose the sai by attaching it to the lli that