rohc team mailing list archive
-
rohc team
-
Mailing list archive
-
Message #01836
Re: 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:
signature.asc
Description: PGP signature
References