[openib-general] mwrite64 - need for uar object in access layer

Troy Benjegerdes hozer at hozed.org
Mon Sep 20 23:11:18 PDT 2004


>     Michael> Looking at the non-SSE, 32 bit path, I would think you
>     Michael> want 3 spinlocks per UAR (for CQ, Send Q and Receive Q),
>     Michael> and not a global doorbell_lock. Granted, I dont know how
>     Michael> relevant any 32-bit non-SSE architectures are ...
> 
>     Michael> I conclude the access layer needs some interface to
>     Michael> manage UARs. It might seem tavor specific but I think
>     Michael> something like UAR is what everyone has to do anyway to
>     Michael> have OS bypass, right?
> 
>     Michael> Opinions?
> 
> Sounds interesting... I would be curious to see benchmarks for various
> schemes.  Exposing UARs to consumers seems a little bit of a layering
> violation but if it turns out to be a big win then it might be worth
> it.  Of course I'm not sure how interested in optimizing 32-bit
> architectures anyone is...


How does just using the floating point unit compare the the SSE
codepath? In a past life I had to get a flash driver for a 32 bit PPC board
working that *had* to have 64 bit access to flash.

The gross solution was using the FP unit to do all the load/stores. This
also meant I had to had to do __enable_fpu() and __disable_fpu() all
over the place and compile the .c file with '-mhard-float'.

The other advantage to this solution is it doesn't introduce a whole
bunch more ASM code we may not want...



More information about the general mailing list