[20100131]
|
Unfilling my inbox: NetBSD news from the past few weeks - ACPI, NUMA, Xen, and more
Herre are some more things that I've caught in my inbox for too long,
and I'm finally finding some time
to sum them up here:
- NetBSD's "let's move kernel parts to the userland" RUMP
project is still under heavy development, and in order
to make testing of compatibility after kernel changes easier,
a new command "rumptest" was added to build.sh:
``Basically you say:
./build.sh ${yourargs} tools ; ./build.sh ${yourargs} rumptest
Where yourargs are what have you, e.g. '-U -u -o -O /objs'.
The latter builds only the rump kernel libs and uses some ld+awk magic
to figure out if things go right or not. This is to avoid having to
install headers and build libs (which is too slow since a full build is
too slow). The magic is not a substitute for a full build, but it is
n+1 times faster and works probably 99.9% of the time.
The scheme uses a number of predefined component sets
(e.g. tmpfs+vfs+rumpkern) to test linkage. They are currently listed
in build.sh. This area probably needs some work in the future. It would
be nice to autogenerate the combinations somehow.
If things go well, you get something like this:
===> Rump build&link tests successful
===> build.sh ended: Wed Nov 18 20:10:59 EET 2009
''
See Antti's
Antti's mail to tech-kern:
on how to tell if things didn't go so well, and what to do in that case.
- According to
Wikipedia,
``Non-Uniform Memory Access or Non-Uniform Memory Architecture (NUMA) is a computer memory design used in multiprocessors, where the memory access time depends on the memory location relative to a processor. Under NUMA, a processor can access its own local memory faster than non-local memory, that is, memory local to another processor or memory shared between processors.''
Supporting NUMA in a contemporary (i.e.: Intel centric)
SMP-enabled operating system requires following a bunch
of standards, two of which are
parsing of two tables, the System Resource Affinity Table (SRAT)
and the
System Locality Information Table (SLIT).
Both tables are accessible via
the
Advanced Configuration and Power Interface (ACPI), and according
to the
German-language Wikipedia,
the SRAT is used to assign local memory to local threads
to boost their performance, and the SLIT defines the
"distance" of the nodes among themselves, which is used to
determine the "nearest" memory if local memory is not
enough.
Now, Christop Egger has posted patches to add
an ACPI SLIT parser
and
an ACPI SRAT parser.
See the two postings for
dmesg pr0n from his tests on an 8-node system.
- Staying with ACPI and Christoph Egger, he found that even
though the ACPI spec defines an ACPI device for fans,
BIOS vendors and OEMs do their own thing.
To accommodate things like the fan sensor found in
the ACPI Thermal Zone in his HP Pavillion DV9700 laptop
he has
proposed a driver
to extend the acpitz(4) driver with fan information.
That way, envstat(8) can be used to display the ran's
RPMs:
[acpitz0]
Processor Thermal Zone: 56.000 95.000 degC
fan: 2840 RPM
- Staying with driver games, iMil writes me that
there's documentation on
getting DRI, AIGLX, Composite and Compiz
going with NetBSD 5.0 available in
the O(ther)NetBSD Wiki now.
The documentation covers how to enable the
Direct Rendering Manager (DRI), setting up and configuring
Modular X.org, assuring that everything's in place, and
how to get
Compitz going. Mmm, wobbly windows at last! :-)
- While we're talking funky desktop stuff: Marc Balmer has
submitted
a patch to get touchpanel support for ums(4).
ums(4) is for USB mice, and in contrast to mice, touch panels need
to deal with absolute numbers, not relative numbers.
- Back to the guts of the kernel, another patch suggested
by Christop Egger was for
adding x2apic. What is x2apic?
X2APIC is
``an Intel-only feature but can also be found
in virtual environments with support for CPU apic id's > 0xff.
I.e. Xen 4.0 (not yet released) supports 128 CPUs in HVM guests
with the CPUs enumerated with even apic id's. That means you need
x2apic for the 128th CPU :)
''
- While speaking of Xen: Xen 4.0 is coming soon,
and there's a
call to help testing it on NetBSD!
Install Mercurial, check out latest Xen
sources, apply a bunch of patches, build and install.
Examples of commands are given, in addition to changes
required for /boot.cfg etc.
Report your findings to
port-xen!
- Last one for today: Michal Gladecki,
Editor-in-Chief of BSD Magazine
writes:
``We are happy to announce that BSD Magazine is transforming into a free monthly online publication. The online version of BSD Magazine will stay in the same quality and form. It will look like the BSD magazine one is familiar and comfortable with. Please sign up to our newsletter at www.bsdmag.org and get every issue straight to your inbox. Also, you can now download any of the previous issues from our website. The first online issue -- 2/2010 -- is coming out in February. Please spread the word about BSD Magazine. ''
Click!
So much for today. I still have a bunch of news items
in my inbox for next time, but let's call it
good for today.
Unrelated, I've been playing with git a bit over the
past few days, and wile I have a number of questions building up
(which will be subject to tech-repository or so), what I
can say today is that the speed of "git pull" with
NetBSD's git repository and my 1MBit DSL line reminds me
a lot of the times when I used SUP with my 56k modem
- it took forever, too. :-(
[Tags: acpi, acpitz, aiglx, Articles, bsdmac, compiz, dmesg, dri, numa, rump, slit, touchpanel, ums, x2apic, xen]
|
[20081114]
|
Catching up - what happened in NetBSD-land between mid-August and mid-November
OK, I've been slacking^Wbusy for the past weeks, but I hope things
will get a bit better now. For a start, here's a catch-up of the
things that accumulated in my inbox in the past ~two months:
- Google Summer of Code is over for some time, but apparantly
no final report has emerged so far (shame!). Still, a number
of individual status reports came by on the official lists:
I know of at least one other project (uvc) that has completed but
that I didn't see a report here - maybe I've missed it. Anyways,
GSoC was another big success this year. Thanks, Google!
- Speaking of Adam Hamsik and Logical Volume Management (LVM), Adam
has continued his work in that are, and he has written a device
mapping library that interacts with his kernel driver. This
allows to interact with his GSoC project without using any GPL
code!
See Adam's posting for more details.
- Force 10 Networks, producer of 10gbit switches that use an operating system
based on NetBSD, have added a new feature as part of their FTOS operating
system: VirtualView, which provides virtualization of Force 10 based equipment.
From the xchange article: ``Force10 Networks Inc. this week introduced VirtualView software for benchmaking, troubleshooting and managing virtualized environments based on Force10 gear.''
More information is available
from the Force 10 Networks homepage,
plus in articles by
fibresystems.org,
light reading,
Zycko, and
SmartBrief.
- Following the latest hype in portable computers, NetBSD has
created a netbook
page that intends to list models and the extent to which they
are supported. Your contributions are most welcome here! (Contact
me for sending updates and hardware :-)
- Zafer Aydogan has made RSS feeds available for CVS commits to
single files - see his mail to netbsd-users
for more details.
- New security advisory were released that I've missed in my
last update:
- A project that's been ongoing for quite some time is the move from
"old-school" loadable kernel modules (LKMs) to new-style kernel modules.
Important changes include the fact that modules can be either linked
into the kernel at build time, or loaded into the kernel at
runtime from the same file. Also, the bootloader was modified to
load modules after the kernel, e.g. for a RAM-disk like the one
that is used by the INSTALL kernel.
In the same line, some parts are starting to be moved out of the
GENERIC kernel, and installed as modules that can be loaded by
the new framework then. The start is made
by
POSIX semaphores as a first step and proof-of concept,
even if
some details are still under hot debate, e.g.
what the file system layout for modules is, and if the belong
to the kernel and its build process, or to the userland.
- While talking about splitting the kernel into modules, Antti
Kantee has continued his work to move parts of the kernel into
userspace, in particular running file system code as userland in
his RUMP,
and puffs and (Re)FUSE works.
The idea is to provide the interfaces that file systems need in
the userland, and the result is that you can run code that used
to run inside the kernel in userland now.
Another subsystem running in the kernel that could be moved to
userland by providing appropriate interfaces with the rest of the
kernel is the network stack, and Antti has moved just that to the
userland. See Antti's
mail to tech-net@ for more
information on this impressive work.
- NetBSD has shipped XFree in previous releases, and people who
wanted to use X.org had to install it from pkgsrc. That's all
fine, but to get a modern X, one had to compile things, as no
precompiled binary packages are made available for many
platforms. This is changing now, and NetBSD is getting X.org
integrated via a reachover infrastructure which is also enabled
for crosscompiling.
The "user interface" for this is still in flux, but after some
detour ("build.sh -V MKXORG=yes", without -x), "build.sh -x" now
builds whatever X is considered the default for the
platform. Some platforms already default to use X.org as X, and
more will come, as changes that were made to NetBSD's copy of
XFree are adopted to X.org.
Platforms that use X.org by default now are macppc (see
here and
here),
sparc
sparc64,
shark,
amd64 and i386.
As X.org is at Revision 7 now, it's installed in /usr/X11R7,
which will lead to a lot of interesting effects. pkgsrc is
already prepared for the new layout, but there are still many
minor details that will need adjusting to the new directory. If
you find one, post your patches to tech-x11.
- Besides the GNU C compiler, there's the BSD-licensed Portable C Compiler
around for some time now. It doesn't offer the same support as
its GNU cousin yet, but this may change now:
The BSD Fund
is currently doing a fund drive to get money to enhance PCC.
The goal is to raise $12,000US to improve support for core
compiler functionality as well as support for C99, gcc
compatibility and the amd64 architecture. See
the project page for further details.
- The NetBSD 5.0 release cycle has started! There's a netbsd-5 branch in CVS,
daily binaries are available for testing, and some of
the highlights of the upcoming release include file system journalling for FFS via WAPBL, and X.org.
To help testing of NetBSD on Cobalt machines, Izumi Tsutsui
has made a NetBSD 5.0_BETA based version of the Cobalt restore CD
available. Enjoy!
- As the final point today, a word on NUMA support from Christoph
Egger. Non-Uniform Memory Access is needed in massive parallel
systems where some nodes have RAM more tightly associated than
others, where the RAM is further away, resulting in different
access times for different regions of memory. In order to support
this, Christop Egger has made first steps.
His example implementation uses information from ACPI, and shows
some heavy dmesg-pr0n from a 16-core machine with four
sockets. Yumm!
So much for today. With the NetBSD 5.0 release cycle started, I'd like
to encourage everyone to test the release branch, report errors, send
patches as well as beer and choccolate to make this the best
release that we've ever had.
[Tags: force10, fuse, gcc, google-soc, kmod, lkm, lvm, netbook, numa, pcc, puffs, refuse, rump, Security, x11, xfree, xorg]
|
|
Tags: ,
2bsd,
34c3,
3com,
501c3,
64bit,
acl,
acls,
acm,
acorn,
acpi,
acpitz,
adobe,
adsense,
Advocacy,
advocacy,
advogato,
aes,
afs,
aiglx,
aio,
airport,
alereon,
alex,
alix,
alpha,
altq,
am64t,
amazon,
amd64,
anatomy,
ansible,
apache,
apm,
apple,
arkeia,
arla,
arm,
art,
Article,
Articles,
ascii,
asiabsdcon,
aslr,
asterisk,
asus,
atf,
ath,
atheros,
atmel,
audio,
audiocodes,
autoconf,
avocent,
avr32,
aws,
axigen,
azure,
backup,
balloon,
banners,
basename,
bash,
bc,
beaglebone,
benchmark,
bigip,
bind,
blackmouse,
bldgblog,
blog,
blogs,
blosxom,
bluetooth,
board,
bonjour,
books,
boot,
boot-z,
bootprops,
bozohttpd,
bs2000,
bsd,
bsdca,
bsdcan,
bsdcertification,
bsdcg,
bsdforen,
bsdfreak,
bsdmac,
bsdmagazine,
bsdnexus,
bsdnow,
bsdstats,
bsdtalk,
bsdtracker,
bug,
build.sh,
busybox,
buttons,
bzip,
c-jump,
c99,
cafepress,
calendar,
callweaver,
camera,
can,
candy,
capabilities,
card,
carp,
cars,
cauldron,
ccc,
ccd,
cd,
cddl,
cdrom,
cdrtools,
cebit,
centrino,
cephes,
cert,
certification,
cfs,
cgd,
cgf,
checkpointing,
china,
christos,
cisco,
cloud,
clt,
cobalt,
coccinelle,
codian,
colossus,
common-criteria,
community,
compat,
compiz,
compsci,
concept04,
config,
console,
contest,
copyright,
core,
cortina,
coverity,
cpu,
cradlepoint,
cray,
crosscompile,
crunchgen,
cryptography,
csh,
cu,
cuneiform,
curses,
curtain,
cuwin,
cvs,
cvs-digest,
cvsup,
cygwin,
daemon,
daemonforums,
daimer,
danger,
darwin,
data,
date,
dd,
debian,
debugging,
dell,
desktop,
devd,
devfs,
devotionalia,
df,
dfd_keeper,
dhcp,
dhcpcd,
dhcpd,
dhs,
diezeit,
digest,
digests,
dilbert,
dirhash,
disklabel,
distcc,
dmesg,
Docs,
Documentation,
donations,
draco,
dracopkg,
dragonflybsd,
dreamcast,
dri,
driver,
drivers,
drm,
dsl,
dst,
dtrace,
dvb,
ec2,
eclipse,
eeepc,
eeepca,
ehci,
ehsm,
eifel,
elf,
em64t,
Embedded,
embedded,
emips,
emulate,
encoding,
envsys,
eol,
espresso,
etcupdate,
etherip,
euca2ools,
eucalyptus,
eurobsdcon,
eurosys,
Events,
exascale,
ext3,
f5,
facebook,
falken,
fan,
faq,
fatbinary,
features,
fefe,
ffs,
filesystem,
fileysstem,
firefox,
firewire,
fireworks,
flag,
flash,
flashsucks,
flickr,
flyer,
fmslabs,
force10,
fortunes,
fosdem,
fpga,
freebsd,
freedarwin,
freescale,
freex,
freshbsd,
friendlyAam,
friendlyarm,
fritzbox,
froscamp,
fsck,
fss,
fstat,
ftp,
ftpd,
fujitsu,
fun,
fundraising,
funds,
funny,
fuse,
fusion,
g4u,
g5,
galaxy,
games,
gcc,
gdb,
gentoo,
geode,
getty,
gimstix,
git,
gnome,
google,
google-soc,
googlecomputeengine,
gpio,
gpl,
gprs,
gracetech,
gre,
groff,
groupwise,
growfs,
grub,
gumstix,
guug,
gzip,
hackathon,
hackbench,
hal,
hanoi,
happabsd,
hardware,
Hardware,
haze,
hdaudio,
heat,
heimdal,
hf6to4,
hfblog,
hfs,
history,
hosting,
hotplug,
hp,
hp700,
hpcarm,
hpcsh,
hpux,
html,
httpd,
hubertf,
hurd,
i18n,
i386,
i386pkg,
ia64,
ian,
ibm,
ids,
ieee,
ifwatchd,
igd,
iij,
image,
images,
imx233,
imx7,
information,
init,
initrd,
install,
intel,
interix,
internet2,
interview,
interviews,
io,
ioccc,
iostat,
ipbt,
ipfilter,
ipmi,
ipplug,
ipsec,
ipv6,
irbsd,
irc,
irix,
iscsi,
isdn,
iso,
isp,
itojun,
jail,
jails,
japanese,
java,
javascript,
jetson,
jibbed,
jihbed,
jobs,
jokes,
journaling,
kame,
kauth,
kde,
kerberos,
kergis,
kernel,
keyboardcolemak,
kirkwood,
kitt,
kmod,
kolab,
kvm,
kylin,
l10n,
landisk,
laptop,
laptops,
law,
ld.so,
ldap,
lehmanns,
lenovo,
lfs,
libc,
license,
licensing,
linkedin,
links,
linksys,
linux,
linuxtag,
live-cd,
lkm,
localtime,
locate.updatedb,
logfile,
logging,
logo,
logos,
lom,
lte,
lvm,
m68k,
macmini,
macppc,
macromedia,
magicmouse,
mahesha,
mail,
makefs,
malo,
mame,
manpages,
marvell,
matlab,
maus,
max3232,
mbr95,
mbuf,
mca,
mdns,
mediant,
mediapack,
meetbsd,
mercedesbenz,
mercurial,
mesh,
meshcube,
mfs,
mhonarc,
microkernel,
microsoft,
midi,
mini2440,
miniroot,
minix,
mips,
mirbsd,
missile,
mit,
mixer,
mobile-ip,
modula3,
modules,
money,
mouse,
mp3,
mpls,
mprotect,
mtftp,
mult,
multics,
multilib,
multimedia,
music,
mysql,
named,
nas,
nasa,
nat,
ncode,
ncq,
ndis,
nec,
nemo,
neo1973,
netbook,
netboot,
netbsd,
netbsd.se,
nethack,
nethence,
netksb,
netstat,
netwalker,
networking,
neutrino,
nforce,
nfs,
nis,
npf,
npwr,
nroff,
nslu2,
nspluginwrapper,
ntfs-3f,
ntp,
nullfs,
numa,
nvi,
nvidia,
nycbsdcon,
office,
ofppc,
ohloh,
olimex,
olinuxino,
olpc,
onetbsd,
openat,
openbgpd,
openblocks,
openbsd,
opencrypto,
opendarwin,
opengrok,
openmoko,
openoffice,
openpam,
openrisk,
opensolaris,
openssl,
or1k,
oracle,
oreilly,
oscon,
osf1,
osjb,
paas,
packages,
pad,
pae,
pam,
pan,
panasonic,
parallels,
pascal,
patch,
patents,
pax,
paypal,
pc532,
pc98,
pcc,
pci,
pdf,
pegasos,
penguin,
performance,
pexpect,
pf,
pfsync,
pgx32,
php,
pie,
pike,
pinderkent,
pkg_install,
pkg_select,
pkgin,
pkglint,
pkgmanager,
pkgsrc,
pkgsrc.se,
pkgsrcCon,
pkgsrccon,
Platforms,
plathome,
pleiades,
pocketsan,
podcast,
pofacs,
politics,
polls,
polybsd,
portability,
posix,
postinstall,
power3,
powernow,
powerpc,
powerpf,
pppoe,
precedence,
preemption,
prep,
presentations,
prezi,
products,
Products,
proplib,
protectdrive,
proxy,
ps,
ps3,
psp,
psrset,
pthread,
ptp,
ptyfs,
Publications,
puffs,
puredarwin,
pxe,
qemu,
qnx,
qos,
qt,
quality-management,
quine,
quote,
quotes,
r-project,
ra5370,
radio,
radiotap,
raid,
raidframe,
rants,
raptor,
raq,
raspberrypi,
rc.d,
readahead,
realtime,
record,
refuse,
reiserfs,
Release,
Releases,
releases,
releng,
reports,
resize,
restore,
ricoh,
rijndael,
rip,
riscos,
rng,
roadmap,
robopkg,
robot,
robots,
roff,
rootserver,
rotfl,
rox,
rs323,
rs6k,
rss,
ruby,
rump,
rzip,
sa,
safenet,
san,
sata,
savin,
sbsd,
scampi,
scheduler,
scheduling,
schmonz,
sco,
screen,
script,
sdf,
sdtemp,
secmodel,
Security,
security,
sed,
segvguard,
seil,
sendmail,
serial,
serveraptor,
sfu,
sge,
sgi,
sgimips,
sh,
sha2,
shark,
sharp,
shisa,
shutdown,
sidekick,
size,
slackware,
slashdot,
slides,
slit,
smbus,
smp,
sockstat,
soekris,
softdep,
softlayer,
software,
solaris,
sony,
sound,
source,
source-changes,
spanish,
sparc,
sparc64,
spider,
spreadshirt,
spz,
squid,
ssh,
sshfs,
ssp,
statistics,
stereostream,
stickers,
storage,
stty,
studybsd,
subfile,
sudbury,
sudo,
summit,
sun,
sun2,
sun3,
sunfire,
sunpci,
support,
sus,
suse,
sushi,
susv3,
svn,
swcrypto,
symlinks,
sysbench,
sysctl,
sysinst,
sysjail,
syslog,
syspkg,
systat,
systrace,
sysupdate,
t-shirt,
tabs,
talks,
tanenbaum,
tape,
tcp,
tcp/ip,
tcpdrop,
tcpmux,
tcsh,
teamasa,
tegra,
teredo,
termcap,
terminfo,
testdrive,
testing,
tetris,
tex,
TeXlive,
thecus,
theopengroup,
thin-client,
thinkgeek,
thorpej,
threads,
time,
time_t,
timecounters,
tip,
tk1,
tme,
tmp,
tmpfs,
tnf,
toaster,
todo,
toolchain,
top,
torvalds,
toshiba,
touchpanel,
training,
translation,
tso,
tty,
ttyrec,
tulip,
tun,
tuning,
uboot,
ucom,
udf,
ufs,
ukfs,
ums,
unetbootin,
unicos,
unix,
updating,
upnp,
uptime,
usb,
usenix,
useradd,
userconf,
userfriendly,
usermode,
usl,
utc,
utf8,
uucp,
uvc,
uvm,
valgrind,
vax,
vcfe,
vcr,
veriexec,
vesa,
video,
videos,
virtex,
virtualization,
vm,
vmware,
vnd,
vobb,
voip,
voltalinux,
vpn,
vpnc,
vulab,
w-zero3,
wallpaper,
wapbl,
wargames,
wasabi,
webcam,
webfwlog,
wedges,
wgt624v3,
wiki,
willcom,
wimax,
window,
windows,
winmodem,
wireless,
wizd,
wlan,
wordle,
wpa,
wscons,
wstablet,
X,
x.org,
x11,
x2apic,
xbox,
xcast,
Xen,
xen,
xfree,
xfs,
xgalaxy,
xilinx,
xkcd,
xlockmore,
xmms,
xmp,
xorg,
xscale,
youos,
youtube,
zaurus,
zdump,
zfs,
zlib
'nuff.
Grab the RSS-feed,
index,
or go back to my regular NetBSD page
Disclaimer: All opinion expressed here is purely my own.
No responsibility is taken for anything.