[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

things to do



in response to a thread about the faq, dropped patches, time constraints 
of developers, and the meaning of life, this is a "things that might be 
nice".  see also: phk's junior kernel hacker list.

first off, this is basically my personal interest list.  it doesn't even 
reflect things that may make it into the src tree had i done them myself.  
but maybe it will highlight things that can be worked on.

certain types of work are not needed/wanted.  bad "help out" projects
include converting rc.conf to XML, an opengl interface to config(8), 
rewriting sed in c#, ....  if you want to help, just watch the cvs changes 
mailing list for what's going on.  last week, bgpd and dhclient saw some 
action.  new code under development is a good place to look for memory 
leaks, incorrect malloc/strdup/.../ handling, basic stuff.

don't ask "do you want ... done?" unless it takes a lot of time to do.  i 
think most developers are more excited by "here's a patch to fix mem leak 
in waka.c" than "there's a mem leak.  do you want a patch?".  now 
don't go rewriting the whole program.  send a small patch to show you 
know what's up and work from there.  anyway, that's the kind of thing i'd 
be more into.

as for my projects, these are mostly kernel based.  if you're really 
interested, i can offer some hints about how to proceed, but if you have 
to ask "what is that?", it's best to skip ahead an item.

i had been trying to keep projects at www.zeitbombe.org/openbsd.html, but 
then just recording the todo list went onto the todo list.  so without 
further ado, things i've worked on, wanted to work on, or at least thought 
about.

- dri.  port code from freebsd.  also a netbsd port of dri, which may 
help.

- bufs and bufq.  B_LOCK/B_BUSY flag in bufs is kinda messy.  notably, it 
prevents the bufq layer from holding a buf.  this would be nice, so that 
notebook disk writes can be queued indefinitely.  currently, you deadlock 
when a second reuest comes in.  fix it to use rw locks or ref counts.  
something so that allocbuf won't steal the mem, but lets us hold off 
pushing it to disk.

- use rwlocks.  kill a couple random lockmgr we don't need.  and 
especially kill the various foolock() tsleep/flag loops sprinkled all over 
the kernel.

- audio blending.  allow multi open and mix the streams.

- dev cloning.  this would help the above, but isn't necessary.  new flag 
to cdevsw that says "make a new vnode".

- syanptics touchpad driver.  instead of using plain ps/2 emulation, it 
would be nice to enable absolute mode, so i can disable the 'tap is click' 
functionality.

- vfs fixing.  make union, null, and everything else actually work.

- new fs.  webfs, ftpfs, sshfs, ..., probably using portal, which needs 
fixing too.  would also be cool to have sysctl nodes under /kern/sysctl or 
so.

- ULE from freebsd.  it's mostly developed to handle HT cpus, but can help 
UP too.  this should not be too hard, once you get past the thread 
conversion and asm chunks.

- ufs2.  some of it's in.  look at changes in sys/ufs/ufs to see how to 
proceed.

- indent.  non-kernel work.  make the indent program produce style(9) 
conformant output by default.  this may be easier as a rewrite, possibly 
in perl.

- exec ET_DYN files.  currently, only ET_EXEC can be run.

- remove block devices, or more accurately, make them synonymous with 
character devices.

- /proc/pid/fds  permit opening another proc's fds.  steal some code from 
fdescfs.

- vfs locking.  compile a kernel with LOCKDEBUG.  watch it blow up.

- jails.  do something like freebsd's thing, but make it more extensive.  
marko zec write patches for freebsd that cloned just about every kernel 
global, so that fake hosts were more complete.

- convert my todo list to html, so i can stick it on my web page.

and now the big projects everybody likes to ask about.

ubc - if you can't send me a patch that fixes the page accounting fuckup 
under swapping/load, i don't want to hear about it.


-- 
we don't live
we just scratch on day to day
with nothing but matchbooks and sarcasm in our pockets