From: Dan Carpenter <error27@gmail.com>
To: Brian Rogers <brian@xyzw.org>, Jeff Mahoney <jeffm@suse.com>,
balbir@linux.vnet.ibm.com, linux-kernel@vger.kernel.org,
Guillaume Chazarain <guichaz@gmail.com>,
akpm@linux-foundation.org
Subject: [patch] delayacct: fix iotop on x86_64
Date: Tue, 14 Dec 2010 10:02:43 +0300 [thread overview]
Message-ID: <20101214070243.GJ1620@bicker> (raw)
In-Reply-To: <20101213212253.GI1620@bicker>
We changed how the taskstats was exported to user space in:
85893120699 "delayacct: align to 8 byte boundary on 64-bit systems"
This was important because it fixes a run time warning on IA64. In
theory it shouldn't have broken anything, if you just assume that user
space programmers don't smoke crack all day long.
But actually it breaks iotop on x86_64.
Reported-by: Brian Rogers <brian@xyzw.org>
Signed-off-by: Dan Carpenter <error27@gmail.com>
diff --git a/kernel/taskstats.c b/kernel/taskstats.c
index c8231fb..a0758de 100644
--- a/kernel/taskstats.c
+++ b/kernel/taskstats.c
@@ -358,7 +358,19 @@ static struct taskstats *mk_reply(struct sk_buff *skb, int type, u32 pid)
* This causes lots of runtime warnings on systems requiring 8 byte
* alignment */
u32 pids[2] = { pid, 0 };
- int pid_size = ALIGN(sizeof(pid), sizeof(long));
+ int pid_size;
+
+ /*
+ * IA64 can't be aligned on a 4 byte boundary. But iotop on x86_64
+ * depends on the current struct layout. The next version of iotop
+ * will fix this so maybe we can move everything to the new code in
+ * a couple years.
+ */
+#if defined(CONFIG_IA64)
+ pid_size = ALIGN(sizeof(pid), sizeof(long));
+#else
+ pid_size = sizeof(u32);
+#endif
aggr = (type == TASKSTATS_TYPE_PID)
? TASKSTATS_TYPE_AGGR_PID
next prev parent reply other threads:[~2010-12-14 7:02 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-13 11:37 delayacct: alignment changes break iotop Dan Carpenter
2010-12-13 12:57 ` Balbir Singh
2010-12-13 13:10 ` Dan Carpenter
2010-12-13 15:20 ` Jeff Mahoney
2010-12-13 20:56 ` Brian Rogers
2010-12-13 21:22 ` Dan Carpenter
2010-12-14 7:02 ` Dan Carpenter [this message]
2010-12-14 8:02 ` [patch] delayacct: fix iotop on x86_64 Balbir Singh
2010-12-14 8:16 ` Dan Carpenter
2010-12-14 20:16 ` Andrew Morton
2010-12-14 20:21 ` Jeff Mahoney
2010-12-15 7:10 ` Balbir Singh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101214070243.GJ1620@bicker \
--to=error27@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=balbir@linux.vnet.ibm.com \
--cc=brian@xyzw.org \
--cc=guichaz@gmail.com \
--cc=jeffm@suse.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox