svn commit: r286223 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Slawa Olhovchenkov slw at zxy.spb.ru
Mon Aug 3 11:03:42 UTC 2015


On Mon, Aug 03, 2015 at 11:31:58AM +0100, Steven Hartland wrote:

> On 03/08/2015 10:47, Slawa Olhovchenkov wrote:
> > On Mon, Aug 03, 2015 at 09:34:10AM +0000, Steven Hartland wrote:
> >
> >> Author: smh
> >> Date: Mon Aug  3 09:34:09 2015
> >> New Revision: 286223
> >> URL: https://svnweb.freebsd.org/changeset/base/286223
> >>
> >> Log:
> >>    Fix KSTACK_PAGES check in ZFS module
> >>    
> >>    The check introduced by r285946 failed to add the dependency on
> >>    opt_kstack_pages.h which meant the default value for the platform instead
> >>    of the customised options KSTACK_PAGES=X was being tested.
> >>    
> >>    Also wrap in #ifdef __FreeBSD__ for portability.
> > /usr/src/sys/kern/kern_proc.c:int kstack_pages = KSTACK_PAGES;
> >
> > May be check variable kstack_pages is best way?
> > Eliminate dependency on foreign opt_XXXX.
> >
> I did think of that but as other modules such as dtrace, which is also 
> cddl code, already have this dependency I went with this.
> 
> I'm easy though, if there's a concusses that kstack_pages or possibly 
> curthread->td_kstack_pages, which would take into account the 
> possibility of varied thread stack sizes, then I can make that change.
> 
> What do others think?

ZFS currently don't have true direct dependency from KSTACK_PAGES (no
code like this:

/usr/src/sys/i386/i386/mp_machdep.c:            bootSTK = (char *)bootstacks[cpu] + KSTACK_PAGES * PAGE_SIZE - 4;

This is simple guard check. I.e. change KSTACK_PAGES don't want
recompile zfs.ko.

And less work to somebody converted KSTACK_PAGES to loader tunable.
Most of this code already may be conveted to use kstack_pages w/o
performance impact.
Only 5 lines in 3 asm files need some more work.


More information about the svn-src-head mailing list