CUREENT issue with ballon.c
Sergey Nasonov
snasonov at bcc.ru
Fri Oct 25 07:34:11 UTC 2013
On Thursday 24 October 2013 23:17:59 Roger Pau Monné wrote:
> On 24/10/13 22:15, Konstantin Belousov wrote:
> > On Thu, Oct 24, 2013 at 09:45:20PM +0100, Roger Pau Monn? wrote:
> >> On 24/10/13 13:01, Outback Dingo wrote:
> >>> On Thu, Oct 24, 2013 at 6:16 AM, Roger Pau Monn?
<roger.pau at citrix.com
> >>>
> >>> <mailto:roger.pau at citrix.com>> wrote:
> >>> On 24/10/13 03:02, Outback Dingo wrote:
> >>> > --- trap 0, rip = 0, rsp = 0xfffffe00002c6b70, rbp = 0 ---
> >>> > uma_zalloc_arg: zone "16" with the following non-sleepable locks
> >>> > held:
> >>> > exclusive sleep mutex balloon_lock (balloon_lock) r = 0
> >>> > (0xffffffff816e9c58) locked @
> >>>
> >>> /usr/src/sys/dev/xen/balloon/balloon.c:339
> >>>
> >>> > exclusive sleep mutex balloon_mutex (balloon_mutex) r = 0
> >>> > (0xffffffff816e9c38) locked @
> >>>
> >>> /usr/src/sys/dev/xen/balloon/balloon.c:373
> >>>
> >>> > KDB: stack backtrace:
> >>> > db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame
> >>> > 0xfffffe00002c67c0
> >>> > kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe00002c6870
> >>> > witness_warn() at witness_warn+0x4a8/frame 0xfffffe00002c6930
> >>> > uma_zalloc_arg() at uma_zalloc_arg+0x3b/frame 0xfffffe00002c69a0
> >>> > malloc() at malloc+0x101/frame 0xfffffe00002c69f0
> >>> > balloon_process() at balloon_process+0x44a/frame
> >>> > 0xfffffe00002c6a70
> >>> > fork_exit() at fork_exit+0x84/frame 0xfffffe00002c6ab0
> >>> > fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe00002c6ab0
> >>> > --- trap 0, rip = 0, rsp = 0xfffffe00002c6b70, rbp = 0 ---
> >>> > uma_zalloc_arg: zone "16" with the following non-sleepable locks
> >>> > held:
> >>> > exclusive sleep mutex balloon_lock (balloon_lock) r = 0
> >>> > (0xffffffff816e9c58) locked @
> >>>
> >>> /usr/src/sys/dev/xen/balloon/balloon.c:339
> >>>
> >>> > exclusive sleep mutex balloon_mutex (balloon_mutex) r = 0
> >>> > (0xffffffff816e9c38) locked @
> >>>
> >>> /usr/src/sys/dev/xen/balloon/balloon.c:373
> >>>
> >>> > KDB: stack backtrace:
> >>> > db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame
> >>> > 0xfffffe00002c67c0
> >>> > kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe00002c6870
> >>> > witness_warn() at witness_warn+0x4a8/frame 0xfffffe00002c6930
> >>> > uma_zalloc_arg() at uma_zalloc_arg+0x3b/frame 0xfffffe00002c69a0
> >>> > malloc() at malloc+0x101/frame 0xfffffe00002c69f0
> >>> > balloon_process() at balloon_process+0x44a/frame
> >>> > 0xfffffe00002c6a70
> >>> > fork_exit() at fork_exit+0x84/frame 0xfffffe00002c6ab0
> >>> > fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe00002c6ab0
> >>> > --- trap 0, rip = 0, rsp = 0xfffffe00002c6b70, rbp = 0 ---
> >>>
> >>> > uma_zalloc_arg: zone "16" with the following non-sleepable locks
held:
> >>> Did you do anything specific to trigger the crash? Can you explain
> >>> the
> >>> steps needed to reproduce it?
> >>>
> >>> just recompiled a kernel, and booted it scrolls continuously across the
> >>> screen
> >>> doesnt seem to ever stop.
> >>
> >> I've tried r257051 and it seems to work fine, could you please post your
> >> Xen version, the config file used to launch the VM and the toolstack
> >> used?
> >
> > Do you have witness enabled in your kernel config ?
>
> Yes, but I'm not touching balloon memory target.
>
> > There is an obvious case of calling malloc(M_WAITOK) while holding both
> > balloon_lock and balloon_mutex:
> > ballon_process->decrease_reservation->balloon_append.
>
> Yes, I'm aware of that, it's just that it shouldn't happen unless you
> actually trigger a balloon memory decrease, which should not happen
> automatically AFAIK, that's why I was asking if this was happening
> without the user specifically requesting it.
For me this problem appears when I try to migrate VM to another physical
XenServer 6.2. And only when this VM configured with dynamical memory. Have
no problem with static memory configuration.
You can find details here
http://support.citrix.com/proddocs/topic/xencenter-61/xs-xc-dmc-about.html
>
> Anyway, this should be clearly fixed and pulled into 10 no matter what
> triggered it. I will send a patch as soon as possible.
Thanks for that.
>
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
--
Best Regards,
Nasonov Sergey
More information about the freebsd-current
mailing list