[Announce] firmware-tools GUI now available
Michael E Brown
Michael_E_Brown at dell.com
Fri Aug 24 10:26:46 CDT 2007
On Fri, Aug 24, 2007 at 05:30:09PM +0530, Charles_Rose at dell.com wrote:
> firmware-tools-devel-bounces at lists.us.dell.com wrote:
> > I am pleased to announce that firmware-tools now has a
> > GUI tool for doing system inventory and firmware updates.
> >
> > The executable is called 'inventory_firmware_gui' and is
> > available in firmware-tools version 1.5.1 and higher.
> >
> > The GUI has been developed using Glade and pyglade. It is
> > developed on my Fedora 7 system, but should run on RHEL4/5. I
> > have not yet tested on SLES, but it should run there as well.
> > The entire GUI weighs in at less than 1000 lines of code, which
> >
> > I intend to send a note to linux-poweredge for this later this
> > week. Please bang on it and let me know if you see any issues.
> >
> > Known bugs:
> > -- the "About" dialog box crashes on RHEL4
> > -- if you click the 'close' decoration before the window
> > has fully initialized, it crashes.
> >
> > Future enhancements:
> > -- add status icons to the update firmware status page
> > -- add a spinner to the update status page so you can watch
> > progress
> > -- add more colors to the main inventory page so you can
> > see which devices are out of date.
> > -- others as requested/suggested.
>
> I did some testing on RHEL4 and RHEL5:
First of all, a *HUGE* thanks for doing this. This is greatly
appreciated.
> RHEL4: I was able to flash the system's BIOS with
> inventory_firmware_gui. No problems so far.
Yay. (So this means that it works for somebody besides me and my four
machines.) :)
> RHEL5: I get 104% CPU usage during "Performing system inventory". After
> the inventory, the CPU utilization returns to normal:
Ok. Can you take a look at this? I'm probably missing something.
Inventory is started in a background thread so that the GUI will be
responsive while that happens. I use the "runLongProcess()" function
(line 711 in current inventory_firmware_gui code).
This function and the following class spawn a thread to run the
function, and then basically just wait for the function to finish while
repainting the GUI. I probably need to call a different kind of yield in
my gui repainting loop.
In the meantime, I've added a couple of tiny sleep(0.01) calls, which
should keep it from spinning at 100% until I can figure it out.
> Cpu2 : 70.1%us, 29.9%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si,
> 0.0%st
>
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
>
> 13887 root 19 0 383m 25m 12m R 103 0.3 0:03.50
> inventory_firmw
>
> "Performing system inventory" takes about 30s.
>
> Another interesting observation was when I strace'd
> inventory_firmware_gui, I noticed that the CPU utilization was less than
> 10% for inventory_firmware_gui, and "performing system inventory" took
> 6s (5 times faster than normal).
Ok. The GUI repaint loop probably is taking up time causing the
inventory to be slow.
--
Michael
More information about the firmware-tools-devel
mailing list