Re: Heads up
On Thu, Apr 14, 2016 at 10:37 PM, Warren Blockwrote: > On Thu, 14 Apr 2016, Warner Losh wrote: > > >> On Thu, Apr 14, 2016 at 9:56 PM, Warren Block wrote: >> On Thu, 14 Apr 2016, Warner Losh wrote: >> >> The CAM I/O scheduler has been committed to current. This >> work is described >> in https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf >> though the >> default scheduler doesn't change the default (old) behavior. >> >> One possible issue, however, is that it also enables NCQ >> Trims on ada SSDs. >> There are a few rogue drives that claim support for this >> feature, but >> actually implement data corrupt instead of queued trims. The >> list of known >> rogues is believed to be complete, but some caution is in >> order. >> >> >> Is the list of drives queryable? Is there an easy way to tell if >> the currently-connected drives are on the list? >> >> >> /usr/src/sys/cam/ata/ata_da.c has the list. >> >> dmesg will tell you if it detected a bad one since it prints the drive's >> quirks. >> But that's no big deal, because the bad one work just fine if you never >> issue >> a NCQ TRIM. This small group of drives were early adapters of this >> technology >> >> Here's the full list of known rogues: >> >> Crucial/Micron M500 (all firmware prior to MU07) >> Micron M510 MU01 firmware (newer firmware is good) >> Crucial/Micron M550 MU01 firmware (newer firmware is good) >> Crucial MX100 MU01 firmware (newer firmware is good) >> FCCT M500 all firmware >> Samsung 830 all firmware >> Samsung 840 all firmware >> Samsung 850 all firmware >> >> All of these are at least 18 months old (if not older). There's some >> confusing in Linux lists on >> the full impact of the Samsung drives (there was a bug in the Linux >> implementation (that can't >> be present in the FreeBSD implementation) that may have been the root >> cause for the Samsung >> black listing). Out of an abundance of caution, I've kept them in the >> list. Also, it's my belief that >> the Crucial/Micron models with MU01 firmware were mostly corrected after >> early samples >> since most of the channel drives I've helped people debug had MU02 >> firmware. Also, a quick >> google search shows the MU02 firmware for each of these models has been >> available for >> at least a year. >> > > After updating a Dell E7240, booting showed a bunch of FPDMA errors and > then panicked after about 30 seconds. > > The SSD is a Samsung PM851 mSATA drive with firmware EXT4AD0Q. I believe > this is the OEM version of the Samsung 840 Evo. According to the Dell > support page, the machine shipped on January 22, 2015. So while the drive > might not have been manufactured in a while, Dell was still using them that > recently. Note that this is a used machine, I have only had it a week. > > After booting with mfsBSD, a quick fsck, and setting > kern.cam.ada.0.quirks=0x2 in /boot/loader.conf, it came up without errors > and appears to be working normally. What does "camcontrol identify" say for this drive? Sounds like a good candidate for a quirk... Thanks for testing. Warner ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: Heads up
On Thu, 14 Apr 2016, Warner Losh wrote: On Thu, Apr 14, 2016 at 9:56 PM, Warren Blockwrote: On Thu, 14 Apr 2016, Warner Losh wrote: The CAM I/O scheduler has been committed to current. This work is described in https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf though the default scheduler doesn't change the default (old) behavior. One possible issue, however, is that it also enables NCQ Trims on ada SSDs. There are a few rogue drives that claim support for this feature, but actually implement data corrupt instead of queued trims. The list of known rogues is believed to be complete, but some caution is in order. Is the list of drives queryable? Is there an easy way to tell if the currently-connected drives are on the list? /usr/src/sys/cam/ata/ata_da.c has the list. dmesg will tell you if it detected a bad one since it prints the drive's quirks. But that's no big deal, because the bad one work just fine if you never issue a NCQ TRIM. This small group of drives were early adapters of this technology Here's the full list of known rogues: Crucial/Micron M500 (all firmware prior to MU07) Micron M510 MU01 firmware (newer firmware is good) Crucial/Micron M550 MU01 firmware (newer firmware is good) Crucial MX100 MU01 firmware (newer firmware is good) FCCT M500 all firmware Samsung 830 all firmware Samsung 840 all firmware Samsung 850 all firmware All of these are at least 18 months old (if not older). There's some confusing in Linux lists on the full impact of the Samsung drives (there was a bug in the Linux implementation (that can't be present in the FreeBSD implementation) that may have been the root cause for the Samsung black listing). Out of an abundance of caution, I've kept them in the list. Also, it's my belief that the Crucial/Micron models with MU01 firmware were mostly corrected after early samples since most of the channel drives I've helped people debug had MU02 firmware. Also, a quick google search shows the MU02 firmware for each of these models has been available for at least a year. After updating a Dell E7240, booting showed a bunch of FPDMA errors and then panicked after about 30 seconds. The SSD is a Samsung PM851 mSATA drive with firmware EXT4AD0Q. I believe this is the OEM version of the Samsung 840 Evo. According to the Dell support page, the machine shipped on January 22, 2015. So while the drive might not have been manufactured in a while, Dell was still using them that recently. Note that this is a used machine, I have only had it a week. After booting with mfsBSD, a quick fsck, and setting kern.cam.ada.0.quirks=0x2 in /boot/loader.conf, it came up without errors and appears to be working normally. ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
FreeBSD_HEAD_i386 - Build #2858 - Fixed
FreeBSD_HEAD_i386 - Build #2858 - Fixed: Build information: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_i386/2858/ Full change log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_i386/2858/changes Full build log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_i386/2858/console Change summaries: 298027 by imp: Add FCCT M500 to the NCQ black list. Linux added it in 4.2 (August 2015). Correct the M500 firmware versions. EU07 was the engineering test version, not the release version with the fix. MU07 is the release version. It's the only Micron firmware version to actually work. Remove support for EU07. This brings the blacklist into parity with the Linux blacklist as of 4.5, except for the Micron M500 MU07 entry. I personally tested the MU07 firmware on 12 machines running 6 drives each with no corruption in the past 6 months with Netflix production loads. Prior versions of the M500 firmware wouldn't last more than a few days. Sponsored by: Netflix, Inc. 298026 by imp: Use the new TUNABLE_INT64 to match the type of sbintime_t. 298025 by imp: Create wrappers for uint64_t and int64_t for the tunables. While not strictly necessary, it is more convenient. 298024 by ngie: Set test_argv to NULL, not 0, if not executing a specific test MFC after: 1 week Submitted by: pfg Sponsored by: EMC / Isilon Storage Division 298023 by ngie: Fix typos (intenral -> internal) in comments 298022 by sephe: hyperv: Deprecate HYPERV option by moving Hyper-V IDT vector into vmbus Submitted by: Jun Su Reviewed by:jhb, kib, sephe Sponsored by: Microsoft OSTC Differential Revision: https://reviews.freebsd.org/D5910 298021 by araujo: Use NULL instead of 0 for pointers and memory allocation. malloc and realloc will return NULL pointer if it can't alloc memory. MFC after: 4 weeks 298020 by jhibbits: Add fman and dpaa fixups for powerpc fdt Obtained from: Semihalf ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: Heads up
On Thu, Apr 14, 2016 at 9:56 PM, Warren Blockwrote: > On Thu, 14 Apr 2016, Warner Losh wrote: > > The CAM I/O scheduler has been committed to current. This work is described >> in https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf though the >> default scheduler doesn't change the default (old) behavior. >> >> One possible issue, however, is that it also enables NCQ Trims on ada >> SSDs. >> There are a few rogue drives that claim support for this feature, but >> actually implement data corrupt instead of queued trims. The list of known >> rogues is believed to be complete, but some caution is in order. > > > Is the list of drives queryable? Is there an easy way to tell if the > currently-connected drives are on the list? > /usr/src/sys/cam/ata/ata_da.c has the list. dmesg will tell you if it detected a bad one since it prints the drive's quirks. But that's no big deal, because the bad one work just fine if you never issue a NCQ TRIM. This small group of drives were early adapters of this technology Here's the full list of known rogues: Crucial/Micron M500 (all firmware prior to MU07) Micron M510 MU01 firmware (newer firmware is good) Crucial/Micron M550 MU01 firmware (newer firmware is good) Crucial MX100 MU01 firmware (newer firmware is good) FCCT M500 all firmware Samsung 830 all firmware Samsung 840 all firmware Samsung 850 all firmware All of these are at least 18 months old (if not older). There's some confusing in Linux lists on the full impact of the Samsung drives (there was a bug in the Linux implementation (that can't be present in the FreeBSD implementation) that may have been the root cause for the Samsung black listing). Out of an abundance of caution, I've kept them in the list. Also, it's my belief that the Crucial/Micron models with MU01 firmware were mostly corrected after early samples since most of the channel drives I've helped people debug had MU02 firmware. Also, a quick google search shows the MU02 firmware for each of these models has been available for at least a year. Warner ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: Heads up
On Thu, 14 Apr 2016, Warner Losh wrote: The CAM I/O scheduler has been committed to current. This work is described in https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf though the default scheduler doesn't change the default (old) behavior. One possible issue, however, is that it also enables NCQ Trims on ada SSDs. There are a few rogue drives that claim support for this feature, but actually implement data corrupt instead of queued trims. The list of known rogues is believed to be complete, but some caution is in order. Is the list of drives queryable? Is there an easy way to tell if the currently-connected drives are on the list? ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: Heads up
Warner thank you very much. Sent from my iPhone > On Apr 14, 2016, at 8:17 PM, Warner Loshwrote: > >> On Thu, Apr 14, 2016 at 8:01 PM, Warner Losh wrote: >> >> >> >>> On Thu, Apr 14, 2016 at 7:22 PM, Alfred Perlstein wrote: >>> >>> >>> On 4/14/16 3:42 PM, Warner Losh wrote: The CAM I/O scheduler has been committed to current. This work is described in https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf though the default scheduler doesn't change the default (old) behavior. One possible issue, however, is that it also enables NCQ Trims on ada SSDs. There are a few rogue drives that claim support for this feature, but actually implement data corrupt instead of queued trims. The list of known rogues is believed to be complete, but some caution is in order. Yowch... >>> >>> With data at stake wouldn't a whitelist be better along with a tool for >>> testing it? >>> >>> Example, you have whitelist and blacklist, if the device isn't on either >>> list you output a kernel message and suggest they run a tool to "test" the >>> controller and report back the findings? >> >> >> The only way to test it is to enable it. Run it for a day or six. If your >> data goes away, the drive is a lying sack. There's no tool to detect this >> that I've seen. You run the NCQ trim, it works. You do it again, it works >> again. After a while, if you have a bad drive model, bad things happen that >> are drive model specific. >> >> Did I mention that the black list matches Linux's black list and that only >> a tiny number of drive models lie. I guess I didn't. > > I just sync it back up to the Linux list. This list has been stable for the > past year or so, with only one entry added back in August. All the other > entries came early in Linux's tables. I did add a quirk to allow it on the > Micron/Crucial M500 with MU07 firmware, but only because I've personally > tested that on dozens of drives over the past 6 months under Netflix > streaming video loads after getting the new firmware. > > >> I am thinking of adding a tunable to turn it off though for people that >> are paranoid. > > Actually, since it is already a quirk, you can use the tunable > > kern.cam.ada.X.quirks=0x2 > > to disable NCQ trim. You can change it to 0x3 if you need 4k sectors as > well. So there's no need to change anything to be able to disable it. Given > how long Linux has been in the wild with NCQ enabled (approximately 18 > months), I'm guessing their quirk list is going to be fairly complete. I > have no other systems to cross check this with, but would welcome pointers > if I've overlooked something. I did this bit of code about 15 months ago, > but it wasn't until 6 months ago that I had working SSD firmware to test it > on. > > Warner > ___ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org" > ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: Heads up
On Thu, Apr 14, 2016 at 8:01 PM, Warner Loshwrote: > > > On Thu, Apr 14, 2016 at 7:22 PM, Alfred Perlstein wrote: > >> >> >> On 4/14/16 3:42 PM, Warner Losh wrote: >> >>> The CAM I/O scheduler has been committed to current. This work is >>> described >>> in https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf though the >>> default scheduler doesn't change the default (old) behavior. >>> >>> One possible issue, however, is that it also enables NCQ Trims on ada >>> SSDs. >>> There are a few rogue drives that claim support for this feature, but >>> actually implement data corrupt instead of queued trims. The list of >>> known >>> rogues is believed to be complete, but some caution is in order. >>> >>> Yowch... >> >> With data at stake wouldn't a whitelist be better along with a tool for >> testing it? >> >> Example, you have whitelist and blacklist, if the device isn't on either >> list you output a kernel message and suggest they run a tool to "test" the >> controller and report back the findings? > > > The only way to test it is to enable it. Run it for a day or six. If your > data goes away, the drive is a lying sack. There's no tool to detect this > that I've seen. You run the NCQ trim, it works. You do it again, it works > again. After a while, if you have a bad drive model, bad things happen that > are drive model specific. > > Did I mention that the black list matches Linux's black list and that only > a tiny number of drive models lie. I guess I didn't. > I just sync it back up to the Linux list. This list has been stable for the past year or so, with only one entry added back in August. All the other entries came early in Linux's tables. I did add a quirk to allow it on the Micron/Crucial M500 with MU07 firmware, but only because I've personally tested that on dozens of drives over the past 6 months under Netflix streaming video loads after getting the new firmware. > I am thinking of adding a tunable to turn it off though for people that > are paranoid. > Actually, since it is already a quirk, you can use the tunable kern.cam.ada.X.quirks=0x2 to disable NCQ trim. You can change it to 0x3 if you need 4k sectors as well. So there's no need to change anything to be able to disable it. Given how long Linux has been in the wild with NCQ enabled (approximately 18 months), I'm guessing their quirk list is going to be fairly complete. I have no other systems to cross check this with, but would welcome pointers if I've overlooked something. I did this bit of code about 15 months ago, but it wasn't until 6 months ago that I had working SSD firmware to test it on. Warner ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: FreeBSD_HEAD_i386 - Build #2857 - Still Failing
On Thu, Apr 14, 2016 at 8:49 PM, Ngie Cooper (yaneurabeya) < yaneurab...@gmail.com> wrote: > > Build’s still broken.. Test building a fix as we speak. Warner ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: FreeBSD_HEAD_i386 - Build #2857 - Still Failing
> On Apr 14, 2016, at 19:14, jenkins-ad...@freebsd.org wrote: > > FreeBSD_HEAD_i386 - Build #2857 - Still Failing: > > Build information: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_i386/2857/ > Full change log: > https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_i386/2857/changes > Full build log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_i386/2857/console > > Change summaries: > > 298018 by araujo: > Initialize pointer with NULL instead of 0. > > Submitted by: pfg > > 298017 by asomers: > Add more debugging statements in vdev_geom.c > > Log a debugging message whenever geom functions fail in vdev_geom_attach. > Printing these messages is controlled by vfs.zfs.debug > > MFC after:4 weeks > Sponsored by: Spectra Logic Corp > ... > ctfconvert -L VERSION -g ar5111.o > --- all_subdir_cam --- > /usr/src/sys/modules/cam/../../cam/scsi/scsi_da.c:1274:1: error: incompatible > pointer types initializing 'long *' with an expression of type 'sbintime_t *' > (aka 'long long *') [-Werror,-Wincompatible-pointer-types] > TUNABLE_LONG("kern.cam.da.default_softtimeout", _default_softtimeout); > ^~~~ > /usr/src/sys/sys/kernel.h:292:3: note: expanded from macro 'TUNABLE_LONG' >(var), \ >^ > --- all_subdir_ath --- > --- ar5112.o --- > cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc > -I. -I/usr/src/sys/modules/ath/../../dev/ath > -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. > -I/usr/src/sys/modules/ath/../../contrib/dev/ath/ath_hal/ > -DHAVE_KERNEL_OPTION_HEADERS -include > /usr/obj/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/src/sys -fno-common -g > -I/usr/obj/usr/src/sys/GENERIC -MD -MF.depend.ar5112.o -MTar5112.o -mno-mmx > -mno-sse -msoft-float -ffreestanding -fwrapv -fstack-protector -gdwarf-2 > -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes > -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef > -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs > -fdiagnostics-show-option -Wno-unknown-pragmas > -Wno-error-tautological-compare -Wno-error-empty-body > -Wno-error-parentheses-equality -Wno-error-unused-function > -Wno-error-pointer-sign -Wno-error-shift-negative-value -mno-aes -mno-avx > -std=iso9899:1999 -c /usr/src/sys/modules/ath/../../dev > /ath/ath_hal/ar5212/ar5112.c -o ar5112.o > --- all_subdir_cam --- > 1 error generated. > *** [scsi_da.o] Error code 1 > > bmake[4]: stopped in /usr/src/sys/modules/cam > 1 error Build’s still broken.. ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
FreeBSD_HEAD_i386 - Build #2857 - Still Failing
FreeBSD_HEAD_i386 - Build #2857 - Still Failing: Build information: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_i386/2857/ Full change log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_i386/2857/changes Full build log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_i386/2857/console Change summaries: 298018 by araujo: Initialize pointer with NULL instead of 0. Submitted by: pfg 298017 by asomers: Add more debugging statements in vdev_geom.c Log a debugging message whenever geom functions fail in vdev_geom_attach. Printing these messages is controlled by vfs.zfs.debug MFC after: 4 weeks Sponsored by: Spectra Logic Corp The end of the build log: [...truncated 155470 lines...] ld -Bshareable -d -warn-common -o if_bwi.ko.full if_bwi.kld --- if_bwi.ko.debug --- objcopy --only-keep-debug if_bwi.ko.full if_bwi.ko.debug --- if_bwi.ko --- objcopy --strip-debug --add-gnu-debuglink=if_bwi.ko.debug if_bwi.ko.full if_bwi.ko --- all_subdir_ath --- --- ar5211_power.o --- cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/src/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEADERS -include /usr/obj/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/src/sys -fno-common -g -I/usr/obj/usr/src/sys/GENERIC -MD -MF.depend.ar5211_power.o -MTar5211_power.o -mno-mmx -mno-sse -msoft-float -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift-negative-value -mno-aes -mno-avx -std=iso9899:1999 -c /usr/src/sys/modules/a th/../../dev/ath/ath_hal/ar5211/ar5211_power.c -o ar5211_power.o --- ar5211_phy.o --- ctfconvert -L VERSION -g ar5211_phy.o --- all_subdir_cam --- ===> cam (all) --- machine --- machine -> /usr/src/sys/i386/include --- x86 --- x86 -> /usr/src/sys/x86/include --- opt_cam.h --- ln -sf /usr/obj/usr/src/sys/GENERIC/opt_cam.h opt_cam.h --- all_subdir_ath --- --- ar5211_power.o --- ctfconvert -L VERSION -g ar5211_power.o --- all_subdir_cam --- --- opt_ada.h --- ln -sf /usr/obj/usr/src/sys/GENERIC/opt_ada.h opt_ada.h --- opt_scsi.h --- ln -sf /usr/obj/usr/src/sys/GENERIC/opt_scsi.h opt_scsi.h --- opt_cd.h --- ln -sf /usr/obj/usr/src/sys/GENERIC/opt_cd.h opt_cd.h --- opt_kdtrace.h --- ln -sf /usr/obj/usr/src/sys/GENERIC/opt_kdtrace.h opt_kdtrace.h --- opt_pt.h --- ln -sf /usr/obj/usr/src/sys/GENERIC/opt_pt.h opt_pt.h --- opt_sa.h --- ln -sf /usr/obj/usr/src/sys/GENERIC/opt_sa.h opt_sa.h --- opt_ses.h --- ln -sf /usr/obj/usr/src/sys/GENERIC/opt_ses.h opt_ses.h --- vnode_if_newproto.h --- awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -p --- vnode_if_typedef.h --- awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -q --- device_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -h --- bus_if.h --- awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h --- all_subdir_ath --- --- ar5211_recv.o --- cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I. -I/usr/src/sys/modules/ath/../../dev/ath -I/usr/src/sys/modules/ath/../../dev/ath/ath_hal -I. -I/usr/src/sys/modules/ath/../../contrib/dev/ath/ath_hal/ -DHAVE_KERNEL_OPTION_HEADERS -include /usr/obj/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/src/sys -fno-common -g -I/usr/obj/usr/src/sys/GENERIC -MD -MF.depend.ar5211_recv.o -MTar5211_recv.o -mno-mmx -mno-sse -msoft-float -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error-tautological-compare -Wno-error-empty-body -Wno-error-parentheses-equality -Wno-error-unused-function -Wno-error-pointer-sign -Wno-error-shift-negative-value -mno-aes -mno-avx -std=iso9899:1999 -c /usr/src/sys/modules/ath /../../dev/ath/ath_hal/ar5211/ar5211_recv.c -o ar5211_recv.o --- all_subdir_cam --- --- vnode_if.h --- awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -h --- cam_compat.o --- cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc -DHAVE_KERNEL_OPTION_HEADERS -include /usr/obj/usr/src/sys/GENERIC/opt_global.h -I. -I/usr/src/sys -fno-common -g -I/usr/obj/usr/src/sys/GENERIC -MD -MF.depend.cam_compat.o -MTcam_compat.o -mno-mmx -mno-sse -msoft-float -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls
Re: Heads up
On Thu, Apr 14, 2016 at 7:22 PM, Alfred Perlsteinwrote: > > > On 4/14/16 3:42 PM, Warner Losh wrote: > >> The CAM I/O scheduler has been committed to current. This work is >> described >> in https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf though the >> default scheduler doesn't change the default (old) behavior. >> >> One possible issue, however, is that it also enables NCQ Trims on ada >> SSDs. >> There are a few rogue drives that claim support for this feature, but >> actually implement data corrupt instead of queued trims. The list of known >> rogues is believed to be complete, but some caution is in order. >> >> Yowch... > > With data at stake wouldn't a whitelist be better along with a tool for > testing it? > > Example, you have whitelist and blacklist, if the device isn't on either > list you output a kernel message and suggest they run a tool to "test" the > controller and report back the findings? The only way to test it is to enable it. Run it for a day or six. If your data goes away, the drive is a lying sack. There's no tool to detect this that I've seen. You run the NCQ trim, it works. You do it again, it works again. After a while, if you have a bad drive model, bad things happen that are drive model specific. Did I mention that the black list matches Linux's black list and that only a tiny number of drive models lie. I guess I didn't. I am thinking of adding a tunable to turn it off though for people that are paranoid. Warner ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: Heads up
On 4/14/16 3:42 PM, Warner Losh wrote: The CAM I/O scheduler has been committed to current. This work is described in https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf though the default scheduler doesn't change the default (old) behavior. One possible issue, however, is that it also enables NCQ Trims on ada SSDs. There are a few rogue drives that claim support for this feature, but actually implement data corrupt instead of queued trims. The list of known rogues is believed to be complete, but some caution is in order. Yowch... With data at stake wouldn't a whitelist be better along with a tool for testing it? Example, you have whitelist and blacklist, if the device isn't on either list you output a kernel message and suggest they run a tool to "test" the controller and report back the findings? -Alfred ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Клиентские базы Email: ammanakuw-7...@yopmail.com тел +79133913837 (whatsapp,viber,telegram) Skype: prodawez389
Соберем для Вас по интернет базу данных потенциальных клиентов для Вашего Бизнеса. По базе можно звонить, писать, слать факсы и email, вести любые прямые активные продажи Ваших товаров и услуг Узнайте подробнее по тел +79133913837 (whatsapp,viber,telegram) Skype: prodawez389 Email: ammanakuw-7...@yopmail.com ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
FreeBSD_HEAD_i386 - Build #2856 - Failure
FreeBSD_HEAD_i386 - Build #2856 - Failure: Build information: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_i386/2856/ Full change log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_i386/2856/changes Full build log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_i386/2856/console Change summaries: 298016 by ae: Add External Actions KPI to ipfw(9). It allows implementing loadable kernel modules with new actions and without needing to modify kernel headers and ipfw(8). The module registers its action handler and keyword string, that will be used as action name. Using generic syntax user can add rules with this action. Also ipfw(8) can be easily modified to extend basic syntax for external actions, that become a part base system. Sample modules will coming soon. Obtained from: Yandex LLC Sponsored by: Yandex LLC 298015 by imp: Add note about CAM I/O scheduler. 298014 by ngie: Regenerate the list of bsd.progs.mk supported variables Prefix with dashes (unordered list) and put one variable on each line (to avoid future conflicts) Done via the following one-liner: > sh -c 'for i in $(make -C tests/sys/aio PROG=foo -VPROG_VARS:O); do printf > "\t\t- $i\n"; done' MFC after: 1 week Sponsored by: EMC / Isilon Storage Division 298013 by ngie: Commit documentation change for r298012 Requested by: bdrewery X-MFC with: r298012 Sponsored by: EMC / Isilon Storage Division 298012 by ngie: Add DEBUG_FLAGS to PROG_VARS and STRIP to PROG_OVERRIDE_VARS This will allow the variables [*] to be overridden on a per-PROG basis, which is useful when controlling "stripping" behavior for some tests that require debug symbols or to be unstripped DEBUG_FLAGS (similar to CFLAGS) supports appending, whereas STRIP is an override *: Due to how STRIP is defined in bsd.own.mk (in addition to bsd.lib.mk and bsd.prog.mk), and the fact that bsd.test.mk pulls in bsd.own.mk first, overriding STRIP doesn't work today. A follow up commit is pending to "rectify" this after additional testing is done. Discussed with: bdrewery MFC after: 1 week Sponsored by: EMC / Isilon Storage Division 298011 by imp: Add a comment about why the timeout for flush was lowered to 5s. 298010 by imp: Add in missing files from r298002. 298009 by bdrewery: Regenerate 298008 by scottl: Update the devd.conf man page to describe the new CAM/periph system/subsystem. MFC after: 3 days Sponsored by: Netflix 298007 by bdrewery: Add more content for WITH_META_MODE/WITH_DIRDEPS_BUILD. Sponsored by: EMC / Isilon Storage Division 298006 by bdrewery: META_MODE+filemon: Default -DNO_CLEAN enabled. When using meta mode with filemon, the build is reliably incremental safe. Bmake will use the meta files, along with filemon information, to rebuild targets when their dependencies change, commands change, or files they generate are missing. Sponsored by: EMC / Isilon Storage Division 298005 by wblock: Remove a link to the CTM section of the Handbook, which no longer exists. MFC after: 1 week 298004 by scottl: Add a devctl/devd notification conduit for CAM errors that happen at the periph level. When a relevant error is reported to the periph, some amplifying information is gathered, and the error and information are fed to devctl with the attributes / keys system=CAM, subsystem=periph. The 'type' key will be either 'error' or 'timeout', and based on this, various other keys are also populated. The purpose of this is to provide a concise mechanism for error reporting that is less noisy than the system console but higher in resolution and fidelity than simple sysctl counters. We will be using it at Netflix to populate a structured log and database to track errors and error trends across our world-wide population of drives. Submitted by: imp, scottl Approved by:kenm MFC after: 3 days Sponsored by: Netflix Differential Revision: D5943 298003 by ae: Change the type of 'etlv' field in struct named_object to uint16_t. It should match with the type field in struct ipfw_obj_tlv. Obtained from: Yandex LLC Sponsored by: Yandex LLC 298002 by imp: New CAM I/O scheduler for FreeBSD. The default I/O scheduler is the same as before. The common scheduling bits have moved from inline code in each of the CAM periph drivers into a library that implements the default scheduling. In addition, a number of rate-limiting and I/O preference options can be enabled by adding CAM_IOSCHED_NETFLIX to your config file. A number of extra stats are also maintained. CAM_IOSCHED_NETFLIX isn't on by default because it uses a separate BIO_READ and BIO_WRITE queue, so doesn't honor BIO_ORDERED between these two types of operations. We already didn't honor it for BIO_DELETE, and we don't depend on BIO_ORDERED between reads and writes anywhere in the system (it is currently used with BIO_FLUSH in ZFS to make sure some writes are complete before others start and as a poor-man's soft dependency in one place in UFS where we won't be issuing READs until after the
Re: Heads up
On 15/04/2016 8:42 AM, Warner Losh wrote: The CAM I/O scheduler has been committed to current. This work is described in https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf though the default scheduler doesn't change the default (old) behavior. One possible issue, however, is that it also enables NCQ Trims on ada SSDs. There are a few rogue drives that claim support for this feature, but actually implement data corrupt instead of queued trims. The list of known rogues is believed to be complete, but some caution is in order. What sort of caution, please? How do we check whether it's working? Is it an "all or nothing" type of thing, or could there be subtle problems? Thanks, Graham ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Heads up
The CAM I/O scheduler has been committed to current. This work is described in https://people.freebsd.org/~imp/bsdcan2015/iosched-v3.pdf though the default scheduler doesn't change the default (old) behavior. One possible issue, however, is that it also enables NCQ Trims on ada SSDs. There are a few rogue drives that claim support for this feature, but actually implement data corrupt instead of queued trims. The list of known rogues is believed to be complete, but some caution is in order. Warner ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: 11.0: head/lib/libsysdecode/Makefile for . . ./libsoft/usr/include uses CPP when XCPP needed? [Makefile.libcompat issue]
This will take me a while. I'm trying 2 or more builds, all from amd64 context: TARGET_ARCH=amd64 TARGET_ARCH=armv6 (with my rpi2 armv7a tailoring in src.conf) possibly TARGET_ARC=powerpc64 (without lib32) or powerpc (which has no lib32 or libsoft option) I'm doing this because my personal work arounds have been to have an additional line that I'd adjust: For TARGET_ARCH=amd64: #LIBCOMPATWMAKEFLAGS+= CPP="${XCPP}" For TARGET_ARCH=armv6: LIBCOMPATWMAKEFLAGS+= CPP="${XCPP}" So: commented out vs. not. amd64 did not work with the ${XCPP} use because it depended on a not being limited to the x86 during its lib32 processing. See https://lists.freebsd.org/pipermail/freebsd-arm/2016-April/013663.html for more information. Without the "#" for amd64 I got (grep of the log): > ioctl.c:472:18: error: use of undeclared identifier 'CCISS_PASSTHRU32' > ioctl.c:1186:18: error: use of undeclared identifier 'IPMICTL_RECEIVE_MSG_32' > ioctl.c:1190:18: error: use of undeclared identifier > 'IPMICTL_RECEIVE_MSG_TRUNC_32' > ioctl.c:1196:18: error: use of undeclared identifier 'IPMICTL_SEND_COMMAND_32' > ioctl.c:1394:18: error: use of undeclared identifier 'MPTIO_RAID_ACTION32' > ioctl.c:1398:18: error: use of undeclared identifier 'MPTIO_READ_CFG_HEADER32' > ioctl.c:1402:18: error: use of undeclared identifier 'MPTIO_READ_CFG_PAGE32' > ioctl.c:1406:18: error: use of undeclared identifier > 'MPTIO_READ_EXT_CFG_HEADER32' > ioctl.c:1410:18: error: use of undeclared identifier > 'MPTIO_READ_EXT_CFG_PAGE32' > ioctl.c:1414:18: error: use of undeclared identifier 'MPTIO_WRITE_CFG_PAGE32' Of course since I omitted ${LIBCOMPATCFLAGS} my earlier results might not apply to your change. I'm trying these on 11.0-CURRENT -r297769 . Let me know if I should use something more recent for some reason. === Mark Millard markmi at dsl-only.net On 2016-Apr-14, at 1:41 PM, Bryan Drewery wrote: On 4/6/2016 1:14 PM, Mark Millard wrote: > The below forwards an example of a possibly more general issue not > necessarily limited to arm context of the example: in a cross compile context > the host CPP is in use via Makefile.libcompat not involving "${XCPP}" and so > various macro checks for the target context fail to work. > > [The below and the material leading up to it was originally posted to > freebsd-arm.] > > === > Mark Millard > markmi at dsl-only.net > > On 2016-Apr-4, at 2:02 PM, Mark Millard wrote: > > As a fix for > >>> --- all_subdir_lib/libsysdecode --- >>> In file included from :17: >>> In file included from >>> /usr/obj/clang/arm.armv6/usr/src/libsoft/usr/include/dev/nvme/nvme.h:36: >>> In file included from >>> /usr/obj/clang/arm.armv6/usr/src/libsoft/usr/include/sys/param.h:135: >>> In file included from >>> /usr/obj/clang/arm.armv6/usr/src/libsoft/usr/include/machine/param.h:49: >>> /usr/obj/clang/arm.armv6/usr/src/libsoft/usr/include/machine/acle-compat.h:182:4: >>> error: Unable to determine architecture version. >>> # error Unable to determine architecture version. >>> ^ > > I tested building an amd64 -> arm cross-build based on > >> # svnlite diff Makefile.libcompat >> Index: Makefile.libcompat >> === >> --- Makefile.libcompat (revision 297514) >> +++ Makefile.libcompat (working copy) >> @@ -90,6 +90,7 @@ >> DTRACE="${LIB$COMPATDTRACE:U${DTRACE}}" >> LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \ >> CXX="${XCXX} ${LIBCOMPATCFLAGS} ${LIBCOMPATCXXFLAGS}" \ >> +CPP="${XCPP}" \ >> DESTDIR=${LIBCOMPATTMP} \ >> -DNO_CPU_CFLAGS \ >> MK_CTF=no \ > > and it completed without getting an "error:". So this addition to > Makefile.libcompat may be one option for a fix. > Yes this is needed. Please try this patch though: https://people.freebsd.org/~bdrewery/patches/libcompat-xcpp.diff -- Regards, Bryan Drewery ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: Fwd: 11.0: head/lib/libsysdecode/Makefile for . . ./libsoft/usr/include uses CPP when XCPP needed? [Makefile.libcompat issue]
On 4/6/2016 1:14 PM, Mark Millard wrote: > The below forwards an example of a possibly more general issue not > necessarily limited to arm context of the example: in a cross compile context > the host CPP is in use via Makefile.libcompat not involving "${XCPP}" and so > various macro checks for the target context fail to work. > > [The below and the material leading up to it was originally posted to > freebsd-arm.] > > === > Mark Millard > markmi at dsl-only.net > > On 2016-Apr-4, at 2:02 PM, Mark Millard wrote: > > As a fix for > >>> --- all_subdir_lib/libsysdecode --- >>> In file included from :17: >>> In file included from >>> /usr/obj/clang/arm.armv6/usr/src/libsoft/usr/include/dev/nvme/nvme.h:36: >>> In file included from >>> /usr/obj/clang/arm.armv6/usr/src/libsoft/usr/include/sys/param.h:135: >>> In file included from >>> /usr/obj/clang/arm.armv6/usr/src/libsoft/usr/include/machine/param.h:49: >>> /usr/obj/clang/arm.armv6/usr/src/libsoft/usr/include/machine/acle-compat.h:182:4: >>> error: Unable to determine architecture version. >>> # error Unable to determine architecture version. >>> ^ > > I tested building an amd64 -> arm cross-build based on > >> # svnlite diff Makefile.libcompat >> Index: Makefile.libcompat >> === >> --- Makefile.libcompat (revision 297514) >> +++ Makefile.libcompat (working copy) >> @@ -90,6 +90,7 @@ >> DTRACE="${LIB$COMPATDTRACE:U${DTRACE}}" >> LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \ >> CXX="${XCXX} ${LIBCOMPATCFLAGS} ${LIBCOMPATCXXFLAGS}" \ >> +CPP="${XCPP}" \ >> DESTDIR=${LIBCOMPATTMP} \ >> -DNO_CPU_CFLAGS \ >> MK_CTF=no \ > > and it completed without getting an "error:". So this addition to > Makefile.libcompat may be one option for a fix. > Yes this is needed. Please try this patch though: https://people.freebsd.org/~bdrewery/patches/libcompat-xcpp.diff -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
Re: Keeping OptionalObsoleteFiles.inc up to date
On 4/8/2016 5:59 AM, Dmitry Marakasov wrote: > * Ngie Cooper (yaneurab...@gmail.com) wrote: > >>> I'm trying to use "make delete-old" specifying WITHOUT_ keyword for >>> removing some no-more used set of files. >>> >>> I've start by testing WITHOUT_TOOLCHAIN: >>> - Some of files related to clang are correctly delete >>> - But there are still lot's of others (like /usr/bin/cc) >>> >>> Then I've checked tools/build/mk/OptionalObsoleteFiles.in and found that >>> lot's files are missing in the ".if ${MK_TOOLCHAIN} == no" section. >>> >>> I've started a new run of phk's build_options_survey script: >>> https://people.freebsd.org/~olivier/build_option_survey_20160406/ >>> >>> And wonder if it's possible to automatically generate the list of >>> conditional files to be put in OptionalObsoleteFiles.in from the result of >>> a build_option_survey script ? >> >> amdmi3 had a method for doing this, but I think it was a bit of a >> brute force approach (I could be wrong). > > You are not. > > https://github.com/AMDmi3/obsolete-files-checker > >> The release-pkg project branch method seems like the best way to go >> about it though because it would kind of do the sanity checking for >> us... > > Agreed. make delete-old + OptionalObsoleteFiles.in will never be > complete and work correctly. I'm waiting for packaged base too. > It would be nice if that script and webpage presented a "default" as too. I just fixed an issue with /usr/lib32/libc_pic.a in r297987 that doesn't show anywhere on there. It seems there is no check for "files installed but still deleted" as well. -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature