Tag Archive for 'technology-gnulinux-server'

IBM

IBM is big. In my whole life IBM has been big. IBM is getting bigger. IBM’s latest annual report states,

IBM solutions typically create value by reducing a client’s operational costs or by enabling new capabilities that generate revenue. These solutions draw from an industry leading portfolio of consulting, delivery and implementation services, enterprise software, systems and financing.

Revenue was $103 billion with net income of $12 billion. They are not a monopoly. They make money the old-fashioned way, by earning it.

Recently there was a lot of talk about IBM and its relationship with GNU/Linux on desktops. This stemmed from Bob Sutor’s keynote address at LinuxCon.

I wrote to IBM and received a prompt reply to the question of IBM’s vision of GNU/Linux on the desktop. I received back links to Bob Sutor’s Blog where the context of his remarks was given more completeness. Some assumed discussing possible eventualities including failure was predicting failure. Bob Sutor may have stated that GNU/Linux was not a “drop-in replacement” for that other OS but we already knew GNU/Linux is not that other OS, thank Goodness.

Some have criticized IBM for picking the low-hanging fruit but they are a business and maximizing return on investment is part of business. IBM was ahead of the field in cultivating business in BRIC countries. That reduced their exposure to the recent downturn when those areas showed growth. Good for IBM and the world. Closer to home, IBM has lent its reputation for GNU/Linux for businesses large and small. Businesses that do more than push for sales in the current quarter appreciate that IBM has been working with GNU/Linux for many years and will be around no matter what happens. IBM does more than install PCs. They design complete integrated systems ensuring no calamities.

Clearly, IBM has been an important contributor to the GNU/Linux community and has played a major role in facilitating adoption of GNU/Linux in business. They are playing in the same league with Red Hat, Novell, SUN, and Oracle but they are the biggest. IBM do supply other technologies as well so it is not their role to promote GNU/Linux above all but it is their role to supply solutions. As long as GNU/Linux is such a good solution, they will continue to support and improve GNU/Linux. Recent moves by Red Hat with desktops shows business is ready to accept GNU/Linux. Papers on IBM’s site show that GNU/Linux is a good fit where needs are simple, where needed apps are available and when a browser can be used to access web applications. Typically, 80% of tasks can be done with GNU/Linux and a lesser number of staff positions but on a large scale the migration is worthwhile when a sufficient number of staff positions can use GNU/Linux. We have seen this in many places.

We should be grateful that IBM has taken an interest in GNU/Linux. Whether or not they actively promote GNU/linux on the desktop they will likely set up more desktop systems than the dozen next smallest such businesses. In ten years I have probably installed 1000 PCs with GNU/Linux and introduced a few thousand people to GNU/Linux. IBM in a similar period of time has completed deals with 15000 businesses, many of them larger than my total influence. Thank you, IBM. You are making the world of IT a better place.

Links about IBM:

- Robert Pogson

Son of a Geek! or “too many iterations in nv_nic_irq”

My son is a computer geek like me. He was a slow starter. He did not get into it until he was a teenager but he has an annoying habit of doing things before I do, reminding me all the time that I am slowing down…

He was the first in our family:

  • to build a PC from OTS parts,
  • to use a 3gHz CPU,
  • to use more than four hard drives in a box,
  • to use multi-core CPU, and
  • to use dual socket motherboard.

Of course, I am proud of him but it still bugs the geek in me that I cannot stay ahead of him.

However, there is occasional joy in my family relations, like when, a few times a year, he writes, “Dad, how do you…?”. Hah! I am still useful!

Last week, after I returned from the annual teaching battle, my son said, “Dad, I am getting this weird message and Google does not help…”.

too many iterations (6) in nv_nic_irq

Lo, it was a problem using the forcedeth driver that I had encountered and overcome two years ago. I gave him hints that worked promptly to end an annoying instability in a server running GNU/Linux. Apparently, the information that I found to solve the problem was no longer on the web so we will document it here.

The problem is that forcedeth.c which is a reverse-engineered driver for an Nvidia NIC has a problem dismissing an interrupt, that is, clearing the interrupt flag so that the CPU promptly interrupts again when the driver returns control. To slow down this tight loop the authour put in a timeout which wreaks havoc in some production systems. There are parameters that can be configured to control the interrupt behaviour.

Here is the code.

* Known bugs:
* We suspect that on some hardware no TX done interrupts are generated.
* This means recovery from netif_stop_queue only happens if the hw timer
* interrupt fires (100 times/second, configurable with NVREG_POLL_DEFAULT)
* and the timer is active in the IRQMask, or if a rx packet arrives by chance.
* If your hardware reliably generates tx done interrupts, then you can remove
* DEV_NEED_TIMERIRQ from the driver_data flags.
* DEV_NEED_TIMERIRQ will not harm you on sane hardware, only generating a few
* superfluous timer interrupts from the nic.

/*
* Maximum number of loops until we assume that a bit in the irq mask
* is stuck. Overridable with module param.
*/
static int max_interrupt_work = 5;

/*
* Optimization can be either throuput mode or cpu mode
*
* Throughput Mode: Every tx and rx packet will generate an interrupt.
* CPU Mode: Interrupts are controlled by a timer.
*/
#define NV_OPTIMIZATION_MODE_THROUGHPUT 0
#define NV_OPTIMIZATION_MODE_CPU        1
static int optimization_mode = NV_OPTIMIZATION_MODE_THROUGHPUT;

/*
* Poll interval for timer irq
*
* This interval determines how frequent an interrupt is generated.
* The is value is determined by [(time_in_micro_secs * 100) / (2^10)]
* Min = 0, and Max = 65535
*/
static int poll_interval = -1;

So, the usual recommendation is to bump up the parameter, max_interrupt_work. I found that did not work well because these machines are so fast. What value would be large enough? Trial and error improved things but it was still flakey. This was on a machine with 8 processors. We could easily afford to poll the device to service the NIC…

We set

options forcedeth optimization_mode=1  poll_interval=100

in /etc/modprobe.d/options followed by rmmod  forcedeth; modprobe forcedeth  and everything was sweetness and light. No more freezes or crashes serving files at gigabit/s speeds.

How cool is it that old Dad could steer a young man towards the answer to a geeky problem in seconds?

- Robert Pogson



Archives by Month

My Mission

My observations and opinions about IT are based on 40 years of use in science and technology and lately, in education. I like IT that is fast, cost-effective and reliable. I do not care whether my solution is the same as yours. I like to think for myself.

My first use of GNU/Linux in 2001 was so remarkably better than what I had been using, I feel it is important work to share GNU/Linux with the world. I have been blessed by working in schools where students and school systems have benefited by good, modular software easily installed in most systems.

I have shown GNU/Linux to thousands of students and hundreds of teachers over the years and will continue in some way doing that until I die in spite of the opposition.

Posts

September 2010
S M T W T F S
« Aug    
 1234
567891011
12131415161718
19202122232425
2627282930