NetBSD

NetBSD: i386 SMP ág beolvasztva a -current-be

Címkék

Frank van der Linden beolvasztotta Bill Sommerfeld i386mp ágát az i386/-current-be. Az i386 SMP támogatásnak szépen működnie kell az 1-CPU rendszereken, és annál jobban több processzoros rendszereken.

Frank levele a -current-users levlistán:Subject: HEADS UP: i386mp branch merged

To: None

From: Frank van der Linden

List: current-users

Date: 10/01/2002 15:54:59

I just merged Bill Sommerfeld's i386mp branch into i386/-current. The code should work fine on 1-CPU systems, and quite well on a lot of multiprocessor systems (certainly the newer ones).

Known issues:

* The performance counter code (options PERFCTRS) has been obsoleted by this, since it doesn't work on multiprocessor systems. The code and manpage will be changed to reflect this.

* Interrupt counters (vmstat -i) won't work for the time

being if MULTIPROCESSOR is defined.

* There are probably a few locking problems lurking in the USER_LDT code with MULTIPROCESSOR switched on.

* As on all other platforms that support MP (or kernel

configs that have LOCKDEBUG switched on), RAIDframe

may have locking problems. Recently, an effort was

made to fix this, but I haven't been able to verify

if it works. Note that RAIDframe is currently broken

in -current because of a seperate issue.

* Interrupt line sharing between different IPLs isn't

optimal in the MP case (although not really much worse

than the single processor case).

Interrupt handling and some other reshuffling will hopefully

be redone in the near future (I have code which isn't quite

there yet).

Note that kernel config files for single processor machines need the line:

cpu0 at mainbus0

..to configure correctly.

Multiprocessor kernels need:

cpu* at mainbus?

ioapic* at mainbus? apid ?

options MULTIPROCESSOR

options COM_MPLOCK

..and if you want debugging and/or lots of output:

options MPDEBUG

options MPVERBOSE

Also, because of other, unrelated changes, you'll need to recompile config(8) first if you want to configure a new kernel.

- Frank

--

Frank van der Linden fvdl@wasabisystems.com

==========================================

Quality NetBSD Development, Support & Service. http://www.wasabisystems.com/

NetBSD: a -current dinamikusan linkelt lett

Címkék

Luke Mewburn bejelentette, hogy a NetBSD -current ága teljesen dinamikusan linkelt rendszerré változott. Ez azt jelenti, hogy az összes bináris a /bin és a /sbin könyvtárban dinamikusan van linkelve a /lib könyvtárban található library-khoz. Ez mire jó? Ennek eredményeképpen egy kisebb / (root) könyvtárat kapunk, mai azt jelenti, hogy körülbelül 11.5 MB helyet spróroltunk az i386 rendszerben. Az új /rescue könyvtár ehhez még hozzáad kb. 2.5 MB statikusan linkelt "rescue" binárist, így a tényleges helymegtakarítás körülbelül 9 MB.

Luke Mewburn levele:From: Luke Mewburn

To: None current-users AT netbsd.org

Subject: HEADS UP: fully dynamic linked system now the default

Date: 09/23/2002 01:25:59

As mentioned a few weeks ago, we've switched to a fully dynamically linked system by default.

The net outcome:

+ /bin and /sbin are dynamically linked, along with the small number of programs in /usr/* that were still statically

linked.

+ The shared libraries that are required by /bin and /sbin

are installed in /lib, with symlinks from /usr/lib for

compatibility purposes.

+ The dynamic linker is installed in /libexec, with a symlinks from /usr/libexec for compatibility purposes.

+ Less disk space used on `/'. On the i386, the savings are

in the order of 11.5 MB (4.5 MB versus 16 MB). If the space consumed by /rescue is counted only in the "new" system, there's still a 9 MB saving.

+ Specific rescue tools are provided in /rescue, rather than overloading /bin and /sbin for that purpose.

+ The kernel's "-a" bootloader option now also prompts for the path to init(8), so "/rescue/init" can be used if /sbin/init won't start due to an unexpected failure.

+ Whilst dynamic linked programs start up slower that statically linked programs, there is active work in progress to resolve this issue.

If you don't want this behaviour, set MKDYNAMICROOT=no in mk.conf(5).

Luke.

NetBSD 1.6 ISO imagek elérhetők

Címkék

Köszönhetően Tracy Di Marco White-nak (és másoknak, természetesen), a NetBSD Project örömmel jelenti be a NetBSD 1.6 verzió ISO image-einek elérhetőségét. A bootolható imagek alpha, cats, i386, pmax, sparc, sun2, sun3 és vax portok. Megtalálhatóak a /pub/NetBSD/iso/1.6/ könyvtárban a kedvenc tükrödön.

A tükrök listáját megtalálod az alábbi címen:

http://www.netbsd.org/mirrors/#iso

NetBSD: End-of-life NetBSD 1.4 branch

Címkék

itojun, a NetBSD központi csapatának tagja bejelentette, hogy a NetBSD 1.6 megjelenésével egy időben a NetBSD 1.4 nem-támogatottá vált, azaz "end-of-life" minősítést kapott.

itojun levele:To: netbsd-announce@netbsd.org

Subject: End-of-life declaration of NetBSD 1.4 branch

From: itojun@netbsd.org

Date: Sun, 22 Sep 2002 23:16:03 +0900

End-of-life declaration of NetBSD 1.4 branch

In keeping with NetBSD's policy of maintaining only the current and most recent release, the releast of NetBSD 1.6 marks the end-of-life for NetBSD 1.4. This means that the netbsd-1-4 branch will no longer be

maintained.

For example:

- There will be no pullups made (even for security issues)

- There will be no security advisories made for 1.4

itojun

on behalf of core@netbsd.org

IRIX bináris kompatibilitás NetBSD-n, III. rész

Címkék

O'Reilly Network Folytatódik Emmanuel Dreyfus [p99dreyf@criens.u-psud.fr] folyamatban levő cikksorozata, amely a NetBSD operációs rendszeren való Irix bináris kompatibilitást elemzi. A cikksorozat harmadik részében a szerző bemutatja az Irix különlegességeit, például olyan rendszerhívásokat amelyet máshol nem láthatunk.

A cikksorozat az Onlamp-on jelenik meg, a minőségre garancia az O'Reilly név.Emmanuel Dreyfus rendszer és hálózati adminisztrátor Párizsban, Franciaországban és jelenleg aktív NetBSD fejlesztő. Unix felhasználó 1996 óta, az első általa telepített Unix rendszer egy Mac68k-n futó NetBSD volt 1998-ban. Dreyfus 2001. januárjában lett NetBSD fejlesztő, a munkája a projectben az, hogy integrálja a Linux emulációs kódot a NetBSD PowerPC verziójába.

A cikket elolvashatod itt.

NetBSD: diszk-szintű tranzakció fürtözés

Címkék

Chris Jepeway egy érdekes patch fejlesztésébe kezdett. A patchet elküldte a NetBSD tech-performance levelezési listára. A kód segítségével megvalósítható a diszk-szintű tranzakció fürtözés ("disk-level transaction clustering"), amely azt teszi, hogy egybe fogja a sorozatban következő folyamatos lemez írási vagy olvasási műveleteket egy írási vagy olvasási műveletté. Ez a logika a lemez meghajtó program szintjén került beillesztésre, és körülbelül 5%-nyi növekedést lehet ezzel a módszerrel elérni a lemez áteresztőképességben. Ahogy Chris mondja: "Semmi egetrengető újdonság nincs ebben, természetesen, de demonstrálni lehet vele, hogy ez a fürtözős hiányzik a jelenlegi FS / VM interfészből."

Jason R Thorpe szerint ez egy rendkívül cool stuff, de néhány változtatásra azért még szükség lehet:

From: Chris Jepeway

To: tech-perform AT netbsd.org

Subject: Disk-level Transaction Clustering

Date: Sat, 07 Sep 2002 02:42:19 -0400

I've whacked disk-level transaction clustering into

the sd and wd drivers of -current from about 3 days ago.

This is before the gehenna-devsw merge, so I dunno whether

the patches I've put up will apply as of today.

I've only tested the sd driver, I haven't yet tried compiling the wd driver with clustering enabled. And only on an FFS partition w/o softdeps enabled.

For a simple benchmark, I used ssh/pax to copy a full-ish

/usr/src/sys tree (it had the kernels from a release build

in it) onto a test machine where sd clustering was enabled.

About 99K total xfers were done to disk. Of these, about

1300 were clusters built by the sd driver. These 1300

clusters held about 5100 buffers that would have been

individually scheduled if the driver weren't combinging

them. So, clustering saved about 3800 xfers, roughly a

4% savings.

I then built the GENERIC kernel with clustering disabled.

About 12800 xfers were done during the build. Building

GENERIC again with clustering turned on did about 12200 xfers, where 1000 buffers or so were combined into 300 clusters. That's about a 5% savings. CPU time and wall time for both compiles were comparable.

None of this is earth-shattering news, of course, but it does

demonstrate that clusters can be missed at the FS/VM interface. And that's when only one process uses the disk in question.

If someone points me at some benchmarks enjoyed by the powers that be, I'll be glad to generate harder numbers. See a msg posted a few days back on what/how I'd test.

Further info and code/patches at

http://www.blasted-heath.com/nbsd/cluster/

I had to hand edit the patch to remove some lines in

sys/conf/files and the like that weren't relevant to

clustering, so there's a chance that part of the patch

might not apply cleanly. If you try it, let me know how

it goes.

Chris

-------------------------------------------------------------------

From: Jason R Thorpe

Subject: Re: Disk-level Transaction Clustering

Date: Sat, 7 Sep 2002 09:32:55 -0700

On Sat, Sep 07, 2002 at 02:42:19AM -0400, Chris Jepeway wrote:

> Further info and code/patches at

>

> http://www.blasted-heath.com/nbsd/cluster/

This is pretty cool stuff, but I have some suggestions on how to make it better :-)

You really don't want to use a VM map to make the clusters. This can have painful side-effects on some architectures, esp. since you are using kmappings ... this is basically not going to work on any platform which has a virtually-indexed cache.

Instead, I suggest using uios to describe the clusters. Make a flag called B_UIO for the buf structure, and when that is set, b_data points to a uio structure. When you build a cluster, allocate a uio and an iovec array (maybe always allocate an iovec array large enough to handle up to some max_cluster requests).

...then modify the SCSI HBA drivers to use bus_dmamap_load_uio instead of bus_dmamap_load when they see B_UIO. Note that there is already some

#if 0'd code for this in some HBA drivers (historical reasons).

It would also be nice if the building of clusters were hidden inside the BUFQ interface. I suggest adding a new flag when the bufq is allocated, BUFQ_CLUSTER, or something.

Now, for devices which aren't using bus_dma, we could just avoid setting BUFQ_CLUSTER in those cases. They won't get the benefit of clustering, but they will also continue to work.

--

-- Jason R. Thorpe

--------------------------------------------------------------------

From: Chris Jepeway

Subject: Re: Disk-level Transaction Clustering

Date: Thu, 12 Sep 2002 16:57:14 -0400

> This is pretty cool stuff, but I have some suggestions on how to make

> it better :-)

Cool.

> You really don't want to use a VM map to make the clusters. This can have

> painful side-effects on some architectures, esp. since you are using

> kmappings ... this is basically not going to work on any platform which has

> a virtually-indexed cache.

OK. That's b/c these machines cant't handle VA aliases in the cache, so aliases aren't allowed on them? Is there some way to inval the cache, in that case? And are there other reasons why it won't work? I ask to both understand and to try to support clusters on those configs that don't bus_dma.

> Instead, I suggest using uios to describe the clusters. Make a flag

> called B_UIO for the buf structure, and when that is set, b_data points

> to a uio structure. When you build a cluster, allocate a uio and an iovec

> array (maybe always allocate an iovec array large enough to handle up to

> some max_cluster requests).

>

> ....then modify the SCSI HBA drivers to use bus_dmamap_load_uio instead

> of bus_dmamap_load when they see B_UIO. Note that there is already some

> #if 0'd code for this in some HBA drivers (historical reasons).

A buddy of mine had pointed out that code and suggested this approach, too. Makes sense to me, so that's what I'll aim for.

> It would also be nice if the building of clusters were hidden inside the

> BUFQ interface. I suggest adding a new flag when the bufq is allocated,

> BUFQ_CLUSTER, or something.

I think I like this, too.

> Now, for devices which aren't using bus_dma, we could just avoid setting

> BUFQ_CLUSTER in those cases. They won't get the benefit of clustering, but

> they will also continue to work.

Hm. I could have 2 clustering methods, one that uses bus_dma, one that uses VM tricks. Prefer bus_dma over VM, prefer VM over nothing, and force nothing if the VM h/w for the system can't dtrt? If BUFQ_CLUSTER is set on machines that can't support them, it'd just be ignored.

Chris

--------------------------------------------------------------------

From: Chuck Silvers

Subject: Re: Disk-level Transaction Clustering

Date: Sat, 7 Sep 2002 12:54:04 -0700

hi,

hmm, that's interesting, could you find out what was in the blocks that you were able to cluster? I'd guess it's inode data, but it could be something else.

it's kind of disappointing that there was no measurable improvement in performance, though. could you try experimenting with ccd or raidframe and see if it helps noticably in that context? it'll probably help if you use a machine with a slower CPU as well. my point with trying

to see a performance improvement is that if we think there should be a performance improvement but there isn't one, then maybe something isn't working correctly.

-Chuck

Megjelent a NetBSD 1.6

Címkék

Ma reggel megjelent a NetBSD legújabb, 1.6-os verziója. Az új kiadás 39 architektúrára tartalmaz bináris telepítõt és csomagokat, emellett pedig összesen 52 különbözõ architektúrát támogat.

A letölthetõ telepítõ CD-k késõbb jelennek meg.A változások az elõzõ, 1.5-ös kiadáshoz képest:

    Kernel
  • Új platformok: algor, dreamcast, evbarm, hpcarm, hpcsh, newsmips, sandpoint, sgimips, sun2, és walnut
  • Az egységes puffer cache (UBC) a teljes rendelkezésre álló memóriaterületet használja, így növeli a rendszerteljesítményt
  • Jobb cache kihasználás, kiszámíthatóbb futásideji mûködés és gyorsabb programvégrehajtás
  • Újraírt SCSI középsõ szint, amely egy tisztább felületet ad a különbözõ kernel szintek között, beleértve egy kernelszálat, amely a hibakezelést végzi.
  • Jelentõsen javított Linux bináris emuláció, arm, alpha, m68k és powerpc támogatással. Az új kernelverzió 2.4.18.
  • Néhány porton lehetõség van már a RAIDframe-rõl való bootolásra
  • Fejlesztés alatt álló ACPI támogatás
  • USB 2.0 támogatás
  • Alapvetõ kernel támogatás az IrDA eszközök részére.
  • A kernel config a kernelbe ágyazható, ahonnan késõbb újra kinyerhetõ.
  • Rengeteg új állítható kernelváltozó (sysctl)


  • Hálózat

  • Hardveres IPv4 TCP és UDP ellenõrzõösszeg-elõállítás és az IPv6 TCP pszeudo fejléc gyorstítótárazása. Az ellenõrzõösszeg hardveres támogatása a következõ kártyákon: DP83820 Gigabit Ethernet, 3Com 3c90xB, 3Com 3c90xC és Alteon Tigon/Tigon2 Gigabit Ethernet.
  • Zero-copy a TCP-hez és UDP-hez
  • Kernelbeli ISDN támogatás az ISDN4BSD projekt révén.
  • 802.1Q VLAN támogatás.
  • IPFilter IPv6 támogatással.
  • NetBSD/sun2 gépek hálózati bootolásához ndbootd.
  • racoon démon, amely IKE kulcskezelést végez az IPSec kulcsegyeztetéshez.
  • WEP titkosítási lehetõség az ifconfig segítségével az awi driverben.
  • Bridge támogatás, jelenleg csak Ethernetre.
  • Kernelbeli PPPoE támogatás.
  • ifwatchd, amely egy adott hálózati csatoló állapotától függõen (up, down) elindít egy scriptet. A PPPoE-hez hasznos.


  • Fájlrendszerek

  • Javított stabilitás az LFS v2-höz, amely egy BSD-s naplózó fájlrendszer.
  • makefs, amely fájlrendszer-képeket hoz létre egy könyvtárstruktúrából.
  • Továbbfejlesztett ffs_dirpref(), amely a könyvtárak létrehozását gyorsítja jelentõs mértékben
  • dpti driver, amely a DPT/Adaptec SCSI/I2O RAID menedzsment felületét támogatja.
  • Read only támogatás a Windows 2000 NTFS-hez (NTFS5)
  • TCQ támogatás az ncr53c9x SCSI vezérlõkhöz


  • Biztonság

  • chroot környezet a következõkhöz: named, ntpd és sshd
  • MD5 és többkörös DES támogatás a passwd-hez
  • Kód-audit
  • Flexibilisebb /etc/security


  • Rendszer adminisztráció és felhasználói eszközök

  • sushi, amely egy menü alapú rendszeradminisztrációs felület
  • pgrep és pkill, amelyek megkeresik, vagy valamilyen jelzést küldenek a processzeknek a nevük, vagy egyéb attribútumaik alapján
  • A rendszerfrissítések megkönnyítésére szolgáló etcupdate, amely az /etc könyvtárat hivatott kezelni.
  • BSD sort a GNU sort helyett
  • Futás közben eltávolítható swap a swapoff paranccsal


  • Stb.

A teljes bejelentés elolvasható a NetBSD weblapján.

NetBSD gehenna-devsw branch beolvasztva a -current-be

Címkék

A NetBSD Project örömmel jelenti, hogy Mahekawa Masahide által készített gehenna-devsw branch sikeresen beolvasztásra került a -current forrásfába. Ez az érdekes nevű kód lehetővé teszi, hogy az eddig egy statikus tömbben levő eszköz kapcsoló táblák (device switch tables) ezután dinamikusan generálódjanak le a config(8) által. Hogy mi is ez?

Én gyanítom, hogy erősen hasonlít ez a Linux kernelben alkalmazott devfs-hez (ha esetleg nem valaki javítson ki).A devfs lényege röviden az, hogy szemben a régi módszerrel, amelyben a /dev könyvtár alatt statikusan filokban tároltuk a rendszerünkben levő (és nem levő) eszközöket, a devfs alkalmazása esetén ezek a bejegyzések boot időben, dinamikusan, és kizárólag csak azokra az eszközökre jönnek létre, amelyek valóban léteznek a rendszerünkben. Ennek több előnyös vonzata is van. Jobban átlátható, kevesebb helyet foglal, stb.

(Akit jobban érdekel a devfs az elolvashatja Friczy barátom által írt devfs HOGYAN-t.)

Visszatérve a NetBSD gehenna-devsw-hez olvasd el a commit-message-t.

NetBSD 1.6 RC3

Címkék

A NetBSD 1.6 a kilencedik nagyobb kiadása lesz a NetBSD operációs rendszernek, és jelenleg a kiadás előtti állapotban van.A netbsd-1-6 CVS branch jelenleg a 1.6_RC1-nél tart. Ez egy release candidate kiadás, tulajdonképpen már csak a kritikus bugok lesznek benne frissítve a végső kiadásig.

Ha gondolod fel tudod építeni a NetBSD-t forrásból, vagy használhatod a napi snapshotokat.

Megjegyzés: A NetBSD 1.6 jelenleg elég stabil állapotban van, de a fejlesztők mégsem ajánlják produktív rendszeren való alkalmazását.

Bővebb információ itt.

IRIX Bináris kompatibilitás NetBSD-n, második rész

Címkék

Az OnLamp-on jelent meg egy érdekes cikksorozat Emmanual Dreyfus tollából, amely a NetBSD-n megvalósított Irix bináris kompatibilitást feszegeti. Ennek a cikksorozatnak jelent most meg a második része. A témák: Unix program indulása, a verem felállítása a program indulásához, az ELF kiegészítő tábla, a CPU regiszterek beállítása az indításkor.

A elolvashatod itt.