Thread Previous • Date Previous • Date Next • Thread Next |
Greetings, I have attached the patch to address the following kernel module issues: - 64-bit division - Oversized stack frames leading to crashes I have also attached the pcapng file for my HTTP problem. I see some DUP ACK messages but I can't tell what the issue is. Hopefully the attachment makes it through, as it is about 700k. Your help is appreciated. :-) -Alex -----Original Message----- From: Rohc [mailto:rohc-bounces+alex.charissis=ge.com@xxxxxxxxxxxxxxxxxxx] On Behalf Of Didier Barvaux Sent: Wednesday, February 25, 2015 3:47 PM To: ROHC Library Subject: Re: [Rohc] 32-bit Compatibility? Hello, > > I tested on ARM. I confirm the problem for the kernel module. > > Using the do_div macro for the kernel, I was able to remedy the 64-bit > division issue. This may already be in the patch in my last message. Great! I'll check this deeper next weekend and commit it. > >> Is it possible my patch is causing the crash? I've turned tracing > >> on but kernel panics usually prevent me from figuring out the exact > >> point of the crash. > > > Probably not if it happens with TCP traffic. > > Correct, it turns out that the large stack frame (below) is the cause > of the kernel crashes. Thank you for the confirmation! > >> I also get the following warnings when building from master: > >> src/decomp/d_tcp.c:880:1: warning: the frame size of 16376 bytes is > >> larger than 1024 bytes [-Wframe-larger-than=] > >> src/decomp/rohc_decomp_rfc3095.c:1671:1: warning: the frame size of > >> 1096 bytes is larger than 1024 bytes [-Wframe-larger-than=] > > > Yes, I know those 2 warnings. I defined large structs as local > > variables, so the stack became quite big. I have yet to figure out > > how to achieve the same job without them. I don't know if large > > stacks may cause problems in the kernel or not. > > I've done some refactoring to dynamically allocate the > rohc_tcp_extr_bits and rohc_tcp_decoded_values structures. Also > passing those structures in by reference also seems to shrink the size > of the stack frame for d_tcp_decode(). No more crashes and the TCP > profile appears to work! :-) Great! Please send me your patch. I'll try to integrate it in master so that the kernel module works fine for everyone. > I am still seeing some issues with > some content-heavy HTTP requests, but these may still be open issues. Probably. Send me a network capture to be sure. If it is not a bug I encountered (and fixed in my testing branch), I'll analyse the problem and try to fix it. Regards, Didier
Attachment:
rohc-2_0_0-AAC.patch
Description: rohc-2_0_0-AAC.patch
Attachment:
rohc-2_0_0-httpAAC.pcapng
Description: rohc-2_0_0-httpAAC.pcapng
Thread Previous • Date Previous • Date Next • Thread Next |