Date: Sun, 1 Jun 2014 17:14:54 +0100 From: "Steven Hartland" <killing@multiplay.co.uk> To: "Nathan Whitehorn" <nwhitehorn@freebsd.org>, <freebsd-hackers@freebsd.org>, <freebsd-fs@freebsd.org> Subject: Re: fdisk(8) vs gpart(8), and gnop Message-ID: <8D276E03788643A39AABD6A7127B21A0@multiplay.co.uk> References: <20140601004242.GA97224@bewilderbeast.blackhelicopters.org> <CAOjFWZ5N9FGwgSz0_YFNQjavzdJDitRn52VKn4ipW1ddj6-weQ@mail.gmail.com> <BCA9F5D6-3925-4E7E-9082-128652508305@FreeBSD.org> <3D6974D83AE9495E890D9F3CA654FA94@multiplay.co.uk> <538B4CEF.2030801@freebsd.org> <1DB2D63312CE439A96B23EAADFA9436E@multiplay.co.uk> <538B4FD7.4090000@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
----- Original Message ----- From: "Nathan Whitehorn" <nwhitehorn@freebsd.org> To: "Steven Hartland" <killing@multiplay.co.uk>; <freebsd-hackers@freebsd.org>; <freebsd-fs@freebsd.org> Sent: Sunday, June 01, 2014 5:07 PM Subject: Re: fdisk(8) vs gpart(8), and gnop > On 06/01/14 09:00, Steven Hartland wrote: >> >> ----- Original Message ----- From: "Nathan Whitehorn" >> <nwhitehorn@freebsd.org> >> To: <freebsd-hackers@freebsd.org>; <freebsd-fs@freebsd.org> >> Sent: Sunday, June 01, 2014 4:55 PM >> Subject: Re: fdisk(8) vs gpart(8), and gnop >> >> >>> On 06/01/14 08:52, Steven Hartland wrote: >>>> ----- Original Message ----- From: "Mark Felder" <feld@freebsd.org> >>>> >>>>> On May 31, 2014, at 20:57, Freddie Cash <fjwcash@gmail.com> wrote: >>>>> >>>>>> There's a sysctl where you can set the minimum ashift for zfs. >>>>>> Then you >>>>>> never need to use gnop. >>>>>> >>>>>> I believe it's part of 10.0? >>>>> >>>>> I've not seen this yet. What we need is to port the ability to set >>>>> ashift at pool creation time: >>>>> >>>>> $ zpool create -o ashift=12 tank mirror disk1 disk2 mirror disk3 disk4 >>>>> >>>>> I believe the Linux zfs port has this functionality now, but we >>>>> still do not. >>>> >>>> We don't have that direct option yet but you can achieve the >>>> same thing by setting: vfs.zfs.min_auto_ashift=12 >>>> >>> Does anyone have any objections to me changing this default, right >>> now, today? >>> -Nathan >> >> I think you will get some objections to that, as it can have quite an >> impact >> on the performance for disks which are 512, due to the increased >> overhead of >> transfering 4k when only 512 is really required. This has a more dramatic >> impact on RAIDZx due too. >> >> Personally we run a custom kernel on our machines which has just this >> change >> in it to ensure capability with future disks, so I can confirm it does >> indeed >> have the desired effect :) > > So the discussion here is related to what to do about the installer. The > current ZFS component unconditionally creates gnops all over the place > to set ashift to 4k. That's across the board worse: it has exactly the > performance impact of changing the default of this sysctl (whatever that > is), it can't easily be overridden (which the sysctl can), and it's a > horrible hack to boot. There are a few options: > > 1. Change the default of vfs.zfs.min_auto_ashift > 2. Have the same effect but in a vastly worse way by adjusting the > installer to create gnops > 3. Have ZFS choose by itself and decide to do that permanently. > > Our ATA code is good about reporting block sizes now, so (3) isn't a big > issue except for the mixed-pool case, which is a huge PITA. > > We need to choose one of these. I favor (1). I wasn't aware of that but it should do #3 min_auto_ashift is a bigger discussion. Regards Steve
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8D276E03788643A39AABD6A7127B21A0>