lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 22 Aug 2014 18:06:51 +0530
From:	Amit Shah <amit.shah@...hat.com>
To:	"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc:	linux-kernel@...r.kernel.org, riel@...hat.com, mingo@...nel.org,
	laijs@...fujitsu.com, dipankar@...ibm.com,
	akpm@...ux-foundation.org, mathieu.desnoyers@...icios.com,
	josh@...htriplett.org, tglx@...utronix.de, peterz@...radead.org,
	rostedt@...dmis.org, dhowells@...hat.com, edumazet@...gle.com,
	dvhart@...ux.intel.com, fweisbec@...il.com, oleg@...hat.com,
	sbw@....edu
Subject: Re: [PATCH tip/core/rcu 1/2] rcu: Parallelize and economize NOCB
 kthread wakeups

On (Fri) 22 Aug 2014 [17:54:53], Amit Shah wrote:
> On (Mon) 18 Aug 2014 [21:01:49], Paul E. McKenney wrote:
> 
> > The odds are low over the next few days.  I am adding nastier rcutorture
> > testing, however.  It would still be very good to get debug information
> > from your setup.  One approach would be to convert the trace function
> > calls into printk(), if that would help.
> 
> I added a few printks on the lines of the traces in cases where
> rcu_nocb_poll was checked -- since that reproduces the hang.  Are the
> following traces sufficient, or should I keep adding more printks?
> 
> In the case of rcu-trace-nopoll.txt, the messages stop after a while
> (when the guest locks up hard).  That's when I kill the qemu process.

And this is bt from gdb when the endless 

  RCUDEBUG __call_rcu_nocb_enqueue 2146 rcu_preempt 0 WakeNot

messages are being spewed.

I can't time it, but hope it gives some indication along with the printks.

Program received signal SIGINT, Interrupt.
io_serial_out (p=0xffffffff82940780 <serial8250_ports>, offset=<optimized out>, value=<optimized out>) at drivers/tty/serial/8250/8250_core.c:439
439	      }
(gdb) bt
#0  io_serial_out (p=0xffffffff82940780 <serial8250_ports>, offset=<optimized out>, value=<optimized out>) at drivers/tty/serial/8250/8250_core.c:439
#1  0xffffffff812b260a in serial_port_out (up=<optimized out>, offset=<optimized out>, value=<optimized out>) at include/linux/serial_core.h:214
#2  0xffffffff812b4781 in serial8250_console_putchar (port=0xffffffff82940780 <serial8250_ports>, ch=111) at drivers/tty/serial/8250/8250_core.c:2990
#3  0xffffffff812af07d in uart_console_write (port=0xffffffff82940780 <serial8250_ports>, 
    s=0xffffffff828dd96a <text+58> "t\n8fff]\nes: 4KB 0, 2MB 0, 4MB 0, 1GB 0\n6K bss, 33036K reserved)\n2 17:46:45 IST 2014\n", count=60, 
    putchar=0xffffffff812b4758 <serial8250_console_putchar>) at drivers/tty/serial/serial_core.c:1747
#4  0xffffffff812b470c in serial8250_console_write (co=<optimized out>, s=<optimized out>, count=60) at drivers/tty/serial/8250/8250_core.c:3025
#5  0xffffffff8107f517 in call_console_drivers (level=<optimized out>, len=60, text=<optimized out>) at kernel/printk/printk.c:1421
#6  0xffffffff81080498 in console_unlock () at kernel/printk/printk.c:2244
#7  0xffffffff81080b39 in vprintk_emit (facility=<optimized out>, level=<optimized out>, dict=<optimized out>, dictlen=<optimized out>, 
    fmt=<optimized out>, args=<optimized out>) at kernel/printk/printk.c:1786
#8  0xffffffff813e5235 in printk (fmt=<optimized out>) at kernel/printk/printk.c:1851
#9  0xffffffff8108e46b in __call_rcu_nocb_enqueue (rdp=0xffff88000fbcce00, rhp=<optimized out>, rhtp=<optimized out>, rhcount=<optimized out>, 
    rhcount_lazy=<optimized out>, flags=<optimized out>) at kernel/rcu/tree_plugin.h:2144
#10 0xffffffff81091140 in __call_rcu_nocb (flags=<optimized out>, lazy=<optimized out>, rhp=<optimized out>, rdp=<optimized out>)
    at kernel/rcu/tree_plugin.h:2166
#11 __call_rcu (head=0xffff88000e6c5390, func=0xffffffff81131346 <free_object_rcu>, rsp=0xffffffff818389c0 <rcu_preempt_state>, cpu=<optimized out>, 
    lazy=<optimized out>) at kernel/rcu/tree.c:2687
#12 0xffffffff81091673 in call_rcu (head=<optimized out>, func=<optimized out>) at kernel/rcu/tree_plugin.h:678
#13 0xffffffff81131756 in put_object (object=0xffff88000e6c5308) at mm/kmemleak.c:471
#14 0xffffffff81131b8c in delete_object_full (ptr=<optimized out>) at mm/kmemleak.c:641
#15 0xffffffff813e1782 in kmemleak_free (ptr=<optimized out>) at mm/kmemleak.c:944
#16 0xffffffff81128782 in kmemleak_free_recursive (flags=<optimized out>, ptr=<optimized out>) at include/linux/kmemleak.h:50
#17 slab_free_hook (s=0xffffffff82940780 <serial8250_ports>, x=0xffff88000e991c68) at mm/slub.c:1265
#18 0xffffffff8112a725 in slab_free (addr=<optimized out>, x=<optimized out>, page=<optimized out>, s=<optimized out>) at mm/slub.c:2644
#19 kmem_cache_free (s=<optimized out>, x=0xffff88000e991c68) at mm/slub.c:2681
#20 0xffffffff8121d84c in ida_get_new_above (ida=0xffffffff82940780 <serial8250_ports>, starting_id=<optimized out>, p_id=<optimized out>) at lib/idr.c:999
#21 0xffffffff8121dbe6 in ida_simple_get (ida=0xffffffff82940780 <serial8250_ports>, start=1016, end=<optimized out>, gfp_mask=0) at lib/idr.c:1101
#22 0xffffffff81188f19 in __kernfs_new_node (root=<optimized out>, name=0x0 <irq_stack_union>, mode=33060, flags=514) at fs/kernfs/dir.c:530
#23 0xffffffff81189e22 in kernfs_new_node (parent=0xffff88000e651000, name=<optimized out>, mode=33060, flags=<optimized out>) at fs/kernfs/dir.c:558
#24 0xffffffff8118b3a3 in __kernfs_create_file (parent=<optimized out>, name=<optimized out>, mode=<optimized out>, size=4096, 
    ops=0xffffffff81424a80 <sysfs_file_kfops_rw>, priv=<optimized out>, ns=0x0 <irq_stack_union>, name_is_static=true, key=0xffffffff81bc3a20 <__key.17290>)
    at fs/kernfs/file.c:920
#25 0xffffffff8118bb6e in sysfs_add_file_mode_ns (parent=0xffff88000e651000, attr=0xffff88000e621358, is_bin=<optimized out>, mode=<optimized out>, 
    ns=<optimized out>) at fs/sysfs/file.c:256
#26 0xffffffff8118c4c0 in create_files (update=<optimized out>, grp=<optimized out>, kobj=<optimized out>, parent=<optimized out>) at fs/sysfs/group.c:58
#27 internal_create_group (kobj=0xffff88000e67a1a8, update=<optimized out>, grp=0xffff88000e621298) at fs/sysfs/group.c:116
#28 0xffffffff8118c562 in sysfs_create_group (kobj=<optimized out>, grp=<optimized out>) at fs/sysfs/group.c:138
#29 0xffffffff81aa09e9 in kernel_add_sysfs_param (name_skip=<optimized out>, kparam=<optimized out>, name=<optimized out>) at kernel/params.c:783
#30 param_sysfs_builtin () at kernel/params.c:820
#31 param_sysfs_init () at kernel/params.c:940
#32 0xffffffff810003f4 in do_one_initcall (fn=0xffffffff81aa0886 <param_sysfs_init>) at init/main.c:791
#33 0xffffffff81a8d08a in do_initcall_level (level=<optimized out>) at init/main.c:857
#34 do_initcalls () at init/main.c:865
#35 do_basic_setup () at init/main.c:884
#36 kernel_init_freeable () at init/main.c:1005
#37 0xffffffff813e084d in kernel_init (unused=<optimized out>) at init/main.c:935
#38 <signal handler called>
#39 0x0000000000000000 in irq_stack_union ()
#40 0x0000000000000000 in ?? ()



		Amit
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ