[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] Mirage on Xen/ARM status



On 19 Jun 2014, at 15:06, Dave Scott <Dave.Scott@xxxxxxxxxx> wrote:
> 
> On 19 Jun 2014, at 14:36, Richard Mortier <Richard.Mortier@xxxxxxxxxxxxxxxx> 
> wrote:
> 
>> 
>> On 19 Jun 2014, at 12:24, Thomas Leonard <talex5@xxxxxxxxx> wrote:
>> 
>>> Perhaps the ones complement stuff should be moved out of
>>> mirage-platform anyway? It seems to be specific to networking, rather
>>> than to any particular platform. I see there's also a third version in
>>> the ns3 directory, which always returns zero.
>> 
>> yes; ones complement checksums are used in several IP protocols. i don't 
>> know that they're used elsewhere (storage, etc). i guess efficient 
>> implementations are likely to be platform specific, though perhaps one would 
>> expect the compiler to dtrt rather than hand tweaking.
> 
> IIRC the reason the checksum code didn’t get moved out of the platform tree 
> when the network stack itself was moved out was because we don’t have the 
> right build/link magic to include C code from other libraries.

This is exactly why it's in platform (along with all the other C bindings).  
Thomas, does the new installation scheme for MiniOS help with making the MiniOS 
headers available for other libraries to compile against them?  I'd be very 
happy to move these stubs into mirage-tcpip and make them easier to maintain.

> I’m not sure if ones complement checksums are used in storage. However I 
> believe the CRC polynomial used by iSCSI (and btrfs?) is now implemented in 
> Intel CPUs. Perhaps one day our OCaml CRC library will have optimised asm 
> code for several platforms (generated via some staged compilation from some 
> OCaml source I’m sure)

Yes, in SSE 4.2 I believe.  Completely randomly, I also noticed that the STTNI 
instructions also provide faster ways of doing substring searching that may be 
useful to expose in the Re engine if the speedup justifies the complexity:

http://www.strchr.com/strcmp_and_strlen_using_sse_4.2

-anil
_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.