Hi,
It seems like I have missed to do 'commit' on my removal of the core
directory, so you get two versions of all files. That is corrected now.
I had to remove the 'core' directory and move all the code there up to
the net/tipc directory, rename 'tipc_buf' to 'sk_buff' etc., plus a lot
of other
cosmetic changes.
I really hated to do this, but everybody keep telling me that this must
be done
to make the code acceptable for the Linux kernel community.
Despite these changes, I have note touched the real basics of
portability, the
use of the tipc_*.h files etc. After all, names such as sk_buff,
spin_lock_bh()
etc can easily be remapped to other OS:es by a few #defines in
tipc_adapter.h.
But it is clear that the distinction between what is core code and what
is adaptation code is not as visible as before, so special care must be
taken to maintain this distinction in the code.
The state of my 'unstable' code is the following:
- It compiles, at least on 2.4 , and you can do insmod/rmmod with
the module, mainly because most of the start-functions are disabled.
- I have removed the tipc_big_lock, and am instead introducing locks
at micro-level in each function or each file. I have introduced
a few of those, but some remains to be done there. This also implies that
I will have to "detach" certain upcalls from the link_reset() calls,
by using signals. This is quite sensitive and tricky work, but I have a
fairly
clear idea about how do do it. I can explain it separately if you
want to take that challenge, otherwise, this is the next thing I will do, as
soon as my draft is out the door, hopefully by next week.
- The cleanup of memory must be done per file/function via
tipc_stop() now, and this is still not completely done. This is also
tricky, since the order in which we stop the different functions
is important.
Otherwise the code is complete, and should be ready for testing
and debugging.
I suggest that you start with the tipc_start()/tipc_stop()
functions, just ensuring that we can do insmod/rmmod without
any crashes, but without starting any traffic. My locks must
definitely be in place before we can start that last part.
Regards /Jon
Guo, Min wrote:
>Hi, Jon
>
> I tried the code on the Linux kernel 2.4.20 and found the unstable code can not run.
>
> After I read your code, I found some problems
>
> 1. Some function are left as blank or unavailable ,such as named_init().
> 2. No big lock for tipc is not available.
> 3. there are identical function in the files which can be found in the different directory with the same name, such as both Name_table.c and core/Name_table.c have
> function nametbl_stop
>
> We would like to help you complete the unstable version, if you agree, could you please write a simple name translation table to us,such as original named to name_distr? We also glad to know the unimplemented and unavailable function in the unstable version but available in the stable_ericssion version.
>
>Thanks
>Guo Min
>The content of this email message solely contains my own personal views,
>and not those of my employer.
>
>
|