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