Wesley Shao wrote:
> 
> I would prefer this information be presented in an architected manner
> so it would work for both SPARC and x86 platforms and move the
> package/core/thread determination out of the driver and into kernel,
> wouldn't you agree?
> 

Yes. Essentially the only information I care about is whether two 'CPUs' 
(be they threads or real cores) contend on a cache or some other shared 
resource.

> BTW, do you care about SPARC platform for this particular device?
> 

Possibly in the future, but not at the moment.

> 
> I would argue that one driver instance cannot know the load on all
> system cpus, so some other entity with a global view of interrupt
> allocation would be better off to make the interrupt distribution
> decision.
> 
> Would you object to some userland management entity? It might require
> device drivers to provide some ioctl implementation.
> 

I would not object to a userland load balancer daemon as long as it's 
reasonably intelligent. It took Microsoft a long time to get their 2k8 
RSS balancer to the state it's in and it's still not always optimal. 
It's a tough algorithm to get right.
A global balancer may do best to give a driver as much information on 
CPU load as possible and request that it avoids CPUs with some 
particular load threshold. Only the device knows how it can 
re-distribute its load to best achieve this unless, as Windows does, you 
impose a rule that all network devices *must* support Toeplitz hashing 
and spread load according to a table provided by the OS.

   Paul
_______________________________________________
driver-discuss mailing list
driver-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to