patch-2.4.27 linux-2.4.27/arch/ppc64/kernel/proc_pmc.c
Next file: linux-2.4.27/arch/ppc64/kernel/rtas-proc.c
Previous file: linux-2.4.27/arch/ppc64/kernel/nvram.c
Back to the patch index
Back to the overall index
- Lines: 50
- Date:
2004-08-07 16:26:04.595344353 -0700
- Orig file:
linux-2.4.26/arch/ppc64/kernel/proc_pmc.c
- Orig date:
2004-02-18 05:36:30.000000000 -0800
diff -urN linux-2.4.26/arch/ppc64/kernel/proc_pmc.c linux-2.4.27/arch/ppc64/kernel/proc_pmc.c
@@ -445,8 +445,9 @@
}
pnt = (char *)(perfmon_base.profile_buffer) + p - sizeof(unsigned int);
copy_to_user(buf,(void *)pnt,count);
+ p += count;
read += count;
- *ppos += read;
+ *ppos = p;
return read;
}
@@ -460,19 +461,17 @@
size_t count, loff_t *ppos)
{
unsigned long p = *ppos;
- ssize_t read;
char * pnt;
if (p >= (perfmon_base.trace_length)) return 0;
if (count > (perfmon_base.trace_length) - p)
count = (perfmon_base.trace_length) - p;
- read = 0;
pnt = (char *)(perfmon_base.trace_buffer) + p;
copy_to_user(buf,(void *)pnt,count);
- read += count;
- *ppos += read;
- return read;
+ p += count;
+ *ppos = p;
+ return count;
}
static ssize_t write_trace(struct file * file, const char * buf,
@@ -491,13 +490,11 @@
if (p >= (perfmon_base.timeslice_length)) return 0;
if (count > (perfmon_base.timeslice_length) - p)
count = (perfmon_base.timeslice_length) - p;
- read = 0;
pnt = (char *)(perfmon_base.timeslice_buffer) + p;
copy_to_user(buf,(void *)pnt,count);
- read += count;
- *ppos += read;
- return read;
+ *ppos = p + count;
+ return count;
}
static ssize_t write_timeslice(struct file * file, const char * buf,
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)