We observed that some threads can reach deadlock-ish state after they have Invoked into a control's UI thread. When it happens they are all in a waiting for join or in sleep state for very long time, although there should not be any deadlock situations.
It seems this has something to do with multiple parent controls and with which control we invoked on. This should not make a difference, because we have got one UI thread (for MainWindow) they should wait for, but we have seen it does.
The solution that fixed this issue was to invoke on the MainWindow instead of various controls (see a4fe507adf ).
This changeset is changing all our Invokes to invoke into MainWindow
instead of a control itself. (MainWindow's UI thread is the only UI thread
all Control is using in XenCenter)
This changeset should be in place until we have found the root cause or the exact reason for the above.
Changes following code review:
- Added VM.CanHaveVGpu function (at the moment just returns CanHaveGpu, but it will change in the future)
- Added vGPU_type.IsPassthrough function and used it everywhere we needed to test for passthrough (max-heads==0)
- Simplified code in Helpers.GpuCapability, Helpers.VGpuCapability, NewVMWizard (gpuCapability), MainWindow and GpuRow
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Added Topology drop-down box with available values for sockets and cores per socket, so that the number of vCPUs is divisible by the number of cores per socket.
E.g. if user specified 8 vCPUs, Cores per socket can only be 1, 2, 4, or 8.
- This updates VM's platform:cores-per-socket property.
- Can only be set when the VM is shut down (similar to number of vCPUs).
- Text on CPU page - changed to include topology.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
# HG changeset patch
# User Gabor Apati-Nagy <Gabor.Apati-Nagy@citrix.com>
# Date 1383736103 0
# Wed Nov 06 11:08:23 2013 +0000
# Node ID f79a41a7c73e5555143a1f5cdf7bd3e8f27a8fba
# Parent 04c02de675af090f3171b6fbf3b21b023c645c24
GPU page:
5. put GPU page back at server level
7. Move Edit button of "Placement policy" closer to text and make the box smaller and fixed
8. Put Placement policy box within the scroll bar
VM properties dialog / New VM wizard:
9. gpu types should be shown in order 2-4-8
10. show types that are not allowed as disabled items in the combobox (instead of not showing at all)
11. increase the height of combobox (max no of items) so that all items are seen without scroll
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Mihaela Stoica <Mihaela.Stoica@citrix.com>
# Date 1383126814 0
# Wed Oct 30 09:53:34 2013 +0000
# Node ID 8af833de348d090a0126ad2f922ba7679739b654
# Parent 35673b51503006bbbb1e6647b1e0eb1938bd72ef
- added Max displays and Video RAM
- videoRAM needs TO BE REPLACED with max_resolution when this becomes available in the API
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Konstantina Chremmou <Konstantina.Chremmou@citrix.com>
# Date 1377007835 -3600
# Node ID a1c6bcf2b4d3119cff54d87fb97bd2491c9d8f67
# Parent 41c2dfb11187cbc91b4f874b1df8c06524aad3c7
CA-113310: Corrected string measurement which was causing truncation on SC and a
lot of white space on EN and JA versions.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
selectable combobox items from the classes EnableableComboBox and ISODropDownBox
to a base class called NonSelectableComboBox.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>