[openbeosnetteam] Re: Website questions

Can you post a patch?

david

----- Original Message ----- 
From: "Philippe Houdoin" <philippe.houdoin@xxxxxxx>
To: <openbeosnetteam@xxxxxxxxxxxxx>
Sent: Thursday, April 25, 2002 2:39 AM
Subject: [openbeosnetteam] Re: Website questions


> > The main reason (nad BTW why the hell are ew talking about this now 
> when the
> > code is still some weeks away from being needed) is that the stack 
> becomes
> > part of the kernel. I envisage that unless you say you want NO 
> networking,
> > it gets loaded the same way the other parts of the kernel do. What 
> you then
> > do with them is your concern...
> > 
> > Also, one big reason for being able to unload protocols is to allow 
> fo on
> > the fly upgrades (if we can get it to work correctly) which would be 
> very
> > cool. Anyway, can we regard this as finished and move onto actually 
> fixing
> > bugs?
> 
> Being able to unload any kernel modules, "core" included, could greatly 
> reduce the number of reboot, KDL trip apart obviously, and could 
> increase the 
> code/debug/test cycle:
> 
> Here what I get by this night:
> 
> From one Terminal, stack not being started yet:
> $ echo start > /dev/net/stack (yep, starting/stopping a "stack" make 
> more sense than a "socket")
> 
> KERN 'sh'[323]: net_stack_driver: init_driver, built Apr 25 2002 
> 02:56:24
> KERN 'sh'[323]: core: B_MODULE_INIT [module built Apr 25 2002 03:18:05]
> KERN 'sh'[323]: net_stack_driver: init_driver: core = 0x603a0c00
> KERN 'sh'[323]: net_stack_driver: net_stack_open(net/stack, O_WRONLY)
>  
> return this cookie: 0x0245e110
> KERN 'sh'[323]: net_stack_driver: net_stack_write(0x0245e110, 0, 
> 0x80087f20, 6)
> KERN 'sh'[323]: net_stack_driver: keep_driver_loaded: internaly opening
>  
> /dev/net/stack to stay loaded in memory...
> KERN 'sh'[323]: net_stack_driver: net_stack_open(net/stack, O_RDONLY)
>  
> return this cookie: 0x0245e190
> KERN 'sh'[323]: net_stack_driver: net_stack_close(0x0245e110)
> KERN 'sh'[323]: net_stack_driver: net_stack_free(0x0245e110)
> > Notice that the driver is not uninit_driver()'ed here: "core" is 
> still loaded (and working) 
> ...
> 
> From another Terminal, sometime after...
> 
> $ echo stop > /dev/net/stack
> 
> KERN 'sh'[334]: net_stack_driver: net_stack_open(net/stack, O_WRONLY)
>  
> return this cookie: 0x02912fa8
> KERN 'sh'[334]: net_stack_driver: net_stack_write(0x02912fa8, 0, 
> 0x80087f20, 7)
> KERN 'sh'[334]: net_stack_driver: unload_driver: unload requested.
> KERN 'sh'[334]: net_stack_driver: net_stack_close(0x0245e190)
> KERN 'sh'[334]: net_stack_driver: net_stack_free(0x0245e190)
> KERN 'sh'[334]: net_stack_driver: net_stack_close(0x02912fa8)
> KERN 'sh'[334]: net_stack_driver: net_stack_free(0x02912fa8)
> KERN 'sh'[334]: net_stack_driver: uninit_driver
> KERN 'sh'[334]: core: B_MODULE_UNINIT
> 
> All the kernel modules on this test were build WITHOUT the 
> B_KEEP_LOADED flag, "core" included.
> That means, in no KDL crash case , you just have to exit all network 
> apps still using the stack (if any), run "echo stop /dev/net/stack" 
> to unload all the kernel stack from memory, and you'll be able to 
> update ANY part of the kernel stack, the driver, any modules.
> Without rebooting.
> 
> Okay, maybe some memory leak will stay in kernel space until we fix all 
> of them in stack code :-(
> 
> To add this support, I've made some big change to the driver (yep, even 
> the name of the driver), tell me if you want this support in CVS?
> 
> -Philippe
> 
> 
> --
> Fortune Cookie Says:
> 
> As Will Rogers would have said, "There is no such things as a free
> variable."
> 
> 
> 


Other related posts: