[intel-platform-discuss] Code review for several MONITOR/MWAIT idle loop CRs
johansen-osdev at sun.com
johansen-osdev at sun.com
Wed Aug 29 12:53:05 PDT 2007
Ah, yeah. If we don't ever free or reallocate these, then my suggestion
doesn't make a whole lot of sense. Sorry.
-j
On Wed, Aug 29, 2007 at 12:28:51PM -0700, Bill Holler wrote:
> The original implementation (pre-ON-putback) used a kmem_cache
> which took care of the alignment issues as you mentioned. :-)
> We changed the implementation to use kmem_alloc() during the
> original review due to the memory overhead as Joe noted.
>
> Thank you,
> Bill
>
>
> Joe Bonasera wrote:
> >
> > Creating a kmem cache for these would waste lots of memory.
> > Distinct caches have lots of overhead, especially given we
> > allocate just one of these per processor and don't ever free
> > or re-allocate them.
> >
> > johansen-osdev at sun.com wrote:
> >> Bill,
> >> These changes generally quite good. The only thing that I would
> >> consider changing would be the use of kmem_alloc() and size_actual,
> >> buf_actual in the struct mwait_info.
> >>
> >> If you instead use kmem_cache_alloc() for these structures, you can
> >> specify the required alignment when you create the cache as part of
> >> kmem_cache_create(). This assumes that all mwait_info structs will need
> >> to be aligned to the same boundaries. (I don't know if that's a safe
> >> assumption in this case.)
> >>
> >> Hope that helps,
> >>
> >> -j
> >>
> >>
> >> On Tue, Aug 28, 2007 at 04:14:45PM -0700, Bill Holler wrote:
> >>> http://cr.opensolaris.org/~bholler/mwait_fixes
> >>>
> >>> Here is a webrev code review for the following idle loop MONITOR/MWAIT
> >>> CRs (Change Requests):
> >>>
> >>> 6577948 <http://monaco.sfbay.sun.com/detail.jsp?cr=6577948>
> >>> mach_alloc_mwait leaks memory when a CPU fails to start
> >>> 6588054 <http://monaco.sfbay.sun.com/detail.jsp?cr=6588054> panic()
> >>> in mach_alloc_mwait() should be changed to degraded operation...
> >>> 6596141 <http://monaco.sfbay.sun.com/detail.jsp?cr=6596141> Solaris
> >>> should not use an unmodified MWAIT idle loop on AMD 10h due to
> >>> increased power consumption
> >>>
> >>>
> >>> While these are relatively low priority, I want to get these in soon
> >>> for
> >>> maximum S10U5 soak time.
> >>>
> >>> Testing completed:
> >>> 1) The x86 build of this kernel has passed ON PIT DIY. The SPARC build
> >>> is currently in ON PIT DIY and looks ok. (There are no common
> >>> changes
> >>> that should effect SPARC.)
> >>> 2) libmicro did not regress.
> >>> PERF PIT is not planned as these are enable/disable changes
> >>> which should
> >>> not change performance in either state.
> >>> 3) The memory leak is fiked in unit testing with all non-boot cpus
> >>> forced to
> >>> fail to online using cpufailset debug hook.
> >>> 4) My desktop has been running this for 2 weeks without incident.
> >>>
> >>> Ongoing testing:
> >>> 1) Barcelona testing is ongoing.
> >>> 2) 6588054 error injection testing is ongoing.
> >>>
> >>> Thank you,
> >>> Bill Holler
> >>>
> >>> _______________________________________________
> >>> intel-platform-discuss mailing list
> >>> intel-platform-discuss at opensolaris.org
> >>> http://mail.opensolaris.org/mailman/listinfo/intel-platform-discuss
> >> _______________________________________________
> >> intel-platform-discuss mailing list
> >> intel-platform-discuss at opensolaris.org
> >> http://mail.opensolaris.org/mailman/listinfo/intel-platform-discuss
> >
>
> _______________________________________________
> intel-platform-discuss mailing list
> intel-platform-discuss at opensolaris.org
> http://mail.opensolaris.org/mailman/listinfo/intel-platform-discuss
More information about the intel-platform-discuss
mailing list