From: Burns Fisher [fisher@nospam.skylab.enet.dec.com] Sent: Thursday, July 01, 1999 12:21 PM To: Info-VAX@Mvb.Saic.Com Subject: Re: Linux in OpenVMS Galaxy (was Re: "Compaq Strategic Directions" Presentation Now Posted Ed Wilts wrote in message news:37781056.C2C7998C@winternet.com... > > I spoke the engineer at the show. That's me. Hi Ed! >He said it was about 100 lines of code for Linux to allow the migration of the cpu back to the VMS > instance. He didn't port the GUI that he had running on VMS, simply > because he didn't need to spend the effort. True, although the 100 lines estimate included the code to do the CPU reassignment, to tell Linux which busses not to use (it already was doing the right thing to use only its own memory) and to tell the configuration tree that the OS in this partition is Linux. Actually, the biggest piece of code (not included in the 100 lines since I did not write them) was a hunk of code that I ported from VMS (read copied and compiled after adding 1 or 2 typedefs) which searches the configuration tree. > He made it clear that it was NOT production ready That's for sure. Lots of hacks. > I don't believe that Linux was properly modified to allow for > dynamic cpu allocation, as in the kernel still thought there were 2 CPUs > present (and I believe it started with 2 - I didn't ask him if he > initially booted Linux with only 1 CPU but I thought it was 2). Correct. I did boot Linux initially with 2 CPUs (and Linux already determined correctly that it should only use 2, btw). I did not initially boot Linux with 1 CPU because Linux was too clever for me...it decided that it should not even bother with SMP if it only had one, so it turned off IP interrupts (or at least did not dispatch them). I probably could have turned this all back on with only 1 CPU, but only spent a very short time trying and failing before I used the workaround of start with 2. >I'm not > a Linux kernel expert so I don't know what happens when you try to > schedule a thread for execution on a CPU that disappeared. I think Linux sends IP INTs to a CPU to tell it to look at the scheduling queue, so it might be worse than the job not being run. The other OS might conceivable get the IP int and do something bad. I'm not sure if the console intervenes here or not. However, one should be able to update the data structures in Linux to do the right thing. However, very sad things happened when I attempted to tell Linux that it has a new CPU that it did not know about before. I'm not sure if I was close or if there was a fundamental problem with adding CPUs on the fly. In any case I only tried for a day or so before deciding it was not necessary to get the point across. Burns Fisher VMS Development VMS/Linux Galaxy Demo "Author"