From: Stephen H. <she...@os...> - 2004-04-29 20:40:21
|
Overall TIPC 1.3 comments: * README seems out of date * Configuration by module parameters is bad because in most standard environments, module loading is done automatically. * Need 2.6 only, no standalone build environment No extra CFLAGS in Makefile please * Hard coding clusters, zones, nodes maximum makes it impossible for distro vendors to ship a standard kernel. * having own caching allocator, if you insist on caching then use kmem_cache_alloc. * it links to network devices, but does not handle up/down/unregister notifications. THIS IS A SHOWSTOPPER * holds references to network devices without holding reference counts. THIS IS A SHOWSTOPPER * why own version of wait_event_interruptible? * excessive use of /proc to provide interface. /proc is okay as a statistical interface, not a control channel! * your socket locking is a mess. What is wrong with lock_sock()? * you invent your own socket queues, there are standard macros to do that. * get rid of all the macros in tipc_adapt.h err, warn, info, dbg, ... use the standard macros in kernel.h * hardcoding device names 'eth0,eth1,eth2,...' in code and configuration is unacceptable. What about other media types and netdevice names can be anything the administrator wants. tipc.h - cplusplus support not usually done in linux header files - get rid of typedef's for tipc_net_addr_t, tipc_ref_t kernel standard is to not use typedef's if possible - tipc_addr,zone,cluster,node using inline instead would gain type checking - no IPV6 support, would probably be a show stopper for many people addr.c * global variable, buffers's waiting to be overwritten, ugh. * k_time_ms == jiffies_to_clock_t * The whole TIPC_MAGIC in header crap looks a trap waiting to happen That is enough for now, that is just what I found in a 15min quick look. If Viro saw it, he wouldn't be as nice ;-) |