On Mar 15, 10:11am, p...@whooppee.com (Paul Goyette) wrote: -- Subject: Re: compat work.
| (Adding tech-kern@ to cc) | | Such "factoring out" is far beyond my capabilities, especially when we | get into areas such as the networking code. There are just too many | parts of the system which I do not adequately understand. | | I can either maintain the current capabilities, warts and all, or I can | abandon the effort. There is just too much spaghetti code already, and | too much "compat_xx" code which is only reachable when built-in. | | It would have been much more appreciated if you had done your work on | the branch, rather than completely invalidating the work I'd already | done. I will fix your branch. And you can ask others (or me) to refactor code as you need. It is going to be really difficult to maintain and debug the code if we we replace the ifdefs with weak variable conditionals when it is already a mess. At least now we can run unifdef the kernel code to remove the compat code. In the future this will become even more difficult. Perhaps we should leave a single ifdef in for that? The goal should be to disentangle the compat code and move it out of the main source tree leaving out the minimum number of touchpoints (variables and functions) and not compat code segments. There is also the open question of locking as the variables/pointers can change while modules load and unload. What's the plan to handle that? christos