Re: trace_pipe tentative fix

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Pekka Paalanen
Date: Sunday, September 28, 2008 - 11:58 am

On Sun, 28 Sep 2008 20:12:59 +0300
Pekka Paalanen <pq@iki.fi> wrote:


Whoops, sret was left in a bad state. Here's a new one.

---

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 6ada059..16b8a22 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -2605,7 +2605,6 @@ tracing_read_pipe(struct file *filp, char __user *ubuf,
        sret = trace_seq_to_user(&iter->seq, ubuf, cnt);
        if (sret != -EBUSY)
                return sret;
-       sret = 0;
 
        trace_seq_reset(&iter->seq);
 
@@ -2616,6 +2615,8 @@ tracing_read_pipe(struct file *filp, char __user *ubuf,
                        goto out;
        }
 
+waitagain:
+       sret = 0;
        while (trace_empty(iter)) {
 
                if ((filp->f_flags & O_NONBLOCK)) {
@@ -2749,8 +2750,13 @@ tracing_read_pipe(struct file *filp, char __user *ubuf,
        sret = trace_seq_to_user(&iter->seq, ubuf, cnt);
        if (iter->seq.readpos >= iter->seq.len)
                trace_seq_reset(&iter->seq);
+
+       /*
+        * If there was nothing to send to user, inspite of consuming trace
+        * entries, go back to wait for more entries.
+        */
        if (sret == -EBUSY)
-               sret = 0;
+               goto waitagain;
 
 out:
        mutex_unlock(&trace_types_lock);
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH -tip 2/3] Tracing/ftrace: Adapt mmiotrace to the ne ..., Frederic Weisbecker, (Fri Sep 26, 8:44 am)
Re: [PATCH -tip 2/3] Tracing/ftrace: Adapt mmiotrace to th ..., Frédéric Weisbecker, (Sat Sep 27, 5:17 am)
Re: trace_pipe tentative fix, Pekka Paalanen, (Sun Sep 28, 11:58 am)
Re: trace_pipe tentative fix (Re: [PATCH -tip 2/3] Tracing ..., Frédéric Weisbecker, (Mon Sep 29, 2:20 am)
Re: [PATCH -tip 2/3] Tracing/ftrace: Adapt mmiotrace to th ..., Frédéric Weisbecker, (Mon Sep 29, 2:28 am)
Re: trace_pipe tentative fix, Frédéric Weisbecker, (Mon Sep 29, 10:49 am)