Re: svn commit: r331083 - in head: lib/libufs sbin/dump sbin/fsck_ffs sbin/fsdb sbin/newfs sbin/quotacheck sbin/restore sbin/tunefs stand/libsa sys/fs/ext2fs sys/fs/nandfs sys/ufs/ffs sys/ufs/ufs usr.
Am Sat, 17 Mar 2018 01:48:27 + (UTC) Ed Maste schrieb: > Author: emaste > Date: Sat Mar 17 01:48:27 2018 > New Revision: 331083 > URL: https://svnweb.freebsd.org/changeset/base/331083 > > Log: > Prefix UFS symbols with UFS_ to reduce namespace pollution > > Followup to r313780. Also prefix ext2's and nandfs's versions with > EXT2_ and NANDFS_. > > Reported by:kib > Reviewed by:kib, mckusick > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D9623 > > Modified: > head/lib/libufs/inode.c > head/sbin/dump/main.c > head/sbin/dump/traverse.c > head/sbin/fsck_ffs/dir.c > head/sbin/fsck_ffs/fsutil.c > head/sbin/fsck_ffs/inode.c > head/sbin/fsck_ffs/pass1.c > head/sbin/fsck_ffs/pass2.c > head/sbin/fsck_ffs/suj.c > head/sbin/fsdb/fsdb.c > head/sbin/fsdb/fsdbutil.c > head/sbin/newfs/mkfs.c > head/sbin/quotacheck/quotacheck.c > head/sbin/restore/dirs.c > head/sbin/restore/interactive.c > head/sbin/restore/tape.c > head/sbin/tunefs/tunefs.c > head/stand/libsa/nandfs.c > head/stand/libsa/ufs.c > head/sys/fs/ext2fs/ext2_alloc.c > head/sys/fs/ext2fs/ext2_dinode.h > head/sys/fs/ext2fs/ext2_lookup.c > head/sys/fs/ext2fs/ext2_vnops.c > head/sys/fs/ext2fs/inode.h > head/sys/fs/nandfs/nandfs.h > head/sys/fs/nandfs/nandfs_vnops.c > head/sys/ufs/ffs/ffs_alloc.c > head/sys/ufs/ffs/ffs_softdep.c > head/sys/ufs/ffs/ffs_vnops.c > head/sys/ufs/ffs/softdep.h > head/sys/ufs/ufs/dinode.h > head/sys/ufs/ufs/inode.h > head/sys/ufs/ufs/ufs_lookup.c > head/sys/ufs/ufs/ufs_vnops.c > head/usr.sbin/quot/quot.c > > Modified: head/lib/libufs/inode.c > == > --- head/lib/libufs/inode.c Sat Mar 17 01:40:09 2018(r331082) > +++ head/lib/libufs/inode.c Sat Mar 17 01:48:27 2018(r331083) > @@ -81,12 +81,12 @@ getino(struct uufsd *disk, void **dino, ino_t inode, i > gotit: switch (disk->d_ufs) { > case 1: > dp1 = &((struct ufs1_dinode *)inoblock)[inode - min]; > - *mode = dp1->di_mode & IFMT; > + *mode = dp1->di_mode & UFS_IFMT; > *dino = dp1; > return (0); > case 2: > dp2 = &((struct ufs2_dinode *)inoblock)[inode - min]; > - *mode = dp2->di_mode & IFMT; > + *mode = dp2->di_mode & UFS_IFMT; > *dino = dp2; > return (0); > default: > > Modified: head/sbin/dump/main.c > == > --- head/sbin/dump/main.c Sat Mar 17 01:40:09 2018(r331082) > +++ head/sbin/dump/main.c Sat Mar 17 01:48:27 2018(r331083) > @@ -550,7 +550,7 @@ main(int argc, char *argv[]) >* Skip directory inodes deleted and maybe reallocated >*/ > dp = getinode(ino, &mode); > - if (mode != IFDIR) > + if (mode != UFS_IFDIR) > continue; > (void)dumpino(dp, ino); > } > @@ -569,7 +569,7 @@ main(int argc, char *argv[]) >* Skip inodes deleted and reallocated as directories. >*/ > dp = getinode(ino, &mode); > - if (mode == IFDIR) > + if (mode == UFS_IFDIR) > continue; > (void)dumpino(dp, ino); > } > > Modified: head/sbin/dump/traverse.c > == > --- head/sbin/dump/traverse.c Sat Mar 17 01:40:09 2018(r331082) > +++ head/sbin/dump/traverse.c Sat Mar 17 01:48:27 2018(r331083) > @@ -195,7 +195,7 @@ mapfiles(ino_t maxino, long *tapesize) > for (i = 0; i < inosused; i++, ino++) { > if (ino < UFS_ROOTINO || > (dp = getinode(ino, &mode)) == NULL || > - (mode & IFMT) == 0) > + (mode & UFS_IFMT) == 0) > continue; > if (ino >= maxino) { > msg("Skipping inode %ju >= maxino %ju\n", > @@ -209,19 +209,19 @@ mapfiles(ino_t maxino, long *tapesize) >* (this is used in mapdirs()). >*/ > SETINO(ino, usedinomap); > - if (mode == IFDIR) > + if (mode == UFS_IFDIR) > SETINO(ino, dumpdirmap); > if (WANTTODUMP(dp)) { > SETINO(ino, dumpinomap); > - if (mode != IFREG && > - mode != IFDIR && > - mode != IFLNK) > + if (mode != UFS_IFREG && > + mode != UFS_IFDIR && > +
Re: svn commit: r331083 - in head: lib/libufs sbin/dump sbin/fsck_ffs sbin/fsdb sbin/newfs sbin/quotacheck sbin/restore sbin/tunefs stand/libsa sys/fs/ext2fs sys/fs/nandfs sys/ufs/ffs sys/ufs/ufs usr.
On Sat, 17 Mar 2018, Ed Maste wrote: Log: Prefix UFS symbols with UFS_ to reduce namespace pollution Followup to r313780. Also prefix ext2's and nandfs's versions with EXT2_ and NANDFS_. S_IFMT is already MI. So this churnge is mostly wrong unless file systems do the identity translations from their "internal" IFMT to S_IFMT, etc., everywhere, but they mostly don't. Using IFMT, etc., was correct under the assumption that IFMT is just an old spelling of S_IFMT. Now it is assumed that FOOFS_IFMT is just a new spelling of S_IFMT. There are many more logically different translations that have to be physically the identity to work. UFS_IFMT is a wrong spelling for ffs. If ffs were actually different from ufs, then there would be different file systems layered under ufs (or is it different file systems layered under ffs?). ext2fs needs a separate set of mode macros less than ffs, since it has less trivial translation layer that converts from the on-disk inode to the in-core inode. Translations are less confusing for file flags since they are only the identity for ffs. All file systems use the MI SF_* and convert to that if necessary. ffs assumes that SF_* match its disk encoding and will never change. ext2fs has to do nontrivial translations of file flags and does this at low levels so that upper levels can just use SF_* like ffs, except with no assumptions. File modes should be handled similarly. IFMT is then just a better (shorter) spelling of S_IFMT like it used to be. Bruce ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r331094 - in head: lib/libmd share/man/man9
Author: trasz Date: Sat Mar 17 11:41:06 2018 New Revision: 331094 URL: https://svnweb.freebsd.org/changeset/base/331094 Log: Fix formatting errors that resulted in apropos(1) output looking weird. MFC after:2 weeks Modified: head/lib/libmd/sha512.3 head/share/man/man9/cnv.9 head/share/man/man9/owll.9 head/share/man/man9/rwlock.9 head/share/man/man9/zone.9 Modified: head/lib/libmd/sha512.3 == --- head/lib/libmd/sha512.3 Sat Mar 17 07:04:41 2018(r331093) +++ head/lib/libmd/sha512.3 Sat Mar 17 11:41:06 2018(r331094) @@ -26,7 +26,7 @@ .Nm SHA384_End , .Nm SHA384_File , .Nm SHA384_FileChunk , -.Nm SHA384_Data, +.Nm SHA384_Data , .Nm SHA512_256_Init , .Nm SHA512_256_Update , .Nm SHA512_256_Final , Modified: head/share/man/man9/cnv.9 == --- head/share/man/man9/cnv.9 Sat Mar 17 07:04:41 2018(r331093) +++ head/share/man/man9/cnv.9 Sat Mar 17 11:41:06 2018(r331094) @@ -29,9 +29,9 @@ .Dt CNV 9 .Os .Sh NAME -.Nm cnvlist_get, -.Nm cnvlist_take, -.Nm cnvlist_free, +.Nm cnvlist_get , +.Nm cnvlist_take , +.Nm cnvlist_free .Nd "API for managing name/value pairs by cookie." .Sh LIBRARY .Lb libnv Modified: head/share/man/man9/owll.9 == --- head/share/man/man9/owll.9 Sat Mar 17 07:04:41 2018(r331093) +++ head/share/man/man9/owll.9 Sat Mar 17 11:41:06 2018(r331094) @@ -29,9 +29,9 @@ .Os .Sh NAME .Nm owll -.Nm OWLL_WRITE_ONE, -.Nm OWLL_WRITE_ZERO, -.Nm OWLL_READ_DATA, +.Nm OWLL_WRITE_ONE , +.Nm OWLL_WRITE_ZERO , +.Nm OWLL_READ_DATA , .Nm OWLL_REASET_AND_PRESENCE .Nd Dallas Semiconductor 1-Wire Link Layer Interface .Sh SYNOPSIS Modified: head/share/man/man9/rwlock.9 == --- head/share/man/man9/rwlock.9Sat Mar 17 07:04:41 2018 (r331093) +++ head/share/man/man9/rwlock.9Sat Mar 17 11:41:06 2018 (r331094) @@ -30,7 +30,7 @@ .Sh NAME .Nm rwlock , .Nm rw_init , -.Nm rw_init_flags, +.Nm rw_init_flags , .Nm rw_destroy , .Nm rw_rlock , .Nm rw_wlock , Modified: head/share/man/man9/zone.9 == --- head/share/man/man9/zone.9 Sat Mar 17 07:04:41 2018(r331093) +++ head/share/man/man9/zone.9 Sat Mar 17 11:41:06 2018(r331094) @@ -35,10 +35,10 @@ .Nm uma_zfree , .Nm uma_zfree_arg , .Nm uma_zdestroy , -.Nm uma_zone_set_max, -.Nm uma_zone_get_max, -.Nm uma_zone_get_cur, -.Nm uma_zone_set_warning, +.Nm uma_zone_set_max , +.Nm uma_zone_get_max , +.Nm uma_zone_get_cur , +.Nm uma_zone_set_warning , .Nm uma_zone_set_maxaction .Nd zone allocator .Sh SYNOPSIS ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r331095 - in head: lib/libufs sbin/dump sbin/fsck_ffs sbin/fsdb sbin/newfs sbin/quotacheck sbin/restore sbin/tunefs stand/libsa sys/fs/ext2fs sys/fs/nandfs sys/ufs/ffs sys/ufs/ufs usr.s...
Author: emaste Date: Sat Mar 17 12:59:55 2018 New Revision: 331095 URL: https://svnweb.freebsd.org/changeset/base/331095 Log: Revert r313780 (UFS_ prefix) Modified: head/lib/libufs/inode.c head/sbin/dump/main.c head/sbin/dump/traverse.c head/sbin/fsck_ffs/dir.c head/sbin/fsck_ffs/fsutil.c head/sbin/fsck_ffs/inode.c head/sbin/fsck_ffs/pass1.c head/sbin/fsck_ffs/pass2.c head/sbin/fsck_ffs/suj.c head/sbin/fsdb/fsdb.c head/sbin/fsdb/fsdbutil.c head/sbin/newfs/mkfs.c head/sbin/quotacheck/quotacheck.c head/sbin/restore/dirs.c head/sbin/restore/interactive.c head/sbin/restore/tape.c head/sbin/tunefs/tunefs.c head/stand/libsa/nandfs.c head/stand/libsa/ufs.c head/sys/fs/ext2fs/ext2_alloc.c head/sys/fs/ext2fs/ext2_dinode.h head/sys/fs/ext2fs/ext2_lookup.c head/sys/fs/ext2fs/ext2_vnops.c head/sys/fs/ext2fs/inode.h head/sys/fs/nandfs/nandfs.h head/sys/fs/nandfs/nandfs_vnops.c head/sys/ufs/ffs/ffs_alloc.c head/sys/ufs/ffs/ffs_softdep.c head/sys/ufs/ffs/ffs_vnops.c head/sys/ufs/ffs/softdep.h head/sys/ufs/ufs/dinode.h head/sys/ufs/ufs/inode.h head/sys/ufs/ufs/ufs_lookup.c head/sys/ufs/ufs/ufs_vnops.c head/usr.sbin/quot/quot.c Modified: head/lib/libufs/inode.c == --- head/lib/libufs/inode.c Sat Mar 17 11:41:06 2018(r331094) +++ head/lib/libufs/inode.c Sat Mar 17 12:59:55 2018(r331095) @@ -81,12 +81,12 @@ getino(struct uufsd *disk, void **dino, ino_t inode, i gotit: switch (disk->d_ufs) { case 1: dp1 = &((struct ufs1_dinode *)inoblock)[inode - min]; - *mode = dp1->di_mode & UFS_IFMT; + *mode = dp1->di_mode & IFMT; *dino = dp1; return (0); case 2: dp2 = &((struct ufs2_dinode *)inoblock)[inode - min]; - *mode = dp2->di_mode & UFS_IFMT; + *mode = dp2->di_mode & IFMT; *dino = dp2; return (0); default: Modified: head/sbin/dump/main.c == --- head/sbin/dump/main.c Sat Mar 17 11:41:06 2018(r331094) +++ head/sbin/dump/main.c Sat Mar 17 12:59:55 2018(r331095) @@ -550,7 +550,7 @@ main(int argc, char *argv[]) * Skip directory inodes deleted and maybe reallocated */ dp = getinode(ino, &mode); - if (mode != UFS_IFDIR) + if (mode != IFDIR) continue; (void)dumpino(dp, ino); } @@ -569,7 +569,7 @@ main(int argc, char *argv[]) * Skip inodes deleted and reallocated as directories. */ dp = getinode(ino, &mode); - if (mode == UFS_IFDIR) + if (mode == IFDIR) continue; (void)dumpino(dp, ino); } Modified: head/sbin/dump/traverse.c == --- head/sbin/dump/traverse.c Sat Mar 17 11:41:06 2018(r331094) +++ head/sbin/dump/traverse.c Sat Mar 17 12:59:55 2018(r331095) @@ -195,7 +195,7 @@ mapfiles(ino_t maxino, long *tapesize) for (i = 0; i < inosused; i++, ino++) { if (ino < UFS_ROOTINO || (dp = getinode(ino, &mode)) == NULL || - (mode & UFS_IFMT) == 0) + (mode & IFMT) == 0) continue; if (ino >= maxino) { msg("Skipping inode %ju >= maxino %ju\n", @@ -209,19 +209,19 @@ mapfiles(ino_t maxino, long *tapesize) * (this is used in mapdirs()). */ SETINO(ino, usedinomap); - if (mode == UFS_IFDIR) + if (mode == IFDIR) SETINO(ino, dumpdirmap); if (WANTTODUMP(dp)) { SETINO(ino, dumpinomap); - if (mode != UFS_IFREG && - mode != UFS_IFDIR && - mode != UFS_IFLNK) + if (mode != IFREG && + mode != IFDIR && + mode != IFLNK) *tapesize += 1; else *tapesize += blockest(dp); continue; } - if (mode == UFS_IFDIR) { + if (mode == IFDIR) { if (!nonodump && (DIP(dp, di_flags) & UF_NODUMP))
svn commit: r331096 - head/sys/modules/hyperv/vmbus
Author: emaste Date: Sat Mar 17 14:50:20 2018 New Revision: 331096 URL: https://svnweb.freebsd.org/changeset/base/331096 Log: Move assym.s to DPSRCS in vmbus module assym.s is only to be included by other .s files, and should not actually be assembled by itself. Modified: head/sys/modules/hyperv/vmbus/Makefile Modified: head/sys/modules/hyperv/vmbus/Makefile == --- head/sys/modules/hyperv/vmbus/Makefile Sat Mar 17 12:59:55 2018 (r331095) +++ head/sys/modules/hyperv/vmbus/Makefile Sat Mar 17 14:50:20 2018 (r331096) @@ -13,6 +13,7 @@ SRCS= hyperv.c \ vmbus_et.c \ vmbus_if.c \ vmbus_res.c \ + vmbus_vector.S \ vmbus_xact.c SRCS+= acpi_if.h bus_if.h device_if.h opt_acpi.h pci_if.h pcib_if.h vmbus_if.h @@ -22,8 +23,7 @@ SRCS+= opt_kstack_pages.h opt_nfs.h opt_hwpmc_hooks.h SRCS+= opt_apic.h .endif -SRCS+= assym.s \ - vmbus_vector.S +DPSRCS+= assym.s vmbus_vector.o: ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \ ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r331097 - head/sys/cam/scsi
Author: imp Date: Sat Mar 17 16:04:06 2018 New Revision: 331097 URL: https://svnweb.freebsd.org/changeset/base/331097 Log: Only take out the periph lock when we're modifying the flags of the softc for an async unit attention. CAM locks, sometimes, the periph lock and other times does not. We were taking the lock always and running into lock recursion issues on a non-recursive lock. Now we take it selectively. It's not clear why xpt takes the lock selectively before calling us, though, and that's still under investigation. Reported by: avg PR: 226510 (same panic, differnt circumstances) Sponsored by: Netflix Modified: head/sys/cam/scsi/scsi_da.c Modified: head/sys/cam/scsi/scsi_da.c == --- head/sys/cam/scsi/scsi_da.c Sat Mar 17 14:50:20 2018(r331096) +++ head/sys/cam/scsi/scsi_da.c Sat Mar 17 16:04:06 2018(r331097) @@ -2039,26 +2039,30 @@ daasync(void *callback_arg, u_int32_t code, * Handle all UNIT ATTENTIONs except our own, * as they will be handled by daerror(). */ - cam_periph_lock(periph); if (xpt_path_periph(ccb->ccb_h.path) != periph && scsi_extract_sense_ccb(ccb, &error_code, &sense_key, &asc, &ascq)) { if (asc == 0x2A && ascq == 0x09) { xpt_print(ccb->ccb_h.path, "Capacity data has changed\n"); + cam_periph_lock(periph); softc->flags &= ~DA_FLAG_PROBED; + cam_periph_unlock(periph); dareprobe(periph); } else if (asc == 0x28 && ascq == 0x00) { + cam_periph_lock(periph); softc->flags &= ~DA_FLAG_PROBED; + cam_periph_unlock(periph); disk_media_changed(softc->disk, M_NOWAIT); } else if (asc == 0x3F && ascq == 0x03) { xpt_print(ccb->ccb_h.path, "INQUIRY data has changed\n"); + cam_periph_lock(periph); softc->flags &= ~DA_FLAG_PROBED; + cam_periph_unlock(periph); dareprobe(periph); } } - cam_periph_unlock(periph); break; } case AC_SCSI_AEN: ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r331098 - in head/sys: net netinet netinet6
Author: melifaro Date: Sat Mar 17 17:05:48 2018 New Revision: 331098 URL: https://svnweb.freebsd.org/changeset/base/331098 Log: Fix outgoing TCP/UDP packet drop on arp/ndp entry expiration. Current arp/nd code relies on the feedback from the datapath indicating that the entry is still used. This mechanism is incorporated into the arpresolve()/nd6_resolve() routines. After the inpcb route cache introduction, the packet path for the locally-originated packets changed, passing cached lle pointer to the ether_output() directly. This resulted in the arp/ndp entry expire each time exactly after the configured max_age interval. During the small window between the ARP/NDP request and reply from the router, most of the packets got lost. Fix this behaviour by plugging datapath notification code to the packet path used by route cache. Unify the notification code by using single inlined function with the per-AF callbacks. Reported by: sthaug at nethelp.no Reviewed by: ae MFC after:2 weeks Modified: head/sys/net/if_ethersubr.c head/sys/net/if_llatbl.h head/sys/netinet/if_ether.c head/sys/netinet/in.c head/sys/netinet6/in6.c Modified: head/sys/net/if_ethersubr.c == --- head/sys/net/if_ethersubr.c Sat Mar 17 16:04:06 2018(r331097) +++ head/sys/net/if_ethersubr.c Sat Mar 17 17:05:48 2018(r331098) @@ -311,7 +311,13 @@ ether_output(struct ifnet *ifp, struct mbuf *m, if (lle == NULL) { /* if we lookup, keep cache */ addref = 1; - } + } else + /* +* Notify LLE code that +* the entry was used +* by datapath. +*/ + llentry_mark_used(lle); } if (lle != NULL) { phdr = lle->r_linkdata; Modified: head/sys/net/if_llatbl.h == --- head/sys/net/if_llatbl.hSat Mar 17 16:04:06 2018(r331097) +++ head/sys/net/if_llatbl.hSat Mar 17 17:05:48 2018(r331098) @@ -149,6 +149,7 @@ typedef void (llt_fill_sa_entry_t)(const struct llentr typedef void (llt_free_tbl_t)(struct lltable *); typedef void (llt_link_entry_t)(struct lltable *, struct llentry *); typedef void (llt_unlink_entry_t)(struct llentry *); +typedef void (llt_mark_used_t)(struct llentry *); typedef int (llt_foreach_cb_t)(struct lltable *, struct llentry *, void *); typedef int (llt_foreach_entry_t)(struct lltable *, llt_foreach_cb_t *, void *); @@ -173,6 +174,7 @@ struct lltable { llt_unlink_entry_t *llt_unlink_entry; llt_fill_sa_entry_t *llt_fill_sa_entry; llt_free_tbl_t *llt_free_tbl; + llt_mark_used_t *llt_mark_used; }; MALLOC_DECLARE(M_LLTABLE); @@ -245,6 +247,19 @@ lla_lookup(struct lltable *llt, u_int flags, const str { return (llt->llt_lookup(llt, flags, l3addr)); +} + +/* + * Notify the LLE code that the entry was used by datapath. + */ +static __inline void +llentry_mark_used(struct llentry *lle) +{ + + if (lle->r_skip_req == 0) + return; + if ((lle->r_flags & RLLE_VALID) != 0) + lle->lle_tbl->llt_mark_used(lle); } intlla_rt_output(struct rt_msghdr *, struct rt_addrinfo *); Modified: head/sys/netinet/if_ether.c == --- head/sys/netinet/if_ether.c Sat Mar 17 16:04:06 2018(r331097) +++ head/sys/netinet/if_ether.c Sat Mar 17 17:05:48 2018(r331098) @@ -504,12 +504,8 @@ arpresolve_full(struct ifnet *ifp, int is_gw, int flag } bcopy(lladdr, desten, ll_len); - /* Check if we have feedback request from arptimer() */ - if (la->r_skip_req != 0) { - LLE_REQ_LOCK(la); - la->r_skip_req = 0; /* Notify that entry was used */ - LLE_REQ_UNLOCK(la); - } + /* Notify LLE code that the entry was used by datapath */ + llentry_mark_used(la); if (pflags != NULL) *pflags = la->la_flags & (LLE_VALID|LLE_IFADDR); if (plle) { @@ -640,12 +636,8 @@ arpresolve(struct ifnet *ifp, int is_gw, struct mbuf * bcopy(la->r_linkdata, desten, la->r_hdrlen); if (pflags != NULL) *pflags = LLE_VALID | (la->r_flags & RLLE_IFADDR); - /* Check if we have feedback request from
svn commit: r331102 - head/sys/modules/iser
Author: imp Date: Sat Mar 17 17:18:46 2018 New Revision: 331102 URL: https://svnweb.freebsd.org/changeset/base/331102 Log: Use kern.opts.mk instead of bsd.own.mk (which includes src.opts.mk) here. Modified: head/sys/modules/iser/Makefile Modified: head/sys/modules/iser/Makefile == --- head/sys/modules/iser/Makefile Sat Mar 17 17:18:41 2018 (r331101) +++ head/sys/modules/iser/Makefile Sat Mar 17 17:18:46 2018 (r331102) @@ -1,8 +1,9 @@ # $FreeBSD$ -.PATH: ${SRCTOP}/sys/dev/iser/ +SYSDIR?=${SRCTOP}/sys +.include "${SYSDIR}/conf/kern.opts.mk" -.include +.PATH: ${SYSDIR}/dev/iser/ KMOD= iser @@ -18,7 +19,7 @@ SRCS+=bus_if.h SRCS+= device_if.h SRCS+= icl_conn_if.h -CFLAGS+= -I${SRCTOP}/sys/ +CFLAGS+= -I${SYSDIR}/ CFLAGS+= -I${SYSDIR}/ofed/include CFLAGS+= -I${SYSDIR}/ofed/include/uapi CFLAGS+= -I${SYSDIR}/compat/linuxkpi/common/include ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r331100 - head/sys/modules/netgraph/checksum
Author: imp Date: Sat Mar 17 17:18:37 2018 New Revision: 331100 URL: https://svnweb.freebsd.org/changeset/base/331100 Log: Remove commented out code to generate opt_inet*.h. That's handled automatically by kern.opts.mk now. Include that instead. Modified: head/sys/modules/netgraph/checksum/Makefile Modified: head/sys/modules/netgraph/checksum/Makefile == --- head/sys/modules/netgraph/checksum/Makefile Sat Mar 17 17:18:29 2018 (r331099) +++ head/sys/modules/netgraph/checksum/Makefile Sat Mar 17 17:18:37 2018 (r331100) @@ -1,20 +1,9 @@ # $FreeBSD$ -.include +SYSDIR?=${SRCTOP}/sys +.include "${SYSDIR}/conf/kern.opts.mk" KMOD= ng_checksum SRCS= ng_checksum.c opt_inet.h opt_inet6.h - -#.if !defined(KERNBUILDDIR) -# -#.if ${MK_INET_SUPPORT} != "no" -#opt_inet.h: -# echo "#define INET 1" > ${.TARGET} -#.endif -#.if ${MK_INET6_SUPPORT} != "no" -#opt_inet6.h: -# echo "#define INET6 1" > ${.TARGET} -#.endif -#.endif .include ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r331099 - head/sys/conf
Author: imp Date: Sat Mar 17 17:18:29 2018 New Revision: 331099 URL: https://svnweb.freebsd.org/changeset/base/331099 Log: Add EFI to kernel options. Some parts of MI modules will soon depend on whether EFI is available or not. Add EFI to the list of kernel options so we can use it in the modules build. Modified: head/sys/conf/kern.opts.mk Modified: head/sys/conf/kern.opts.mk == --- head/sys/conf/kern.opts.mk Sat Mar 17 17:05:48 2018(r331098) +++ head/sys/conf/kern.opts.mk Sat Mar 17 17:18:29 2018(r331099) @@ -30,6 +30,7 @@ __DEFAULT_YES_OPTIONS = \ CDDL \ CRYPT \ CUSE \ +EFI \ FORMAT_EXTENSIONS \ INET \ INET6 \ @@ -89,6 +90,11 @@ BROKEN_OPTIONS+= OFED # Things that don't work based on toolchain support. .if ${MACHINE} != "i386" && ${MACHINE} != "amd64" BROKEN_OPTIONS+= KERNEL_RETPOLINE +.endif + +# EFI doesn't exist on mips, powerpc, sparc or riscv. +.if ${MACHINE:Mmips} || ${MACHINE:Mpowerpc} || ${MACHINE:Msparc64} || ${MACHINE:Mriscv} +BROKEN_OPTIONS+=EFI .endif # expanded inline from bsd.mkopt.mk to avoid share/mk dependency ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r331101 - head/sys/modules/netmap
Author: imp Date: Sat Mar 17 17:18:41 2018 New Revision: 331101 URL: https://svnweb.freebsd.org/changeset/base/331101 Log: Use FreeBSD-current conventions for building options rather than FreeBSD 10 conventions: inlude kern.opts.mk. Modified: head/sys/modules/netmap/Makefile Modified: head/sys/modules/netmap/Makefile == --- head/sys/modules/netmap/MakefileSat Mar 17 17:18:37 2018 (r331100) +++ head/sys/modules/netmap/MakefileSat Mar 17 17:18:41 2018 (r331101) @@ -3,12 +3,12 @@ # Compile netmap as a module, useful if you want a netmap bridge # or loadable drivers. -.include # FreeBSD 10 and earlier -# .include "${SYSDIR}/conf/kern.opts.mk" +SYSDIR?=${SRCTOP}/sys +.include "${SYSDIR}/conf/kern.opts.mk" -.PATH: ${SRCTOP}/sys/dev/netmap -.PATH.h: ${SRCTOP}/sys/net -CFLAGS += -I${SRCTOP}/sys/ -D INET +.PATH: ${SYSDIR}/dev/netmap +.PATH.h: ${SYSDIR}/net +CFLAGS += -I${SYSDIR}/ -D INET KMOD = netmap SRCS = device_if.h bus_if.h pci_if.h opt_netmap.h SRCS += netmap.c netmap.h netmap_kern.h ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r331103 - head/tests/sys/aio
Author: asomers Date: Sat Mar 17 17:48:21 2018 New Revision: 331103 URL: https://svnweb.freebsd.org/changeset/base/331103 Log: aio: add an ATF test case for aio_fsync error conditions Modified: head/tests/sys/aio/aio_test.c Modified: head/tests/sys/aio/aio_test.c == --- head/tests/sys/aio/aio_test.c Sat Mar 17 17:18:46 2018 (r331102) +++ head/tests/sys/aio/aio_test.c Sat Mar 17 17:48:21 2018 (r331103) @@ -1040,6 +1040,42 @@ ATF_TC_BODY(aio_socket_short_write_cancel, tc) close(s[0]); } +/* + * test aio_fsync's behavior with bad inputs + */ +ATF_TC_WITHOUT_HEAD(aio_fsync_errors); +ATF_TC_BODY(aio_fsync_errors, tc) +{ + int fd; + struct aiocb iocb; + + ATF_REQUIRE_KERNEL_MODULE("aio"); + ATF_REQUIRE_UNSAFE_AIO(); + + fd = open(FILE_PATHNAME, O_RDWR | O_CREAT, 0600); + ATF_REQUIRE_MSG(fd != -1, "open failed: %s", strerror(errno)); + unlink(FILE_PATHNAME); + + /* aio_fsync should return EINVAL unless op is O_SYNC */ + memset(&iocb, 0, sizeof(iocb)); + iocb.aio_fildes = fd; + ATF_CHECK_EQ(-1, aio_fsync(666, &iocb)); + ATF_CHECK_EQ(EINVAL, errno); + + /* aio_fsync should return EBADF if fd is not a valid descriptor */ + memset(&iocb, 0, sizeof(iocb)); + iocb.aio_fildes = 666; + ATF_CHECK_EQ(-1, aio_fsync(O_SYNC, &iocb)); + ATF_CHECK_EQ(EBADF, errno); + + /* aio_fsync should return EINVAL if sigev_notify is invalid */ + memset(&iocb, 0, sizeof(iocb)); + iocb.aio_fildes = fd; + iocb.aio_sigevent.sigev_notify = 666; + ATF_CHECK_EQ(-1, aio_fsync(666, &iocb)); + ATF_CHECK_EQ(EINVAL, errno); +} + /* * This test just performs a basic test of aio_fsync(). */ @@ -1153,6 +1189,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, md_suspend); ATF_TP_ADD_TC(tp, md_thread); ATF_TP_ADD_TC(tp, md_waitcomplete); + ATF_TP_ADD_TC(tp, aio_fsync_errors); ATF_TP_ADD_TC(tp, aio_fsync_test); ATF_TP_ADD_TC(tp, aio_large_read_test); ATF_TP_ADD_TC(tp, aio_socket_two_reads); ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r331104 - head/tests/sys/aio
Author: asomers Date: Sat Mar 17 17:52:47 2018 New Revision: 331104 URL: https://svnweb.freebsd.org/changeset/base/331104 Log: aio_kqueue_test: fix the build when DEBUG=1 Also, make the debug output more verbose Modified: head/tests/sys/aio/aio_kqueue_test.c Modified: head/tests/sys/aio/aio_kqueue_test.c == --- head/tests/sys/aio/aio_kqueue_test.cSat Mar 17 17:48:21 2018 (r331103) +++ head/tests/sys/aio/aio_kqueue_test.cSat Mar 17 17:52:47 2018 (r331104) @@ -170,18 +170,25 @@ main (int argc, char *argv[]) kq_iocb = kq_returned.udata; #ifdef DEBUG printf("kevent %d %d errno %d return.ident %p " - "return.data %p return.udata %p %p\n", + "return.data %p return.udata %p %p" + " filter %d flags %#x fflags %#x\n", i, result, error, (void*)kq_returned.ident, (void*)kq_returned.data, kq_returned.udata, - kq_iocb); + kq_iocb, + kq_returned.filter, + kq_returned.flags, + kq_returned.fflags); + if (result > 0) + printf("\tsigev_notify_kevent_flags %#x\n", + ((struct aiocb*)(kq_returned.ident))->aio_sigevent.sigev_notify_kevent_flags); #endif if (kq_iocb) break; #ifdef DEBUG - printf("Try again left %d out of %lu %d\n", + printf("Try again left %d out of %d %d\n", pending, max_queue_per_proc, cancel); #endif } ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r331105 - head/sys/security/audit
Author: asomers Date: Sat Mar 17 17:56:08 2018 New Revision: 331105 URL: https://svnweb.freebsd.org/changeset/base/331105 Log: audit(4): fix a typo in a comment no functional change Modified: head/sys/security/audit/audit_bsm_klib.c Modified: head/sys/security/audit/audit_bsm_klib.c == --- head/sys/security/audit/audit_bsm_klib.cSat Mar 17 17:52:47 2018 (r331104) +++ head/sys/security/audit/audit_bsm_klib.cSat Mar 17 17:56:08 2018 (r331105) @@ -119,7 +119,7 @@ static const int aue_shmsys[] = { static const int aue_shmsys_count = sizeof(aue_shmsys) / sizeof(int); /* - * Check whether an event is aditable by comparing the mask of classes this + * Check whether an event is auditable by comparing the mask of classes this * event is part of against the given mask. */ int ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r331106 - head/sys/kern
Author: jeff Date: Sat Mar 17 18:14:49 2018 New Revision: 331106 URL: https://svnweb.freebsd.org/changeset/base/331106 Log: Move the dirty queues inside the per-domain structure. This resolves a bug where we had not hit global dirty limits but a single queue was starved for space by dirty buffers. A single buf_daemon is maintained for now. Add a bd_speedup() when we are low on bufspace. This can happen due to SUJ keeping many bufs locked until a cg block is written. Document this with a comment. Fix sysctls to work with per-domain variables. Add more ddb debugging. Reported by: pho Reviewed by: kib Tested by:pho Sponsored by: Netflix, Dell/EMC Isilon Differential Revision:https://reviews.freebsd.org/D14705 Modified: head/sys/kern/vfs_bio.c Modified: head/sys/kern/vfs_bio.c == --- head/sys/kern/vfs_bio.c Sat Mar 17 17:56:08 2018(r331105) +++ head/sys/kern/vfs_bio.c Sat Mar 17 18:14:49 2018(r331106) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -100,6 +101,52 @@ struct buf_ops buf_ops_bio = { .bop_bdflush= bufbdflush, }; +struct bufqueue { + struct mtx_padalign bq_lock; + TAILQ_HEAD(, buf) bq_queue; + uint8_t bq_index; + uint16_tbq_subqueue; + int bq_len; +} __aligned(CACHE_LINE_SIZE); + +#defineBQ_LOCKPTR(bq) (&(bq)->bq_lock) +#defineBQ_LOCK(bq) mtx_lock(BQ_LOCKPTR((bq))) +#defineBQ_UNLOCK(bq) mtx_unlock(BQ_LOCKPTR((bq))) +#defineBQ_ASSERT_LOCKED(bq)mtx_assert(BQ_LOCKPTR((bq)), MA_OWNED) + +struct bufdomain { + struct bufqueue bd_subq[MAXCPU + 1]; /* Per-cpu sub queues + global */ + struct bufqueue bd_dirtyq; + struct bufqueue *bd_cleanq; + struct mtx_padalign bd_run_lock; + /* Constants */ + longbd_maxbufspace; + longbd_hibufspace; + longbd_lobufspace; + longbd_bufspacethresh; + int bd_hifreebuffers; + int bd_lofreebuffers; + int bd_hidirtybuffers; + int bd_lodirtybuffers; + int bd_dirtybufthresh; + int bd_lim; + /* atomics */ + int bd_wanted; + int __aligned(CACHE_LINE_SIZE) bd_numdirtybuffers; + int __aligned(CACHE_LINE_SIZE) bd_running; + long __aligned(CACHE_LINE_SIZE) bd_bufspace; + int __aligned(CACHE_LINE_SIZE) bd_freebuffers; +} __aligned(CACHE_LINE_SIZE); + +#defineBD_LOCKPTR(bd) (&(bd)->bd_cleanq->bq_lock) +#defineBD_LOCK(bd) mtx_lock(BD_LOCKPTR((bd))) +#defineBD_UNLOCK(bd) mtx_unlock(BD_LOCKPTR((bd))) +#defineBD_ASSERT_LOCKED(bd)mtx_assert(BD_LOCKPTR((bd)), MA_OWNED) +#defineBD_RUN_LOCKPTR(bd) (&(bd)->bd_run_lock) +#defineBD_RUN_LOCK(bd) mtx_lock(BD_RUN_LOCKPTR((bd))) +#defineBD_RUN_UNLOCK(bd) mtx_unlock(BD_RUN_LOCKPTR((bd))) +#defineBD_DOMAIN(bd) (bd - bdomain) + static struct buf *buf;/* buffer header pool */ extern struct buf *swbuf; /* Swap buffer header pool. */ caddr_t unmapped_buf; @@ -123,8 +170,8 @@ static int vfs_bio_clcheck(struct vnode *vp, int size, daddr_t lblkno, daddr_t blkno); static void breada(struct vnode *, daddr_t *, int *, int, struct ucred *, int, void (*)(struct buf *)); -static int buf_flush(struct vnode *vp, int); -static int flushbufqueues(struct vnode *, int, int); +static int buf_flush(struct vnode *vp, struct bufdomain *, int); +static int flushbufqueues(struct vnode *, struct bufdomain *, int, int); static void buf_daemon(void); static __inline void bd_wakeup(void); static int sysctl_runningspace(SYSCTL_HANDLER_ARGS); @@ -133,6 +180,16 @@ static void bufkva_free(struct buf *); static int buf_import(void *, void **, int, int, int); static void buf_release(void *, void **, int); static void maxbcachebuf_adjust(void); +static inline struct bufdomain *bufdomain(struct buf *); +static void bq_remove(struct bufqueue *bq, struct buf *bp); +static void bq_insert(struct bufqueue *bq, struct buf *bp, bool unlock); +static int buf_recycle(struct bufdomain *, bool kva); +static void bq_init(struct bufqueue *bq, int qindex, int cpu, + const char *lockname); +static void bd_init(struct bufdomain *bd); +static int bd_flushall(struct bufdomain *bd); +static int sysctl_bufdomain_long(SYSCTL_HANDLER_ARGS); +static int sysctl_bufdomain_int(SYSCTL_HANDLER_ARGS); static int sysctl_bufspace(SYSCTL_HANDLER_ARGS); int vmiodirenable = TRUE; @@ -147,7 +204,9 @@ static counter_u64_t bufkvaspace; SYSCTL_COUNTER_U64(_vfs, OID_
svn commit: r331109 - head/sys/kern
Author: mjg Date: Sat Mar 17 19:26:33 2018 New Revision: 331109 URL: https://svnweb.freebsd.org/changeset/base/331109 Log: locks: slightly depessimize lockstat The slow path is always taken when lockstat is enabled. This induces rdtsc (or other) calls to get the cycle count even when there was no contention. Still go to the slow path to not mess with the fast path, but avoid the heavy lifting unless necessary. This reduces sys and real time during -j 80 buildkernel: before: 3651.84s user 1105.59s system 5394% cpu 1:28.18 total after: 3685.99s user 975.74s system 5450% cpu 1:25.53 total disabled: 3697.96s user 411.13s system 5261% cpu 1:18.10 total So note this is still a significant hit. LOCK_PROFILING results are not affected. Modified: head/sys/kern/kern_mutex.c head/sys/kern/kern_rwlock.c head/sys/kern/kern_sx.c Modified: head/sys/kern/kern_mutex.c == --- head/sys/kern/kern_mutex.c Sat Mar 17 19:04:36 2018(r331108) +++ head/sys/kern/kern_mutex.c Sat Mar 17 19:26:33 2018(r331109) @@ -491,8 +491,25 @@ __mtx_lock_sleep(volatile uintptr_t *c, uintptr_t v) #if defined(KDTRACE_HOOKS) || defined(LOCK_PROFILING) int doing_lockprof; #endif + td = curthread; tid = (uintptr_t)td; + m = mtxlock2mtx(c); + +#ifdef KDTRACE_HOOKS + if (LOCKSTAT_PROFILE_ENABLED(adaptive__acquire)) { + while (v == MTX_UNOWNED) { + if (_mtx_obtain_lock_fetch(m, &v, tid)) + goto out_lockstat; + } + doing_lockprof = 1; + all_time -= lockstat_nsecs(&m->lock_object); + } +#endif +#ifdef LOCK_PROFILING + doing_lockprof = 1; +#endif + if (SCHEDULER_STOPPED_TD(td)) return; @@ -501,7 +518,7 @@ __mtx_lock_sleep(volatile uintptr_t *c, uintptr_t v) #elif defined(KDTRACE_HOOKS) lock_delay_arg_init(&lda, NULL); #endif - m = mtxlock2mtx(c); + if (__predict_false(v == MTX_UNOWNED)) v = MTX_READ_VALUE(m); @@ -532,13 +549,6 @@ __mtx_lock_sleep(volatile uintptr_t *c, uintptr_t v) CTR4(KTR_LOCK, "_mtx_lock_sleep: %s contested (lock=%p) at %s:%d", m->lock_object.lo_name, (void *)m->mtx_lock, file, line); -#ifdef LOCK_PROFILING - doing_lockprof = 1; -#elif defined(KDTRACE_HOOKS) - doing_lockprof = lockstat_enabled; - if (__predict_false(doing_lockprof)) - all_time -= lockstat_nsecs(&m->lock_object); -#endif for (;;) { if (v == MTX_UNOWNED) { @@ -660,10 +670,6 @@ retry_turnstile: #endif #ifdef KDTRACE_HOOKS all_time += lockstat_nsecs(&m->lock_object); -#endif - LOCKSTAT_PROFILE_OBTAIN_LOCK_SUCCESS(adaptive__acquire, m, contested, - waittime, file, line); -#ifdef KDTRACE_HOOKS if (sleep_time) LOCKSTAT_RECORD1(adaptive__block, m, sleep_time); @@ -672,7 +678,10 @@ retry_turnstile: */ if (lda.spin_cnt > sleep_cnt) LOCKSTAT_RECORD1(adaptive__spin, m, all_time - sleep_time); +out_lockstat: #endif + LOCKSTAT_PROFILE_OBTAIN_LOCK_SUCCESS(adaptive__acquire, m, contested, + waittime, file, line); } #ifdef SMP @@ -708,6 +717,20 @@ _mtx_lock_spin_cookie(volatile uintptr_t *c, uintptr_t tid = (uintptr_t)curthread; m = mtxlock2mtx(c); +#ifdef KDTRACE_HOOKS + if (LOCKSTAT_PROFILE_ENABLED(adaptive__acquire)) { + while (v == MTX_UNOWNED) { + if (_mtx_obtain_lock_fetch(m, &v, tid)) + goto out_lockstat; + } + doing_lockprof = 1; + spin_time -= lockstat_nsecs(&m->lock_object); + } +#endif +#ifdef LOCK_PROFILING + doing_lockprof = 1; +#endif + if (__predict_false(v == MTX_UNOWNED)) v = MTX_READ_VALUE(m); @@ -730,13 +753,7 @@ _mtx_lock_spin_cookie(volatile uintptr_t *c, uintptr_t PMC_SOFT_CALL( , , lock, failed); #endif lock_profile_obtain_lock_failed(&m->lock_object, &contested, &waittime); -#ifdef LOCK_PROFILING - doing_lockprof = 1; -#elif defined(KDTRACE_HOOKS) - doing_lockprof = lockstat_enabled; - if (__predict_false(doing_lockprof)) - spin_time -= lockstat_nsecs(&m->lock_object); -#endif + for (;;) { if (v == MTX_UNOWNED) { if (_mtx_obtain_lock_fetch(m, &v, tid)) @@ -767,13 +784,12 @@ _mtx_lock_spin_cookie(volatile uintptr_t *c, uintptr_t #endif #ifdef KDTRACE_HOOKS spin_time += lockstat_nsecs(&m->lock_object); -#endif - LOCKSTAT_PROFILE_OBTAIN_LOCK_SUCCESS(spin__acquire, m, - contested, waittime, file, line); -#ifdef KDTRACE_HOOKS if (lda.spin_cnt != 0) LOCKSTAT_RECORD1(spin__spin, m, sp
Re: svn commit: r330894 - in head/sys/contrib/zstd: . contrib/meson doc doc/images lib lib/common lib/compress lib/decompress lib/deprecated lib/dictBuilder lib/legacy programs tests zlibWrapper zlibW
On Tue, Mar 13, 2018 at 9:00 PM, Conrad Meyer wrote: > Author: cem > Date: Wed Mar 14 03:00:17 2018 > New Revision: 330894 > URL: https://svnweb.freebsd.org/changeset/base/330894 > > Log: > Update to Zstandard 1.3.3 > > Includes patch to conditionalize use of __builtin_clz(ll) on > __has_builtin(). > The issue is tracked upstream at https://github.com/facebook/ > zstd/pull/884 . > Otherwise, these are vanilla Zstandard 1.3.3 files. > > Note that the 1.3.4 release should be due out soon. > > Sponsored by: Dell EMC Isilon > > I think this broke the build on RISC-V. Could you please take a look? https://ci.freebsd.org/job/FreeBSD-head-riscv64-build/7028/console ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r331113 - head/sbin/savecore
Author: trasz Date: Sat Mar 17 21:58:41 2018 New Revision: 331113 URL: https://svnweb.freebsd.org/changeset/base/331113 Log: Xr crashinfo(8) from savecore(8). MFC after:2 weeks Modified: head/sbin/savecore/savecore.8 Modified: head/sbin/savecore/savecore.8 == --- head/sbin/savecore/savecore.8 Sat Mar 17 20:37:01 2018 (r331112) +++ head/sbin/savecore/savecore.8 Sat Mar 17 21:58:41 2018 (r331113) @@ -174,6 +174,7 @@ is meant to be called near the end of the initializati .Xr xo_parse_args 3 , .Xr textdump 4 , .Xr tar 5 , +.Xr crashinfo 8 , .Xr decryptcore 8 , .Xr dumpon 8 , .Xr syslogd 8 ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r330894 - in head/sys/contrib/zstd: . contrib/meson doc doc/images lib lib/common lib/compress lib/decompress lib/deprecated lib/dictBuilder lib/legacy programs tests zlibWrapper zlibW
Thanks for letting me know. I'll be able to take a look this weekend. Best, Conrad On Sat, Mar 17, 2018 at 2:49 PM, Alan Somers wrote: > On Tue, Mar 13, 2018 at 9:00 PM, Conrad Meyer wrote: >> >> Author: cem >> Date: Wed Mar 14 03:00:17 2018 >> New Revision: 330894 >> URL: https://svnweb.freebsd.org/changeset/base/330894 >> >> Log: >> Update to Zstandard 1.3.3 >> >> Includes patch to conditionalize use of __builtin_clz(ll) on >> __has_builtin(). >> The issue is tracked upstream at >> https://github.com/facebook/zstd/pull/884 . >> Otherwise, these are vanilla Zstandard 1.3.3 files. >> >> Note that the 1.3.4 release should be due out soon. >> >> Sponsored by: Dell EMC Isilon >> > > I think this broke the build on RISC-V. Could you please take a look? > > https://ci.freebsd.org/job/FreeBSD-head-riscv64-build/7028/console > ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r331115 - in head: lib/libzstd sys/contrib/zstd/lib/freebsd
Author: cem Date: Sun Mar 18 03:42:57 2018 New Revision: 331115 URL: https://svnweb.freebsd.org/changeset/base/331115 Log: lib(private)zstd: Fix riscv build Link __bswap[ds]i2() intrinsics in to libzstd for riscv, where the C runtime apparently lacks such intrinsics. Broken in r330894. Reported by: asomers Sponsored by: Dell EMC Isilon Modified: head/lib/libzstd/Makefile head/sys/contrib/zstd/lib/freebsd/zstd_kfreebsd.c Modified: head/lib/libzstd/Makefile == --- head/lib/libzstd/Makefile Sun Mar 18 02:59:14 2018(r331114) +++ head/lib/libzstd/Makefile Sun Mar 18 03:42:57 2018(r331115) @@ -43,4 +43,11 @@ ZSTDDIR= ${SRCTOP}/sys/contrib/zstd CFLAGS.zstd_compress.c+= -O0 .endif +# Work around lack of __bswap[sd]i2() intrinsics on riscv. Probably should be +# added to one of the runtime C libraries instead. +.if ${MACHINE_CPUARCH} == "riscv" +.PATH: ${ZSTDDIR}/lib/freebsd +SRCS+= zstd_kfreebsd.c +.endif + .include Modified: head/sys/contrib/zstd/lib/freebsd/zstd_kfreebsd.c == --- head/sys/contrib/zstd/lib/freebsd/zstd_kfreebsd.c Sun Mar 18 02:59:14 2018(r331114) +++ head/sys/contrib/zstd/lib/freebsd/zstd_kfreebsd.c Sun Mar 18 03:42:57 2018(r331115) @@ -27,7 +27,12 @@ */ #include "zstd_kfreebsd.h" +#include #include + +#ifndef _KERNEL +#include +#endif /* * The kernel as a standalone target does not link against libgcc or ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"