LWN.net Logo

In brief

By Jonathan Corbet
July 22, 2009
Hyper-V. Very few kernel submissions draw as much attention as Microsoft's contribution of its Hyper-V drivers to the staging tree. The drivers enable the virtualization of Linux under Windows, a feature which some find useful. In general, reactions included surprise and concern, and at least one prediction of immediate and utter doom. Much of the development community, though, treated it like just another patch submission. The quality of the code is not held to be great, but fixing such things up is what the staging tree is for.

For the curious, a little bit of history behind this submission can be found in this weblog posting by Stephen Hemminger.

VFAT. Andrew "Tridge" Tridgell is back with a new set of VFAT patches aimed at working around the patents being asserted against that filesystem. He has made progress in addressing the interoperability problems reported by testers, though a few small issues remain. As always, he's looking for testers who can identify any remaining problems with the patch.

Checkpoint/restart. Oren Laadan has posted a new set of checkpoint/restart patches which, he says, is "already suitable for many types of batch jobs." The patch adds a new clone_with_pids() system call allowing restored processes to be created with the same process ID they had at checkpoint time; it's not clear whether the security concerns with that capability have been addressed or not. There are still plenty of open issues with checkpoint/restart, including pending signals, FIFO devices, pseudo terminals, and more. It's a messy problem to try to solve, but this patch set seems to be getting closer. There's instructions in the patch for those who would like to experiment with it.

Flexible arrays. Kernel developers often find themselves needing to allocate multi-page chunks of contiguous memory. Typically such allocations are done with vmalloc(), but that solution is not ideal. The address space for vmalloc() allocations is restricted (on 32-bit systems, at least), and these allocations are rather less efficient than normal kernel memory allocations.

Responding to a request from Andrew Morton, Dave Hansen has proposed the addition of a flexible array API to the kernel. Flexible arrays would handle large allocations, but, under the hood, they use single-page chunks which can be allocated in a normal (and reliable) fashion. In brief, a flexible array is created with:

    struct flex_array *flex_array_alloc(int element_size, int total, 
    	   	      			gfp_t flags);

Once the array is created, data can be moved into and out of it with:

    int flex_array_put(struct flex_array *fa, int element_nr, void *src, 
    		       gfp_t flags);
    void *flex_array_get(struct flex_array *fa, int element_nr);

There's a number of other functions for freeing parts of an array, preallocating memory, etc.; see the patch posting for the full API.

Coarse clocks. Some applications want to get access to the system time as quickly as possible, but they are not concerned about obtaining absolute accuracy. To fill this need, John Stultz has proposed a couple of new clock types: CLOCK_REALTIME_COARSE and CLOCK_MONOTONIC_COARSE. In essence, these clocks work by returning the system's latest idea of the current time without actually asking any hardware. The idea was reasonably well received, with one concern: developers would hate to see this feature become one more obstacle to removing the periodic clock tick (and jiffies) in the future. This removal is far from imminent - there's a lot of work to be done first - but it remains desirable for a number of reasons.


(Log in to post comments)

In brief

Posted Jul 23, 2009 18:36 UTC (Thu) by jimparis (subscriber, #38647) [Link]

> For the curious, a little bit of history behind this submission can be
> found in this weblog posting by Stephen Hemminger.

Hah! So they only released the code because they were caught red-handed violating the GPL. Why am I not surprised to hear that? Well, at least the GPL worked.

Microsoft code in the Kernel tree?

Posted Jul 24, 2009 10:37 UTC (Fri) by NRArnot (subscriber, #3033) [Link]

A political comment.

Microsoft wants Linux to run under Hyper-V, but does the Linux community want that? Personally I'd like to see this code refused entry to the Linux kernel tree. My grounds would be that Microsoft's strategy has always been "extend, embrace, extinguish". We should not help them with the embrace. We should help end users run Microsoft O/Ses under Linux or other GPL'ed hypervisors, not help Microsoft put Linux somewhere that they can cause it harm. We want Linux (or other free software) to control the bare metal in the server farm, not Microsoft.

Anyone who REALLY wants linux under Hyper-V can always patch their kernel with MS's code.

Microsoft code in the Kernel tree?

Posted Jul 24, 2009 16:40 UTC (Fri) by dlang (✭ supporter ✭, #313) [Link]

quote:

Microsoft wants Linux to run under Hyper-V, but does the Linux community want that?

you can look at it that way (and many people do), or you can look at it from the point of view that if a company has a Hyper-V server with lots of virtual machines, making off-the-shelf linux distros be unable to run on that box is more likely to mean that linux based products don't get used by that company than it is to mean that the company goes out and buys vmware (another proprietary virtual server) to run a linux-based tool on.

from that second point of view, this allows us a foot in the door.

Hyper-V

Posted Jul 26, 2009 22:28 UTC (Sun) by Cato (subscriber, #7643) [Link]

Doesn't it strike anyone as weird that on the one hand Microsoft is threatening patent lawsuits against TomTom and many others, causing the VFAT code to be made less useful, yet on the other hand it is contributing code under GPL?

Hyper-V

Posted Jul 27, 2009 1:49 UTC (Mon) by bronson (subscriber, #4806) [Link]

Not really. Why is that weird? The situations are totally different.

Hyper-V

Posted Jul 30, 2009 13:33 UTC (Thu) by SEMW (guest, #52697) [Link]

Should it strike anyone as weird that a company with ninety thousand employees spread out in dozens of campuses worldwide and organised into goodness knows how many hundreds of semi-autonomous divisions can, when taken as a whole, appear to act a little schizophrenically?

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds