Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 91 reacties

Microsoft doneert drie van zijn device drivers aan de Linux-kernel om de prestaties van gevirtualiseerde Linux-omgevingen op Windows-servers te verbeteren. Naar verwachting zal de code in de volgende versie van Linux, versie 2.6.32, opduiken.

Microsoft heeft de bewuste device drivers destijds ontwikkeld om de Linux-prestaties in een gevirtualiseerde omgeving op Windows Server 2008 Hyper-V te verbeteren. Microsoft lijkt nu werk te willen maken van het verbeteren van de ondersteuning hiervoor. In totaal doneert de softwaremaker 20.000 regels broncode aan de tree, die wordt vrijgegeven onder de GPLv2.

Volgens Hank Janssen, bij Microsoft verantwoordelijk voor de ontwikkeling van de bewuste drivers, zal Microsoft de code blijven onderhouden. De programmeur stelt dat het besluit om deze drivers vrij te geven, onderdeel uitmaakt van een breder plan om met de opensource-community samen te werken.

Janssen bestrijdt dat Microsoft hiermee het hazenpad kiest. "Absoluut niet", zegt Janssen. "We willen de functionaliteit van deze code verbeteren en we zullen met de Linux-community blijven samenwerken om de drivers te ondersteunen."

Het vrijgeven van de code is voor Microsoft een mijlpaal: nog niet eerder gaf de fabrikant code direct aan de community vrij. Ook de keuze voor GPLv2 is opmerkelijk, omdat deze licentievorm relatief weinig beperkingen kent. Overigens kan Linux ook zonder deze drivers via Hyper V worden gevirtualiseerd, maar het prestatieniveau zou dan aanzienlijk lager liggen.

Greg Kroah-Hartman, een bekende Linux-ontwikkelaar, heeft de codetoevoeging via de Linux-mailinglijst bekendgemaakt. Volgens Kroah-Hartman zal de code op korte termijn opduiken in de staging tree, waarna deze na enkele kleine aanpassingen in de kernel zal worden opgenomen. "Ik ben blij om aan te kunnen kondigen dat na maanden van discussie Microsoft zijn Hyper-V Linux-drivers onder GPLv2 vrijgeeft", aldus de Linux-ontwikkelaar. "Deze drivers moeten ervoor zorgen dat Linux beter werkt als gast op een Hyper-V-systeem."

Video (ouVpmtlaPJfHxIGx2ojk.flv)

Videobron: Channel 9

Moderatie-faq Wijzig weergave

Reacties (91)

De patches zijn trouwens hier te vinden: http://www.kernel.org/pub...kh-2.6/gregkh-05-staging/

En het bericht op de Linux Mailing List is hier te vinden: http://lkml.org/lkml/2009/7/20/167

[Reactie gewijzigd door Erhnam op 21 juli 2009 09:45]

het komt in de linux-staing he "the linux-staging tree was created to hold drivers and filesystems and other semi-major additions to the Linux kernel that are not ready to be merged at this point in time"

Verder vraag ik me af waarom MS niet de paravirt standaard gaat ondersteuenen? Of is deze standaard onvolledig?
Als je even doorbladert op de Mailing List zijn dat inderdaad discussies die nu gaande zijn. Verder moet er nog het nodige worden opgeschoond voordat de patches worden geaccepteerd. Leuk is het inderdaad geval wel om te zien en wellicht zijn er mensen die de patches toepassen op een meer stable kernel, dan zouden we alvast kunnen oefenen. Ik hoop dat ze 2.6.32 gaan halen. Ik draai namelijk wat oudere linux versies onder Hyper-V en deze kernels zouden mooi van pas komen!
goed te zien dat MS de compatibilty gevirtualiseerd dan wel, wil verbeteren. Ze hebben dus plannen om serieuze concurrentie te gaan worden van xenserver en esx(i) (ook al zijn ze bij lange na nog niet zo ver als vmware is)

denk dat er uit de community nog wel optimalisaties op de code zullen komen zodat het nog beter werkt, samen werken met de concurrent hoeft niet slecht te zijn ....
Heb op zich wel hoge verwachtingen van HyperV. Voordeel van HyperV is dat deze rechtstreeks de devices kan aanspreken via Enlightened I/O waardoor de Device Emulation Layer kan worden omzeild. Concurrenten zoals VMware hebben dit niet waardoor er meer overhead is wat in het nadeel kan zijn van de performance.
En om die performance ook op het linuxplatform tot zijn recht te laten komen hebben ze nu drivers gedoneerd aan het Linux Kernel project. Daarmee is HyperV in een klap geschikt voor Windows en Linux in tegenstelling tot de eerdere visualisatietools van Microsoft zoals Virtual PC, etc.
klopt, maar op dit moment vind ik (mijn mening) dat hyper-v nog niet goed genoeg is voor massale overstap van vmware (of citrix)... zeker omdat je voor de meer geavanceerde features nog altijd een onderliggend OS nodig hebt, live migration kan bijvoorbeeld alleen als je een onderliggend cluster hebt, niet als je de baremetal hyper-v geinstalleerd hebt
nu is dat wel weer op te lossen door je cluster virtueel maken en dan de ene node op de ene server en de andere node op een andere server
Zonder flamewars te starten, is het niet beter, veiliger, stabieler, etc, om andersom te werken?
Daarnaast is windows reeds perfect gevirtualiseerd in linux. Ook is die software gratis beschikbaar. Laat windows daarom gast blijven in plaats van andersom.
Dat is mijn mening.

Ontopic: het lijkt een mooi gebaar, ik hoop dan ook dat MS op een dag NTFS drivers 'toont' zodat alle functies in linux ondersteund worden.
HyperV is niet gewoon simpel VirtualPC, maar wordt gebruikt om hele serverparken te virtualiseren. Hele andere tak van sport. VMWare is hier nu de grootste in, en die worden al prima ondersteund door GNU/Linux. Nu performance niet langer een issue is, is het product ook weer interessanter geworden voor bedrijven die nog aan het twjifelen zijn tussen VMWare/XenServer/HyperV.

Waar het in dit nieuwsbericht over gaat, daar is geen gratis software voor. Met de gratis VMWare Server kan je geen clusters draaien, en VirtualBox al helemaal niet :)

Daarnaast vraag ik me serieus af of je ooit met Server 2003/2008 hebt gewerkt. gezien deze qua stabiliteit en veiligheid echt niet onderdoen voor de gemiddelde Linux-distro. En dat zeg ik als Linux sysad ;)
Er zijn genoeg bedrijven die om X redenen MS Windows servers gebruiken, maar wel GNU/Linux guests nodig hebben. Waarom zou je expliciet dingen weren als het geen kwaad doet. "Free" in Free Software staat ook voor keuze vrijheid.
Free in Free software staat juist voor keuze vrijheid. En nooit voor 'gratis'.

(dat nou toevallig het merendeel van free software gratis is, is toevallig zo gegroeid, je mag er gewoon geld voor vragen namelijk)
Ik heb niks over het wel of niet gratis zijn gezegd. Maar de Free in Free Software staat voornamelijk voor de 3(+1) freedoms:

* The freedom to run the program, for any purpose (freedom 0).
* The freedom to study how the program works, and change it to make it do what you wish (freedom 1). Access to the source code is a precondition for this.
* The freedom to redistribute copies so you can help your neighbor (freedom 2).
* The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.
Zie: http://www.gnu.org/philosophy/free-sw.html

Keuze vrijheid is niet een van de freedoms, maar eentje die vaak mee genomen word bij grote projecten die uit veel verschillende onderdelen bestaan (zoals distros).
Freedom 0 en 1 is toch keuzevrijheid?
Toch een stap in de goede richting van Microsoft. Grote MS-haters zullen wel weer zeggen:
Dit moet Microsoft alleen maar omdat meer en meer mensen Linux gaan gebruiken en ze die mensen willen behouden...
Ik ben geen MS hater, maar het lijkt me duidelijk dat Microsoft dit niet doet omdat ze zulke weldoeners zijn, ze zullen hier zeker eigenbelang bij hebben. Desalnietemin is de keuze voor GPL2 zeker opmerkelijk.
Zo opmerkelijk vind ik dat anders niet: de Linux-kernel zelf valt ook onder een GPLv2-licentie, en een andere licentie aan de door Microsoft gedoneerde code hangen zou de acceptatie alleen maar in de weg staan, en dat wil Microsoft nu juist niet. Voor brede ondersteuning van Hyper-V in Linux-distributies is het een praktische vereiste dat het in Linus' tree zit.
Het is opmerkelijk omdat MS nog maar een paar jaar terug heftig ageerde tegen de GPL: het zou andere code "besmetten" en je eigen ontwikkeling in gevaar brengen. Er waren tijden bij het bedrijf dat je als ontwikkelaar ontslagen kon worden als bleek dat je GPL code had gelezen.
In de andere richting is de GPL dan ook wel heel restrictief.
Code onder de GPL licentie mag enkel in software gebruikt worden die zelf ook open-source is, dus daar kunnen de meeste commerciele bedrijven vrij weinig mee.
Dat lijkt me logisch, ook voor open source software geld voor wat hoort wat. Geld is niet het enige ruilmiddel. Waar commerciŽle bedrijven licenties voor geld ruilen. Ruilen open source fanatici source voor source op vrijwillige basis, het enige wat ze niet toestaan is dat je hun source pakt en er lekker van gaat profiteren.

[Reactie gewijzigd door tuXzero op 21 juli 2009 11:20]

Open source is meer dan alleen de GPL; er zijn voldoende open source ontwikkelaars die geheel zonder eigenbelang hun broncode vrijgeven, en het niet erg vinden dat iemand anders daar mee aan de haal gaat, zo lang hun ego maar wordt opgepompt ;): neem bijvoorbeeld de MIT of BSD licenties.
De meeste bedrijven schrijven geen software, maar gebruiken het alleen.
Ok, die was flauw, je bedoelde natuurlijk softwarebedrijven. Ook in die wereld wordt het grootste deel van het geld niet verdiend met de verkoop van shrink-wrapped software.
Het echte geld zit in de ondersteuning en het op maat maken van de software. Dat zijn diensten die je iedere keer opnieuw nodig hebt.

Andersom kun je ook stellen dat de meeste commerciele software gesloten is. Andere bedrijven (open en gesloten) kunnen daar dus niks mee.

Overigens mag je voor eigen gebruik best verschillende licenties door elkaar gebruiken, maar je mag het eindproduct dan niet meer verspreiden.
Natuurlijk, maar dat is ook afhankelijk van de strategie die het bedrijf voert. Het is inmiddels vrij duidelijk gebleken dat heftig ageren tegen open source niet in hun voordeel werkt, en dat er met verscheidene eigen initiatieven toch succes geboekt kan worden. Ook de SAAS-hype kan de noodzaak voor een krampachtige controle van de markt wat besturingssoftware betreft doen wegnemen. Microsoft heeft genoeg alternatieven om dalende inkomsten direct ten gevolge van open source alternatieven op te vangen, denk ik zo. Dat kan ook een reden zijn dat ze welwillender zijn geworden.
Het belang van Microsoft is dat Hyper-V wordt overwogen als serieus virtualisatieplatform. Nu linux er beter op zal draaien wordt het interessanter om Hyper-V te overwegen in plaats van VMWare (of andere concurrenten). Zeker als dit gepaard gaat met flinke kortingen op Hyper-V.

De keuze voor GPLv2 vind ik niet erg verrassend, omdat de Linux kernel nu eenmaal werkt onder die licentie, als MS echt de code in de kernel tree wil hebben is er geen andere licentievorm mogelijk.
Uiteraard heeft MS hier zelf belang bij. Er zijn nou eenmaal veel gevirtualiseerde linux servers, als deze structureel slecht presteren icm de software van MS heeft dan een negatief gevolg voor de verkoop.

Deze oplossing is dus voor zowel MS als de linux community perfect :)
Leuk en aardig, maar MS is gewoon een bedrijf (net als je werkgever naar alle waarschijnlijkheid) dat geld wil verdienen. Ze zullen dus nooit iets dat geen geld oplevert (dus ook niet indirect)
Desalnietemin is de keuze voor GPL2 zeker opmerkelijk.
De enige manier om code in Linux te krijgen is door het GPL2 te maken.
Hoe verklaar dan de aanwezigheid van BSD-licensed code in de kernel tree?

Voorbeeld: http://lxr.linux.no/linux...s/isdn/i4l/isdn_bsdcomp.c
Microsoft doneert drie van zijn device drivers aan de Linux-kernel om de prestaties van gevirtualiseerde Linux-omgevingen op Windows-servers te verbeteren. Naar verwachting zal de code in de volgende versie van Linux, versie 2.6.32, opduiken.
Een duidelijke Win-Win situatie. Microsoft geeft een stuk driver vrij onder de GPLv2 licentie, wel voor zichzelf natuurlijk, maar het feit dat MS toch een gedeelte van haar drivers *opent* vind ik een goed teken!
Edit: Nu nog standby en wakeonlan over hevelen en ik zie geen reden meer op Windows te draaien :P

[Reactie gewijzigd door Matis op 21 juli 2009 09:13]

maar het feit dat MS toch een gedeelte van haar drivers *opent* vind ik een goed teken!
Als je iets aan de Linux kernel doneert moet het onder GPLv2. Dat staat in de licentie, de doneerde code moet compatibele zijn.

Kortom er zit niets goeds in van de kant van Microsoft behalve eigenbelang.
Edit: Nu nog standby en wakeonlan over hevelen en ik zie geen reden meer op Windows te draaien :P
Voor deze "drivers" heb je een Windows Hyper-V machine (host) nodig.

De code die Microsoft vrij geeft is om er voor te zorgen dat een Linux guest sneller draait op een Windows Hyper-V host.

[Reactie gewijzigd door worldcitizen op 21 juli 2009 09:34]

Dan hadden ze toch ook een BSD like licentie kunnen gebruiken ?
Nee, want alle code in de Linux source code moet GPLv2 zijn.
Dat is niet waar. Een goed voorbeeld is bijvorbeeld zlib in de kernel, die is onder de zlib licentie gereleased en niet GPLv2. Public domain code mag ook in de kernel. En 2- of 3-clause BSD kan ook met gemak in de kernel. zo is bijvoorbeeld "arch/m68k/math-emu/", "drivers/video/sis/" en de meeste Adaptec SCSI drivers onder de BSD License.

[Reactie gewijzigd door elmuerte op 21 juli 2009 11:18]

Nee, want alle code in de Linux source code moet GPLv2 compatible zijn.
Zie ook: http://www.gnu.org/philosophy/license-list.html
Kortom er zit niets goeds in van de kant van Microsoft behalve eigenbelang.
Dus? Verwacht je dat MS z'n eigen glazen in gaat gooien terwille van een veredelt hobbyproject? De enige reden om wat dan ook te doen is eigenbelang. Als je er zelf niets mee opschiet doe je het tenslotte niet.
Dus, mijn opmerking is naar aanleiding van een opmerking dat Microsoft iets doet wat niet in eigenbelang is.

Mooi dat we op een lijn staan. :)

[Reactie gewijzigd door worldcitizen op 21 juli 2009 13:33]

Geen enkel bedrijf neemt een stap zonder er eigenbelang bij te hebben, ieder bedrijf moet winst maken en in de markt blijven om de aandeelhouders, investeerders enz tevreden te houden.... en natuurlijk om winst te maken!
Er zijn heel wat bedrijven die iets leveren waar ze veel minder eigenbelang in hebben.

Zoals Openoffice van Sun.
MySQL dat veel meer als GPL produkt wordt ingezet dan als de commerciŽle versie.
De GPLde versie van Java van Sun.

Zie ook:
http://ev.kde.org/supporting-members.php
http://www.kde.nl/sponsors/
http://www.kde.org/support/thanks.php

Status April 2008:
http://www.linuxfoundatio...inuxkerneldevelopment.php

[Reactie gewijzigd door worldcitizen op 21 juli 2009 13:17]

Dat hun business model anders zegt niet dat ze filantropische redenen OpenOffice of MySQL gratis uitbrengen.
Er bestaan ook altruÔstische bedrijven waar winst niet op de eerste plaats komt. Het hangt er maar van af wat de verwachtingen van de aandeelhouders en investeerders zijn.
Noem ze eens? Die bedrijven moeten wel een ongelofelijk goede marketingafdeling hebben om je dat te doen geloven.
Univť. Geen winst betekent niet dat bedrijven er op toeleggen, maar betekent gewoon dat ze voor de kostprijs werken. Een bepaalde dienst met een bepaalde kwaliteit aanbieden kost gewoon een x bedrag aan mensen en middelen. Exact tegen dat bedrag wordt de dienst ook verkocht.

Niks geen ontzettend uitgebreid marketingteam voor nodig.
Het is meer een Win-Lin situatie 8)7
WakeOnLan is geen functionaliteit van het gebruikte OS, en daar dus ook niet van afhankelijk.
FOUT!

wol moet wel degelijk als functionaliteit in het OS, in het bijzonder in de NC driver zitten. Voorbeeld uit de via-rhine driver in linux:

static struct ethtool_ops netdev_ethtool_ops = {
// snip
.get_wol = rhine_get_wol,
.set_wol = rhine_set_wol,
// snip
Da's vreemd, want ik kan ook WOL's uitvoeren op bare-metal systemen, inclusief boot naar DOS.
Da's vreemd, want ik kan ook WOL's uitvoeren op bare-metal systemen, inclusief boot naar DOS.
PXE != WOL. ;)
WOL stuurt enkel een pakketje gericht aan het MAC adres en het BIOS bedenkt dan dat hij aan springt. Davey400 zei niets over PXE, die boot naar DOS kan van elk medium zijn, net wat de boot priorities zijn.
WOL is geen OS functionaliteit, je machine staat "uit" op het moment dat jij gebruik wilt maken van WOL. Via de drivers kan je over het algemeen de WOL feature aan/uit zetten. WOL is een NIC (met support van mobo+bios) feature.
WOL is geen echte standaard. Iedere chip heeft een eigen implementatie en daarmee zijn eigen commando's. Commando's om WOL in en uit te schakelen, maar ook om in te stellen op welke pakketjes er wordt gereageerd.

Daarnaast heeft ook ieder moederbord zijn eigen stuursignalen die nodig zijn om een 'uitgeschakeld' systeem (G2/S5) in te schakelen. (active high, active low, positive pulse, negative pulse, ...). Veel NIC's ondersteunen meerdere signalen.

Kortom, de driver voor de NIC moet dus een aantal zaken instellen. De WOL status, welke pakketjes op wordt gereageerd, de stuursignalen etc.

Vaak ontbreekt deze functionaliteit in Linux drivers. Dit is echter geen zaak van Microsoft, maar van de schrijvers van de drivers.
welles-nietes?
Als je vanuit de driver van het OS niet de WoL functionaliteit aan kunt zetten heb je geen WoL. Punt
Die kun je je ook in je bios aanzetten.
Dus televisie kijken doe je met de afstandsbediening?
WOL is helemaal geen OS functionaliteit.

Een ander voorbeeld: Het is niet omdat mensen via een driver kunnen overclocken dat dit ineens ook maar een OS functionaliteit wordt!

Je kan de WOL parameters aanspreken als jouw driver de mogelijkheid aanbied om dit vanuit het OS te doen, leuk. Maar een WOL feature is meestal direct in te stellen via de BIOS waardoor je jouw systeem leuk kan opstarten terwijl er zelf bvb geen OS op is geinstalleerd.

Zoals DanTheBanjoman schrijft, de pc die een WOL uitvoert stuurt een pakketje naar een bepaald MAC adres. Als jouw WOL is geactiveerd zal de NIC steeds luisteren of er zo een pakketje wordt gestuurd en dan gewoon de computer opstarten wanneer deze een pakketje ontvangt...
Maar een WOL feature is meestal direct in te stellen via de BIOS waardoor je jouw systeem leuk kan opstarten terwijl er zelf bvb geen OS op is geinstalleerd.

Dat klopt. Maar als de OS driver die jouw NIC initialiseert geen benul heeft van WoL is dat waarschijnlijk slechts eenmalig. Moet je de volgende keer weer de BIOS in. Leuk.

@merethab:

Dus televisie kijken doe je met de afstandsbediening?

Inderdaad. Zonder AB is het heel lastig tv kijken tegenwoordig.

Nijn hieronder verwoordt precies waar het om gaat.
Microsoft geeft er weer eens een mooie draai aan maar ze moesten de code wel open sourcen omdat ze zelf GPL-code hadden gebruikt. Zie: http://www.kroah.com/log/...inux-hyper-v-drivers.html
Om de tekst achter je linkje een beetje samen te vatten:

Leuk gebracht van Microsoft dat ze code 'doneren' aan de open-source community maar een echte donatie is het niet. Ze zijn namenlijk verplicht de code te publiceren onder een licentie 'compatible' met de GPLv2 omdat er code in verwerkt is dat onder diezelfde licentie gepubliceerd is. In tegenstelling tot de Lesser-GPL mag code dat onder de GPL valt niet onder een 'incompatible' licentie uitgebracht worden.

Zie ook: http://passthesource.org.nz/2009/07/22/donating-code/
Dit is natuurlijk, zoals Matis al zei, een win-win situatie. Microsoft doet dit natuurlijk ook om meer voet aan de grond te krijgen in virtualisatie land waar VMWare eigenlijk nog heer en meester is. Microsoft wil hiermee bereiken dat performance verschillen geen reden meer zijn om ESX te kiezen...just closing the gap zou je kunnen zeggen.

Maar, toch een mooie ontwikkeling.
Hoera! 'k vond het nog vrij irritant dat eigenlijk alleen RedHat en Suse officiŽel worden ondersteunt met de LinuxIC.
Zelfs wanneer het niet officieel ondersteunt wordt zal de performance van andere distributies er wel enorm op vooruit gaan. Weer een argument minder voor de mensen die zeggen dat Hyper-V niet goed is. :)
Linkje naar het persbericht van Microsoft: http://www.microsoft.com/...9/Jul09/07-20LinuxQA.mspx
Daar staat ook in "three device drivers", maar over welke gaat het precies? De NIC voor Hyper-V, de storage-controller voor Hyper-V, de muisdriver voor Hyper-V,...?
voor iedereen die dacht dat MS hier goeie bedoelingen had:

"While Microsoft presented its recent embrace of the GPL as 'a break from the ordinary,' and the press spoke of them as going to great lengths to engage the open source community,' as is often the case with Microsoft, it turns out they had an ulterior motive. According to Stephen Hemminger, an engineer with Vyatta, Microsoft's Hyper-V used open-source components in a network driver and the company released the code to avoid legal action over a GPL violation. Microsoft's decision to embrace the GPL was welcomed by many in the open source community, but their failure to honestly explain the reason behind the release will have squandered this opportunity to build trust, something which is sadly lacking in most people's dealings with Microsoft." - bron: /.

[Reactie gewijzigd door loetje6 op 23 juli 2009 19:06]

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True