-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hello all, I've been thinking about 3 separate issues regarding the tuna GUI, and I have some proposals to address them. I'll list each one separately.
1. The CPU view doesn't scale well to really large numbers of CPUs. Modern server systems have 64 or more processing units. It would be good to be able to refer to CPU as sets such as NUMA nodes, sockets, shared cache, or distance groups. This would help us move applications or IRQs to specific sets of CPUs. I'm working on an example design that would move the CPU view to a pop-up window and display CPUs in a topological view. There would be an overview of the current CPU selection in the header bar of the main window, and that would be a drop target for dragged IRQs or processes. The popup window could also display which CPUs are available to which PCI devices. This can be helpful on NUMA systems for instance.
2. The tuna GUI ought to be in an RPM package that "Requires" the necessary graphics packages. Right now, it just suggests on the commandline what you might need to install to get it to work. This is a silent failure when tuna is invoked as a desktop app. I suggest we break the GUI into a separate program in a separate RPM package. The tuna command-line program can exec the GUI when it is invoked without arguments. The tuna GUI RPM can specify the appropriate package requirements so it can run successfully.
3. Tuna now only runs as root. This was implemented because the profile management section failed fatally when access permissions failed. Some of this has been resolved, but the profile tabs are not useful and look incomplete when the GUI is run without proper privileges. I suggest we break out the profile handling into its own program also. We can make it use PolicyKit and require root access to run. The main tuna GUI can have a button to launch the profile GUI program. The tuna command-line can have an option to launch the profile application as well. When run without privileges, the main tuna GUI could pop up a notification that some operations make fail, and offer to re-launch through PolicyKit to obtain root privilege. We should also verify that every failed operation in the GUI is properly reported, so a non-root user would know their attempted adjustments did not take place.
That's it. Let me know if you have questions about my proposals, and also if you have other suggested solutions or other enhancements we might consider.
thanks, - --Guy