-----BEGIN PGP SIGNED MESSAGE-----
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.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
-----END PGP SIGNATURE-----