Messages in this thread | | | Date | Wed, 13 Jun 2012 14:24:58 -0400 | From | Konrad Rzeszutek Wilk <> | Subject | xen/mce - mcelog at 100% cpu |
| |
On Tue, Jun 12, 2012 at 08:40:15AM -0400, Konrad Rzeszutek Wilk wrote: > On Tue, Jun 12, 2012 at 07:51:03AM +0000, Liu, Jinsong wrote: > > >From aa2ce7440f16002266dc8464f749992d0c8ac0e5 Mon Sep 17 00:00:00 2001 > > From: Liu, Jinsong <jinsong.liu@intel.com> > > Date: Tue, 12 Jun 2012 23:11:16 +0800 > > Subject: [PATCH] xen/mce: schedule a workqueue to avoid sleep in atomic context > > > > copy_to_user might sleep and print a stack trace if it is executed > > in an atomic spinlock context. > > > > This patch schedule a workqueue for IRQ handler to poll the data, > > and use mutex instead of spinlock, so copy_to_user sleep in atomic > > context would not occur. > > Ah much better. Usually one also includes the report of what the > stack trace was. So I've added that in.
So another bug which is that mcelog is spinning at 100% CPU (and only under Xen).
It seems to be doing:
ppoll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 2, NULL, [], 8) = 1 ([{fd=3, revents=POLLIN}]) read(3, "", 2816) = 0 ppoll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}], 2, NULL, [], 8) = 1 ([{fd=3, revents=POLLIN}]) read(3, "", 2816)
constantly.
| |