Linux

Alan Cox: Linux 2.4.20-pre5-ac1

Címkék

Újabb AC patch a legújabb prepatch kernelhez.

Letölthető patch-2.4.20-pre5-ac1.gz

Változások: [+ indicates stuff that went to Marcelo, o stuff that has not,

* indicates stuff that is merged in mainstream now, X stuff that proved bad and was dropped out, - indicates stuff not relevant to the main tree]

Resync and collect up the main stuff. The IDE stuff Andre sent me isn't in - its going back for another debug phase before its considered. Caution is still advised with the IDE and ide-scsi is known to cause crashes.

Linux 2.4.20-pre5-ac1

Resync with 2.4.20pre5

o Fix IDE compile (me)

o Update defconfig (Niels Jensen)

o Various warning fixes (Niels Jensen)

+ Remove epat debug printk that escaped (Moritz Barsnick)

o Fix PPC build for pre4-ac (Ben Herrenschmidt)

o Fix hang in Matrox DRM (Jonny Strom)

o Backport 2.5 LDT allocation improvements (Manfred Spraul)

+ Lp tidy and printk levels (Lucas Correia Villa Real)

o Update yenta region size patch (Manfred Spraul)

+ Fix an i2c bus leak on the acorn pcf8583 (Silvio Cesare)

+ Fix e100 phy build (Linus Torvalds)

o Further i810 audio updates (Juergen Sawinski)

+ Tidy ver_linux output with gcc 3.x (Steven Cole)

o ppp_generic fixes for building on boxes (Bjorn Helgaas)

with out* as macros

o pdc4030 updates (Peter Denison)

+ Forte sound driver updates (Martin Petersen)

o Fix AMD7441 PCI ID error

o Tighten asm-ia64 io macros (Andreas Schwab)

Alan Cox: Linux 2.2.22-rc2

Címkék

A 2.2-es kernel is fejlődik, igaz nem olyan ütemben mint a 2.4, de azért AC néha ránéz erre is. Itt az -rc2, mert az -rc1 óta napvilágot látott néhány helyi biztonsági hiba, amelyet a Solar Designer és más fejlesztők találtak a kódban.

Letölthető patch-2.2.22-rc2.gz

Változások:This is going straight to rc1 because it contains a lot of security fixes for local security problems found by Silvio's audit Solar Designer and a couple of other folks. The other stuff is minor and is the entire 2.2 pending queue anyway.

Special thanks go to Openwall who did pretty much all of the security backporting work. This is mostly their kernel update not mine.

2.2.22-rc2

o Fix isofs over loopback problems (Balazs Takacs)

o Backport 2.4 shutdown/reset SIGIO from 2.4 (Julian Anastasov)

o Fix error reporting in OOM cases (Julian Anastasov)

o List a 2.2 maintainer in MAINTAINERS (Keith Owens)

o Set atime on AF_UNIX sockets (Solar Designer)

o Restore SPARC MD boot configuration (Tomas Szepe)

o Multiple further sign/overflow fixes (Solar Designer)

o Fix ov511 'vfree in interrupt' (Mark McClelland)

Linux: XFS a 2.5 kernelhez

Címkék

Christoph Hellwig egy patchet postázott, mely az alábbiakat tudja: "a patch az SGI XFS filerendszer alap funkcióit tartalmazza a Linux 2.5.32-höz. Nem tartalmazza az olyan változásokat, mint: Posix ACL-ek, dmapi, kdb és egyéb kódokat, amelyek megtalálhatóak az XFS CVS fában".

Remélhetőleg ez a dolog kikövezi az XFS 2.5-be való integrálását.From: Christoph Hellwig

To: linux-kernel

Subject: [PATCH] XFS core for 2.5.32

Date: Wed, 28 Aug 2002 03:12:22 +0200

This patch includes only the core functionality of the SGI XFS filesystem for Linux 2.5.32. It does NOT include changes for Posix ACLs, dmapi, kdb or other code included in the XFS CVS tree.

The patch adds the self-contained XFS code and makes almost no modifications to existing kernel code. Diffstat output with new files stripped:

Documentation/Changes | 16

Documentation/filesystems/00-INDEX | 2

MAINTAINERS | 8

fs/Config.help | 66

fs/Config.in | 9

fs/Makefile | 1

include/linux/sched.h | 1

include/linux/sysctl.h | 2

kernel/ksyms.c | 1

Please send any comments to the patch or xfs code to linux-xfs@oss.sgi.com. We know that there are still issues left that need addressing, but feel free to add your items.

The patches can be found at:

ftp://ftp.kernel.org/pub/linux/kernel/people/

hch/patches/v2.5/2.5.32/linux-2.5.32-xfs.patch.gz

ftp://ftp.kernel.org/pub/linux/kernel/people/

hch/patches/v2.5/2.5.32/linux-2.5.32-xfs.patch.bz2

Molnár Ingo: Hyper-Threading-et tudó scheduler

Címkék

Szerdán írtam az Intel által kifejlesztett Hyper-Threading (HT) technológiáról. A technológia lényege, hogy egy fizikai CPU képes azt "hazudni", hogy ő valójában több (többnyire 2), és képes ezen az egy fizikai processzoron a több szálon futó alkalmazásokat párhuzamosan futtatni. Így akár 40%-os teljesítmény-növekedést is kaphatunk egyes alkalmazásoknál. Molnár Ingó, az O(1) scheduler készítője készített egy patchet, amely lehetővé teszi, hogy az O(1) ütemező is kihasználhassa a HT technológiát.

"A Hyper-Threading technológia egy érdekes koncepció, amely teljes támogatást érdemel szerintem." - írja Ingó.

Néhány szám a tesztelések során:

a floppy.c fordítása végtelen ciklusban, 2.55 mp-et vesz igénybe egy ciklus. Elindítva párhuzamosan két egyforma ciklust 2 fizikai, 2 logikai CPU-n (összesen 4 logikai CPU) egy P4 HT box az alábbi eredményeket adta:

2.5.31-BK-curr: - fluctuates between 2.60 secs and 4.6 seconds.

BK-curr + sched-F3: - stable 2.60 sec results.

A tesztek folytak kernelfordítással is:

kernelfordítás "make -j2"-vel:

2.5.31-BK-curr: 45.3 sec

BK-curr + sched-F3: 41.3 sec

Ez kb. 10%-os növekedés. Ez talán betudható az első patchnek, de a növekedés mindenképpen a 10-40% között reális valahol.

Ingó teljes levele:From: Ingo Molnar

To: linux-kernel

Subject: [patch] "fully HT-aware scheduler" support, 2.5.31-BK-curr

Date: Tue, 27 Aug 2002 03:44:23 +0200 (CEST)

symmetric multithreading (hyperthreading) is an interesting new concept that IMO deserves full scheduler support. Physical CPUs can have multiple (typically 2) logical CPUs embedded, and can run multiple tasks 'in parallel' by utilizing fast hardware-based context-switching between the two register sets upon things like cache-misses or special instructions. To the OSs the logical CPUs are almost undistinguishable from physical

CPUs. In fact the current scheduler treats each logical CPU as a separate physical CPU - which works but does not maximize multiprocessing performance on SMT/HT boxes.

The following properties have to be provided by a scheduler that wants to be 'fully HT-aware':

* HT-aware passive load-balancing: the irq-driven balancing has to be per-physical-CPU, not per-logical-CPU.

Otherwise it might happen that one physical CPU runs 2 tasks, while another physical CPU runs no threads. The stock scheduler does not recognize this condition as 'imbalance' - to the scheduler it appears as if the first two CPUs had 1-1 task running, the second two CPUs had 0-0 tasks running. The stock scheduler does not realize that the two logical CPUs belong to the same physical CPU.

* 'active' load-balancing when a logical CPU goes idle and thus causes a physical CPU imbalance.

This is a mechanism that simply does not exist in the stock 1:1 scheduler - the imbalance caused by an idle CPU can be solved via the normal load-balancer. In the HT case the situation is special because the source physical CPU might have just two tasks running, both runnable - this is a situation that the stock load-balancer is unable to handle - running tasks are hard to be migrated away. But it's essential to do this - otherwise a physical CPU can get stuck running 2 tasks, while another physical CPU stays idle.

* HT-aware task pickup.

When the scheduler picks a new task, it should prefer all tasks that share the same physical CPU - before trying to pull in tasks from other CPUs. The stock scheduler only picked tasks that were scheduled to that particular logical CPU.

* HT-aware affinity.

Tasks should attempt to 'stick' to physical CPUs, not logical CPUs.

* HT-aware wakeup.

again this is something completely new - the stock scheduler only knows about the 'current' CPU, it does not know about any sibling [== logical CPUs on the same physical CPU] logical CPUs. On HT, if a thread is woken up on a logical CPU that is already executing a task, and if a sibling CPU is idle, then the sibling CPU has to be woken up and has to execute the newly woken up task immediately.

the attached patch (against 2.5.31-BK-curr) implements all the above HT-scheduling needs by introducing the concept of a shared runqueue: multiple CPUs can share the same runqueue. A shared, per-physical-CPU

runqueue magically fulfills all the above HT-scheduling needs. Obviously this complicates scheduling and load-balancing somewhat (see the patch for details), so great care has been taken to not impact the non-HT schedulers (SMP, UP). In fact the SMP scheduler is a compile-time special case of the HT scheduler. (and the UP scheduler is a compile-time special case of the SMP scheduler)

the patch is based on Jun Nakajima's prototyping work - the lowlevel x86/Intel bits are still those from Jun, the sched.c bits are newly implemented and generalized.

There's a single flexible interface for lowlevel boot code to set up physical CPUs: sched_map_runqueue(cpu1, cpu2) maps cpu2 into cpu1's runqueue. The patch also implements the lowlevel bits for P4 HT boxes for the 2/package case.

(NUMA systems which have tightly coupled CPUs with a smaller cache and protected by a large L3 cache might benefit from sharing the runqueue as well - but the target for this concept is SMT.)

some numbers:

compiling a standalone floppy.c in an infinite loop takes 2.55 seconds per iteration. Starting up two such loops in parallel, on a 2-physical, 2-logical (total of 4 logical CPUs) P4 HT box gives the following numbers:

2.5.31-BK-curr: - fluctuates between 2.60 secs and 4.6 seconds.

BK-curr + sched-F3: - stable 2.60 sec results.

the results under the stock scheduler depends on pure luck: which CPUs get

the tasks scheduled. In the HT-aware case each task gets scheduled on a separate physical CPU, all the time.

compiling the kernel source via "make -j2" [under-utilizes CPUs]:

2.5.31-BK-curr: 45.3 sec

BK-curr + sched-F3: 41.3 sec

ie. a ~10% improvement. The tests were the best results picked from lots of (>10) runs. The no-HT numbers fluctuate much more (again the randomness effect), so the average compilation time in the no-HT case is higher.

saturated compilation "make -j5" results are roughly equivalent, as expected - the one-runqueue-per-CPU concept works adequately when the number of tasks is larger than the number of logical CPUs. The stock scheduler works well on HT boxes in the boundary conditions: when there's

1 task running, and when there's more nr_cpus tasks running.

the patch also unifies some of the other code and removes a few more #ifdef CONFIG_SMP branches from the scheduler proper.

(the patch compiles/boots/works just fine on UP and SMP as well, on the P4 box and on another PIII SMP box as well.)

Testreports, comments, suggestions welcome,

Ingo

Linus Torvalds: Linux 2.5.32

Címkék

Egy nagy patch, Molnár Ingó végre fixálta a HT-only MTRR bugot, természetesen benne van az IDE kód visszaállítás (a 2.4 IDE kód forward port), USB frissítések, stb.

Letölthető patch-2.5.32.gz

Változások logja itt.

fizetős MP3...

Címkék

Sziasztok...

Mivel nem szeretnék cikket lopni, így csak egy linket tennék ide, ha nem gond... azt hiszem ezt mindenkinek érdemes elolvasnia...

The NeverGone

Alan Cox: Linux 2.4.20-pre4-ac2

Címkék

Újabb -ac patch.

Letölthető patch-2.4.20-pre4-ac2.gz

Változások: [+ indicates stuff that went to Marcelo, o stuff that has not,

* indicates stuff that is merged in mainstream now, X stuff that proved bad and was dropped out, - indicates stuff not relevant to the main tree]


The HP merge is now down to 3503 lines pending

IDE status

Chasing two reports of strange ide-scsi crashes

Still some Promise glitches - need to review merge carefully

Need to double check SiS code versus older SiS code.

Sometimes we now turn DMA off excessively for simplex devices

No corruption cases except known hardware incompatibilities that broke before

The insmod of IDE drivers isnt in yet. I've been rather busy so it didn't make the time. However anyone who wants should be able to fill in the other bits of the ide pci driver registration logic to finish it off.

Once I get a bit of time I'll resync with Marcelo and push him various updates.

Linux 2.4.20-pre4-ac2

- Pull NFSD back in line with Marcelo

o Fix IDE PCMCIA build error (me)

o Fix check/request region race in IDE DMA (me)

o Fix I/O handling of dma_base2 request fail (me)

o More debugging around the simplex ide DMA (me)

o Fix kmalloc error leak in fd1772 (Silvio Cesare)

o Handle out of memory on acorn ps/2 (Silvio Cesare)

o IEEE1394 integer overflow fix (Silvio Cesare)

o Khttpd race fixes (Dan Kegel)

o Backport kaweth fixes from 2.5 (Oliver Neukum)

O Fix gcc 2.x build of brlvger (Eyal Lebedinsky)

o Error handling clean ups for USB storage (Pete Zaitcev)

o Fix loops_per_jiffy mod calculation overflow (Yoann Vandoorselaere)

o PCI hotplog oops fixes (Greg Kroah-Hartmann)

o APM do idle now doesnt keep warning on error (Ben LaHaise)

o Reinitialize AGP on i845 after a suspend (Charl Botha)

o Don't rserve port 0x45 on sbc60xxwdt (Anders Pedersen)

o Export elevator_init so modules can switch (Arnd Bergmann)

to no-op elevators

o Fix gmac link status reporting (Roberto Gordo Saez)

o Radeonfb update (Peter Horton,

Erik Andersen)

o Fix resource leak on error in sisfb (me)

o Fix sisfb to fail the load if no card is (me)

found

Változik a BitKeeper licenszelése

Címkék

Köztudott dolog, hogy a Linux 2.5 kernel fejlesztése a BitKeeper nevű ``version control system"-ben folyik. Linus döntött úgy, hogy a Linux kernel fejlesztői forrását ebben tárolják, a CVS-sel szembem. Ezért többen is támadták Linust, többek között RMS. RMS kijelentette, hogy a Linux nem tekinthető 100%-ban free szoftvernek, mert a fejlesztése egy nem free rendszerben folyik.

Larry McVoy - a BitKeeper első embere - egy levelet küldött az LKML-re, melyben bejelenti, hogy megváltozott a BK liszence:

"Nem GPLizáltuk, csak néhány korrekciót hajtottunk végre a licenszen, de a változtaások fejlődések voltak, nem visszafejlődések" - írta McVoy.

A licensz-beli változásokat elolvashatod itt.

Kapcsolódó hírek:

BitKeeper, avagy Linus mégis enged?

Eric S. Raymond: A Linux kernelpatchelés krízisben van

ReiserFS patchek, a csapat a BitKeeper-t fogja használni

Richard Stallman a BitKeeperről

Interjú: Larry McVoy a BitKeeper alkotója

WTF: A Linux nem ingyenes? A Debian új kernel után nézhet?

Linux: Bitkeeper CVS gateway

McVoy levele:From: Larry McVoy

To: linux-kernel@vger.kernel.org

Cc: bitkeeper-announce@work.bitmover.com

Subject: RFC: BK license change

Date: 24 Aug 2002 02:39:35 +0200

No, we're not GPLing it but we are making a few adjustments and wanted to make sure that it was an improvement, not a regression, in the eyes of the free users. Sorry for the intrusion, I'll be as brief as possible.

You can read the new license at http://www.bitkeeper.com/bkl.txt but I'll summarize the changes here.

3(a) Propagation to openlogging.org. The old license insisted that you log your changes within 7 days; several people pointed out that they are spending their dotcom dollars sitting on an island hacking the kernel and they may not have connectivity every 7 days. Or something. We upped the limit to 21 days, that should be enough, I have to believe that you check your mail every three weeks if you are doing work.

3(c) Maintaining Open Source. Our intent was that the free use of BitKeeper was for the purpose of helping the open source community; it was not to provide commercial users a free product. We have had a number of cases where managers up to VPs have told their engineers "just don't put anything useful in the checkin comments and then we can use it for free". Not what we had in mind. So we're adding a clause which says that we reserve the right to insist that you make your repositories available on a public port within 15 days of the request.

We understand that lots of legit open source users have very good reasons for not wanting their changes made public, e.g., they are working on a security fix. We are absolutely not going to ask these sorts of repositories be forced out in the open and if you are concerned about that we can work out some sort of written agreement to that effect. We're very much committed to supporting open source development, in particular the Linux kernel and even more specifically Linus, he's a critical resource.

The only people we're going after are those people who are clearly not part of the open source community. We thought about saying we would only enforce this if they were working on source which did not have an open source license and rejected it for the following reason: there are commercial companies working on open source, using BitKeeper to do so, and not sharing their changes for as long as they can to get a competitive edge in the marketplace. There is nothing wrong with that under the terms of the GPL, but we don't have to support what we view as commercial activity for free. Open means open, it's about sharing, not money, in our opinion.

It's a hard nut to crack, you can't just say "it's free if you are doing everything out in the open" because there are legit reasons for hiding. There also commercial reasons for hiding and our view is that if that is what you are doing, you should be paying for the tools. BK is free as a way to help people help each other.

4.4. Remove the $20,000 support clause. We had a clause that said that we could shut you down if you cost us more than $20K in support. This was a widely hated clause and we're aware of that. It was there as a way to try and shut down those people who were really commercial. Since the previous change will effectively do that, we don't need this clause. That removes the fear that we'll shut down bkbits or the kernel's use of BK.

That's it on the licensing stuff. Since I'm here, here's some BK status.

We're in discussions with a very Linux friendly hosting service (4000 Linux servers hosted) to move bkbits.net and openlogging.org to their site in exchange for BK licenses. This should make the bkbits.net service have more bandwidth and the benefit of a an extremely well connected and well run hosting environment. We don't need the bandwidth, BK is

super stingy with bandwidth, but it's cool to have bkbits.net in an air conditioned, UPSed, multi peered environment instead of my office. We're psyched about this, it's a good thing.

We're working on closing the first commercial deal which we can tie to the use of BK by the kernel team. If this actually happens, I'm going to take $25K of the deal and "give" it to Linus as "BK bucks" which he can spend. What means is that he has $25K to spend on BK features that he wants. This is above and beyond stuff that we're doing already, it's a way

to give him the power to insist that we do some work that we wouldn't do otherwise. In general, we'd like to make a policy of doing this sort of thing. To date, we can't credit the open source use of BK with any commercial business. If that changes, that's good for us but it should also be good for the kernel.

--lm

Linux: IDE fejlemények

Címkék

Ahogy a múlt héten írtam a 2.5-ös fejlesztői kernel a 2.4 kernelek előre portolt IDE kódját fogja használni, miután az IDE kód maintainer Martin Dalecki nem folytatja a 2.5 IDE munkát. Több levél is érkezett az LKML-re, amelyben tudakolták, hogy hogyan is tovább. Paul Bennett küldött egy levelet a fent említett levlistára, melyben a jövőről érdeklődött: "Mi a célja a 2.5-nek? Mi az implementációs terv? Mik a problémák a 2.4-ben, és hogy lesznek ezek javítva a 2.5-ben, stb?"

A Linus korábban kijelentette, hogy a lehetséges pályázók egyike Alan Cox, aki majd kibogozza az IDE kódot: "Jelenleg úgy fest a mostani állás szerint, hogy Alan lesz az aki az IDE kódon fog dolgozni, ami nyilvánvalóan nagyszerű dolog. Én csak azon csodálkozom, hogy bírja (Ő tart karban számos IDE buglistát, fixálja a bugokat évek óta, szóval reménykedhetünk)" - mondta Linus.

Cox válaszolt Bennett levelére, melyben leírta, hogy tervei szerint az IDE kód ``megszerelése" négy fázisban fog zajlani: "Ez lehetővé teszi nekünk, hogy egy szolid, stabil IDE kódot tarthassunk magunknál a fejlesztés alatt" - írta Alan Cox. Cox megjegyezte, hogy az első fázis már szinte készen van.

Akit konkrétan érdekelnek a részletek, klikk a ``tovább"-ra.From: Paul Bennett

Subject: 2.5 IDE Whitepaper?

Date: Wed, 21 Aug 2002 14:38:07 -0400

I am looking for documentation regarding the 2.5 IDE rewrite. For example: What are the goals for 2.5. What is the implementation plan? What were the problems in 2.4, and how will they be fixed in 2.5, etc?

Thanks.

-- Paul

From: Jeff Garzik

Subject: Re: 2.5 IDE Whitepaper?

Date: Wed, 21 Aug 2002 19:32:44 -0400

I wish :)

I imagine it will happen like most things happen, Linus describes his ideas and goals and wishes in a few lkml posts, and eventually something

like it happens :)

From: Alan Cox

Subject: Re: 2.5 IDE Whitepaper?

Date: 22 Aug 2002 00:51:52 +0100

I can try, my working list approximates this (ignoring the 2.5

porting/block I/O stuff which is a chapter in itself)

Phase #1 (mostly complete)

Merge Andre's current code [DONE]

Remove all the bogus code from the PCI drivers [90% DONE]

Move all the drivers seperate from the core code [DONE]

Migrate the PCI drivers to a registration API and allow insmod

Fix bugs arising from the first bits of phase 1

Phase #2

Deal with insmod of a device currently running as legacy

Fix up the locking ready to allow rmmod of a pci driver

Allow rmmod and hotplug at the controller level

Phase #3

Complete splitting setup-pci functions into smaller bits of code

and replace deep magic and callbacks with functions called from each driver. Get all the if device==foo out of the PCI code paths

Phase #4

Do something about the ide_register/unregister end of the world and legacy chipset stuff. The PPC folks may tackle this in advance

Get us to the point we can foo = ide_attach(); ide_remove(foo) for arbitary interfaces

And then (when the setup is turned the right way out and not before) begin looking at turning the actual block I/O engine the right way out. (That is driver calls helpers not midlayer and magic)

That should allow us to keep solid stable IDE along the way.