Re: FW: ccid2/ccid3 oopses

2008-01-09 Thread Gerrit Renker
Roland, -

 apparently, i got crashes when loading/unloading other driver modules just
 after ccid2 or ccid3 had been loaded/unloaded _once_ (have not used them at
 all, just modprobe module;modprobe -r module) 
 
snip
 the easiest way to reproduce is:
 
 while true;do modprobe dccp_ccid2/3;modprobe -r dccp_ccid2/3;done
 after short time, the kernel oopses (messages below)
 
 i`m not sure if this is worth to be filed at kernel bugzilla, so i`m 
 contacting
 you personally first.

The issue is known: once loaded, the DCCP modules can not be unloaded
without causing a crash as the one you have observed. This is due to the
fact that dccp_ipv{4,6} use control sockets which need to be released
before the module can be unloaded.
When the control sockets are not released then crashes will always
result.
In earlier versions of DCCP there was a kernel option known as unload hack,
which conditionally inserted 
sock_release(dccp_v{4,6}_ctl_socket);
in 
dccp_v{4,6}_exit()

However, as the name says, it is a hack since there are other issues to 
be considered:
* sockets in timewait state
* other wait states (e.g. half-open connections)
* memory which has not been released
* module dependencies

With regard to the latter, I am normally using the Unload Hack and
release modules in the following order:

dccp_probe = dccp_ccid2 = dccp_ccid3 = dccp_tfrc_lib =
dccp_ipv6  = dccp_ipv4  = dccp_diag  = dccp

Long story short
 * the CCID/DCCP modules can currently not safely be unloaded
 * maybe we should disable module unloading for the mainline kernel
 * if anyone is interested to use the unload hack, here is the old patch
   http://www.erg.abdn.ac.uk/users/gerrit/dccp/testing_dccp/Unload_Hack.diff

Please feel free to come back on this issue
Gerrit
-
To unsubscribe from this list: send the line unsubscribe dccp in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: FW: ccid2/ccid3 oopses

2008-01-09 Thread Arnaldo Carvalho de Melo
Em Wed, Jan 09, 2008 at 12:28:27PM +, Gerrit Renker escreveu:
 Roland, -
 
  apparently, i got crashes when loading/unloading other driver modules just
  after ccid2 or ccid3 had been loaded/unloaded _once_ (have not used them at
  all, just modprobe module;modprobe -r module) 
  
 snip
  the easiest way to reproduce is:
  
  while true;do modprobe dccp_ccid2/3;modprobe -r dccp_ccid2/3;done
  after short time, the kernel oopses (messages below)
  
  i`m not sure if this is worth to be filed at kernel bugzilla, so i`m 
  contacting
  you personally first.
 
 The issue is known: once loaded, the DCCP modules can not be unloaded
 without causing a crash as the one you have observed. This is due to the
 fact that dccp_ipv{4,6} use control sockets which need to be released
 before the module can be unloaded.
 When the control sockets are not released then crashes will always
 result.
 In earlier versions of DCCP there was a kernel option known as unload hack,
 which conditionally inserted 
   sock_release(dccp_v{4,6}_ctl_socket);
 in 
   dccp_v{4,6}_exit()
 
 However, as the name says, it is a hack since there are other issues to 
 be considered:
   * sockets in timewait state
   * other wait states (e.g. half-open connections)
   * memory which has not been released
   * module dependencies
 
 With regard to the latter, I am normally using the Unload Hack and
 release modules in the following order:
 
   dccp_probe = dccp_ccid2 = dccp_ccid3 = dccp_tfrc_lib =
 dccp_ipv6  = dccp_ipv4  = dccp_diag  = dccp
 
 Long story short
  * the CCID/DCCP modules can currently not safely be unloaded
  * maybe we should disable module unloading for the mainline kernel
  * if anyone is interested to use the unload hack, here is the old patch
http://www.erg.abdn.ac.uk/users/gerrit/dccp/testing_dccp/Unload_Hack.diff

Gerrit, the control socket isn't attached to any CCID module, so the
CCID modules should be safe to remove, and IIRC they were safe to
unload.

The unload hack was for something else, for the core DCCP modules. We
can't unload because there are refcounts held by the control sock, so
the unload hack would just destroy the control sock and thus the module
refcount would reach zero and it could then be unloaded.

I've been consistently being sidetracked with work (huh :-)) and
couldn't look at this issue, but the CCID modules should be safe to
unload.

- Arnaldo
-
To unsubscribe from this list: send the line unsubscribe dccp in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: FW: ccid2/ccid3 oopses

2008-01-09 Thread Gerrit Renker
|   the easiest way to reproduce is:
|   
|   while true;do modprobe dccp_ccid2/3;modprobe -r dccp_ccid2/3;done
|   after short time, the kernel oopses (messages below)
|   
snip
| 
| Gerrit, the control socket isn't attached to any CCID module, so the
| CCID modules should be safe to remove, and IIRC they were safe to
| unload.
| 
Ah, right. I have misread the email. And can confirm the above: running
the for-loop at the top of the message (60 seconds uninterrupted for
CCID2,3 each) brought no oopses.
So maybe the cause triggering this oops is somewhere else.
-
To unsubscribe from this list: send the line unsubscribe dccp in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [dccp] question about CCID3

2008-01-09 Thread Burak Gorkemli

Zhao,



Have you tried working with 2.6.20 (along with Ian's patches)? I recall having 
similar problems with versions other than 2.6.20. Also getting Gerrit's latest 
tree should fix your problems.



BTW, DCCP Linux Implementation mailing list, which is included in Cc, is a 
better place to post such mails.



BR

--

Burak



- Original Message 

From: jerry zhao [EMAIL PROTECTED]

To: [EMAIL PROTECTED]

Sent: Wednesday, January 9, 2008 5:36:18 PM

Subject: RE: [dccp] question about CCID3



   

 You are probably behind a firewall.

  

 B.R.

 Vladimir.

Hello  Vladimir.,

thanks for your reply. I don't think firewall is the reason. Because I have 
tested the performance of DCCP when ccid2 was used. In this situation, the DCCP 
worked fine. Now, I attached the result of CCID2 to the attachment.  



Best regards,

Zhao

 



-
To unsubscribe from this list: send the line unsubscribe dccp in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html