FreeBSD: Project Wish-Lists

Submitted by njc
on December 6, 2004 - 9:10pm

Scott Long recently submitted a list of "nice-to-have" projects for the next 12-months and future releases in general. Many comments and addendums are suggested by various developers and committers. Topics including the adoption of Dragonfly BSD's extensible bsdinstaller (among others) as a worthy sysinstall replacement, ongoing development of ReiserFS4 support for FreeBSD, interesting discussion concerning clustered filesystem support, comments on SANs and much more.

"Most of these tasks are
not trivial, but I hope that talking about them will encourage some
interest. [...]While this is just my personal list, I'd welcome
other additions to it (in the sense of significant projects, not just
individual PRs or bug fixes that one might be interested in)."


From: Scott Long [email blocked]
To: freebsd-current
Subject: My projects wish-list for the next 12 months
Date: 2004-12-01 22:02:40

All,

I know that I said last month that we were going to stop promising
specific features for the next major release.  However, I'd like to
throw out a list of things that would be really nice to have in the
future, whether its 6.0 or 7.0 or whatever.  Most of these tasks are
not trivial, but I hope that talking about them will encourage some
interest.  These are in no particular priority order.  I'd also be
thrilled if someone wanted to dress this list up in docbook and add
it to the webpage.  While this is just my personal list, I'd welcome
other additions to it (in the sense of significant projects, not just
individual PRs or bug fixes that one might be interested in).

1.  Keyboard multiplexer.  We are running into problems with making
ps/2 and USB/bluetooth keyboards work together and work with KVMs.
Having a virtual keyboard device that multiplexes the various real
keyboard devices and handles hotplug can solve this mess pretty
effectively.  I know that there has been a lot of talk about this on
mailing lists recently but I don't know how much progress is being made
so I'm listing it here.

2.  New installer.  I know some people still consider this a joke, but
the reality is that sysinstall is no longer state of the art.  It's
fairly good at the simple task that it does, but it's becoming harder
and harder to fix bugs and extend functionality in it.  It's also
fairly unfriendly to those of us who haven't been using it since 1995.
The DFly folks have some very interesting work in this area
(www.bsdinstaller.com) and it would be very good to see if we can
collaborate with them on it.

3.  Native PCI Express support.  I keep on hoping to take care of this,
but I never seem to have the time to get past designing it.  This task
includes 3 parts that are mostly independent.  The first is support for
the extended PCI config space and memio access method, the second is
MSI, and the third is link QOS management.  If anyone is interested
here, please let me know.

4.  Journaled filesystem.  While we can debate the merits of speed and
data integrety of journalling vs. softupdates, the simple fact remains
that softupdates still requires a fsck run on recovery, and the
multi-terabyte filesystems that are possible these days make fsck a very
long and unpleasant experience, even with bg-fsck.  There was work at
some point at RPI to add journaling to UFS, but there hasn't been much
status on that in a long time.  There have also been proposals and
works-in-progress to port JFS, ReiserFS, and XFS.  Some of these efforts
are still alive, but they need to be seen through to completion.  But at
the risk of opening a can of worms here, I'll say that it's also
important to explore non-GPL alternatives.

5.  Clustered FS support.  SANs are all the rage these days, and
clustered filesystems that allow data to be distributed across many
storage enpoints and accessed concurrently through the SAN are very
powerful.  RedHat recently bought Sistina and re-opened the GFS source
code, so exploring this would be very interesting.

6.  Overhaul CAM, add iSCSI.  CAM is very parallel-SCSI centric right
now.  I have some work-in-progress in Perforce to address this, but it's
pretty minimal.  The parallel SCSI knowledge needs to be separated out
and the stack need to be able to cleanly deal with iSCSI, SCSI, SAS, and
maybe even ATA transports.  There is a Lucent implementation of iSCSI
for FreeBSD 4.x that could be a useful reference, though it's a
monolithic stack that doesn't really address the shortcomings of CAM.
Having iSCSI infrastructure that supported both hardware and software
implementations would be ideal.


Related Links:

And still USB is forgotten

Anonymous
on
December 7, 2004 - 1:54pm

All these improvements sound great. Don't get me wrong. But has any one seriously looked at the state of USB and specifically USB 2.0 highspeed support?

There is none. It doesn't work and Linux and other OS's handle it very will if not great.

Scott please put some thought into how some kind of priority can be put on this.

I'd rather have working highspeed USB 2.0 than multiplexing a friggin keyboard.

Davon Shire.

Re: And still USB is forgotten

on
December 7, 2004 - 3:15pm

The keyboard mux work is an attempt to address support of USB input devices on boot (it originated as a response to complaints about USB keyboard support).

General USB 2.0 (ehci) support was only recently picked up by Ian Dowse after a 3-month lapse in maintainership. Most of his work over the last month or so has consisted of synching FreeBSD's code with latest changes from Net and Open as well as correcting serious bugs. This work really didn't get committed until November see cvs commit: src/sys/dev/usb ehci.c ehcireg.h uhub.c usb_subr.c. Before that time, commits have been spotty. I'm not aware what the technical limitations are (if any) for high-speed support, but I would agree that it's long overdue. You may want to contact the developer out of band and ask what the current issues are - he may even need a hand testing code.

So thankfully, USB 2.0 hasn't been forgotten, it just needed a new parent. :)

Thanks for the update

Anonymous
on
December 8, 2004 - 4:30pm

Thank you very much for the update. I'm sorry if I missed the info about Ian. Most everyone I've talked to has said that the USB 2.0 code is a nightmare.

So thick fuzzy kudos to Ian and all the people working on it. I'll have to try an cvsup and see how things are going.

Thank you I've been waiting about 2 years for this.

Davon Shire

There should be facts instead of words

Anonymous
on
December 7, 2004 - 3:32pm

Hi all, I just want to underline how bigs are the efforts from NetBSD team, they dont dream, they just code.

See you.

Re: There should be facts instead of words

on
December 7, 2004 - 3:45pm

All of the BSD teams work pretty hard, I don't think coding is unique to just the NetBSD team. :)

HaikuFS is a great possibility

Anonymous
on
December 7, 2004 - 4:47pm

I think one thing which would be really neat is to check http://www.haiku-os.org/contribute.php?mode=team_view&id=BFS . This is a very promising file system which is working (unfortunately parts are made in C++). It's fast and journaled and under MIT license. I know SkyOS was hunting for a new filesystem and decided to go for a modified HaikuFS. Why wouldn't this be a way to go for FreeBSD?

This would also improve very much on clients running Haiku and servers running FreeBSD. The best of 2 breeds utilizing the same technology for storing things.

Definitely worth having a look at for Scott Long (FreeBSD) and author of the FS (Axel Dörfler).

Re:HaikuFS is a great possibility

Anonymous
on
December 8, 2004 - 3:14am

>unfortunately parts are made in C++

I agree! Surely writing that parts in Java would be a lot better!

Well obviously some think it

Anonymous
on
December 8, 2004 - 5:41am

Well obviously some think it would be better with plain C for interoperability with the kernel...

What would those idiots know?

on
December 9, 2004 - 8:28pm

What would those idiots know?
Next they'll be rejecting submissions written in Visual Basic!
:)

Reiser4 for FreeBSD?

Anonymous
on
December 7, 2004 - 5:42pm

Isn't the Reiser4 license uncompatible even with the DFSG?

Also, does FreeBSD really need a WinFS feel-alike?

Worthless effort

Anonymous
on
December 7, 2004 - 5:45pm

Porting any of XFS/JFS/Reiser* to FreeBSD would be a huge effort, and i think first you (the FreeBSD developers) need to consider if it's worthy at all!

At least someone is doing it

Anonymous
on
December 7, 2004 - 5:56pm

Jean-Sebastien Pederon is in progress of porting reserfs3 to freebsd. http://dumbbell.nerim.net/index2.html.
Though currently it can mount filesystem only in read-only mode.

It is. At least XFS and Reise

Jarek (not verified)
on
December 13, 2004 - 8:17am

It is. At least XFS and Reiser.
It seems XFS is definitely the best for "huge" systems [1] (if you consider FreeBSD a "server" OS and think about scalability) and Reiser is really good for others.

[1] http://oss.sgi.com/projects/xfs/papers/filesystem-perf-tm.pdf

Considering it is GPL, no.

Anonymous
on
December 8, 2004 - 8:57am

Considering it is GPL, no.

OTFS should be free

Anonymous
on
December 7, 2004 - 7:07pm

Wasabi systems (or whoever legally owns the code) should open up OTFS (WasabiJFS); they have it already working on netbsd for years. Pity it's proprietary...

GUI wishlist(X way)

on
December 8, 2004 - 4:03am

FreeBSD - server OS. But many people use it as desktop OS(me for example(more than 2 years)). And as I know there are no any gui tools for profesional configuring, managing or installing FreeBSD components.

I know that gui is user level so it is not FreeBSD team problem, but we can`t say that this way of developing OS is not preffered for a feature.

And I`d like to say that xorg and xfree have a good generic drivers mostly for any video cards(possibly in vesa mode or any other) so graffical starting of freebsd boot process(may be dual boot- gui and console) is not hard to make.

Percent of 'not_advanced_users' is very large and gui is a first door for logining FreeBSD into this 'percent'

Just look at MacOS. It is unix, and more - it is FreeBSD- but with a nice gui 8).

Computers for now can eat any of graffical environment - they have such power, so it is not a problem.

to njc - ncurses installer is nice - but not good for "enterprise" segment. Sorry but it is true. May be in that wish-list You forgot to add ncurses-"gui" wrapper(gtk2,fltk2,qt or any other popular) into FreeBSD.

I know U say me that X is not FreeBSD but it will be very nice to see in one of cvsup src-all updates xorg full tree sources with nice FreeBSD-core team support and full xorg team power and of couse full gui installer and configure tool.

It is not hard to do. All people that use XFreeBSDDesktop do many movement with installing it so why team can`t help with it?(full X sources+xfce sources has near 50MB in tar.bz2)

look at FreeBSD+X.org+Xfce - it it fast, configurable and small. Good security and localization. And of couse easy start.

May be nice will be make two cvs tag - desktop and server over STABLE and CURRENT branches so it will be desktop stable and current and server stable and current

ps.sorry for my English it is not my prefered language 8)

pps
WISH_LIST+=

X into main cvs tree
X FreeBSD installer (localization!!!)
X manager(simple and fully localized!!!) into main tree
X FreeBSD kernel tool (localization!!!)
X update tool (localization!!!)
X ports tool (localization!!!)
X QA tool (localization!!!)

hardware wishlist

Anonymous
on
December 8, 2004 - 4:22am

A nice GUI install wouldn't harm a server system during the initial install but would befit the OS with extra users and publicity.That's if it's working as it should and logically implemented.For a server instalation just don't install everything X related stuff.Elementary peripherals such as CD/DVD-+r ,floppy,mice,sound-card,printer should run automatically out of the box.

Re: GUI Wishlist (X way)

on
December 8, 2004 - 2:53pm

podarok - I did not compile the projects wish-list, the Release Engineer and core team member of FreeBSD Scott Long did. I have no formal association with the FreeBSD project.

The core team has been looking at replacements for the ncurses installer for a very long time, but it has been hard for them to come to an agreement as a development group. Among other things, some freebsd users like the ncurses install because it's lightweight and does not require the intensive resources that an X-based installer would. In general, the core team is attempting to find an installer that can have an interchangeable light-weight front-end and a nicer GUI front-end. They are also looking to improve the installation logic to make it both more friendly to backtracking and errors.

#error DEVICE_POLLING is not compatible with SMP

Anonymous
on
December 8, 2004 - 2:03pm

Subject says all.

Re: #error DEVICE_POLLING is not compatible w/ SMP

on
December 8, 2004 - 2:39pm

Device polling actually does work with SMP, you just have to comment out that error message as well as a couple other lines in /usr/src/sys/kern/kern_poll.c. The error was intended as a precaution because, at the time, dev wasn't positive that SMP would benefit device polling. As it turns out, SMP does benefit device polling and it is possible to get this configuration to work without issue. See: Tuning FreeBSD for different applications for more information.

FireFlyBSD

Anonymous
on
December 8, 2004 - 5:44pm

Crescent Anchor's commerical FireFlyBSD has a working journalling file system... It would be nice of the other BSD's got a peek at that..

Gvinum Documentation

Edd (not verified)
on
January 31, 2005 - 8:34am

Id like to see some documentation in the handbook for gvinum. Im very confused with the state of the software RAID implementations. Whats going on here?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.