1 |
On Fri, Nov 22, 2013 at 12:36 PM, malc <mlashley@×××××.com> wrote: |
2 |
> Hey Mark, |
3 |
> |
4 |
> /usr/src/linux/init/Kconfig and kernel/Kconfig.preempt are the droids you |
5 |
> are looking for... |
6 |
> |
7 |
> config PREEMPT_RCU |
8 |
> def_bool TREE_PREEMPT_RCU |
9 |
> help |
10 |
> This option enables preemptible-RCU code that is common between |
11 |
> the TREE_PREEMPT_RCU and TINY_PREEMPT_RCU implementations. |
12 |
> |
13 |
> So you would want to /not/ pick one of those - however - looking further |
14 |
> |
15 |
> choice |
16 |
> prompt "RCU Implementation" |
17 |
> default TREE_RCU |
18 |
> |
19 |
> config TREE_RCU |
20 |
> bool "Tree-based hierarchical RCU" |
21 |
> depends on !PREEMPT && SMP |
22 |
> select IRQ_WORK |
23 |
> help |
24 |
> This option selects the RCU implementation that is |
25 |
> designed for very large SMP system with hundreds or |
26 |
> thousands of CPUs. It also scales down nicely to |
27 |
> smaller systems. |
28 |
> |
29 |
> config TREE_PREEMPT_RCU |
30 |
> bool "Preemptible tree-based hierarchical RCU" |
31 |
> depends on PREEMPT |
32 |
> select IRQ_WORK |
33 |
> help |
34 |
> This option selects the RCU implementation that is |
35 |
> designed for very large SMP systems with hundreds or |
36 |
> thousands of CPUs, but for which real-time response |
37 |
> is also required. It also scales down nicely to |
38 |
> smaller systems. |
39 |
> |
40 |
> Select this option if you are unsure. |
41 |
> |
42 |
> config TINY_RCU |
43 |
> bool "UP-only small-memory-footprint RCU" |
44 |
> depends on !PREEMPT && !SMP |
45 |
> help |
46 |
> This option selects the RCU implementation that is |
47 |
> designed for UP systems from which real-time response |
48 |
> is not required. This option greatly reduces the |
49 |
> memory footprint of RCU. |
50 |
> |
51 |
> endchoice |
52 |
> |
53 |
> Seems you would want TREE_RCU (or TINY_RCU if you really have a UP system) - |
54 |
> but both of those depend on !PREEMPT... which is counter to what you were |
55 |
> asked. |
56 |
> |
57 |
> In short - at least in 3.12.0 - I don't think what you've been asked for is |
58 |
> in fact possible - or I'm reading Kconfig wrongly (it's been a while) |
59 |
> |
60 |
> Cheers, |
61 |
> malc. |
62 |
> |
63 |
|
64 |
Thanks malc. I really appreciate your efforts to go through that. |
65 |
|
66 |
I think I'm going to throw this back to Oracle for now. RCU has been |
67 |
in the kernel for a long time as best I can tell. I tried a number of |
68 |
kernels going back to 3.7.10 through 3.10.20. The older 4.2.x versions |
69 |
of Virtualbox had no problem on any of the kernels I tested. All of |
70 |
the 4.3 versions cause this lock up and I'm far from being the only |
71 |
person who's seen it so if it was something really wrong with the RCU |
72 |
preempt stuff I think some other app would have had the problem also. |
73 |
I don't really believe it's a kernel problem but rather that the VB |
74 |
developers have messed something up and they're just hoping I can |
75 |
point them in the right direction. |
76 |
|
77 |
Again, THANKS for the help! |
78 |
|
79 |
Cheers, |
80 |
Mark |