svn commit: r258737 - head/sys/vm
Author: rodrigc Date: Fri Nov 29 08:04:45 2013 New Revision: 258737 URL: http://svnweb.freebsd.org/changeset/base/258737 Log: In keg_dtor(), print out the keg name in the Freed UMA keg was not empty message printed to the console. This makes it easier to track down the source of certain memory leaks. Suggested by: adrian Modified: head/sys/vm/uma_core.c Modified: head/sys/vm/uma_core.c == --- head/sys/vm/uma_core.c Fri Nov 29 07:55:44 2013(r258736) +++ head/sys/vm/uma_core.c Fri Nov 29 08:04:45 2013(r258737) @@ -1689,8 +1689,9 @@ keg_dtor(void *arg, int size, void *udat keg = (uma_keg_t)arg; KEG_LOCK(keg); if (keg-uk_free != 0) { - printf(Freed UMA keg was not empty (%d items). + printf(Freed UMA keg (%s) was not empty (%d items). Lost %d pages of memory.\n, + keg-uk_name ? keg-uk_name : , keg-uk_free, keg-uk_pages); } KEG_UNLOCK(keg); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258738 - head
Author: rodrigc Date: Fri Nov 29 08:22:48 2013 New Revision: 258738 URL: http://svnweb.freebsd.org/changeset/base/258738 Log: Also mention that drill(1) can be used, now that nslookup and dig are no longer in the base system. Suggested by: peter Modified: head/UPDATING Modified: head/UPDATING == --- head/UPDATING Fri Nov 29 08:04:45 2013(r258737) +++ head/UPDATING Fri Nov 29 08:22:48 2013(r258738) @@ -79,7 +79,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 available in the ports tree. The dns/bind99 port is one example. With this change, nslookup(1) and dig(1) are no longer in the base - system. Users should instead use host(1) which is still + system. Users should instead use host(1) and drill(1) which are in the base system. Alternatively, nslookup and dig can be obtained by installing the dns/bind-tools port. ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258739 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Author: avg Date: Fri Nov 29 12:19:52 2013 New Revision: 258739 URL: http://svnweb.freebsd.org/changeset/base/258739 Log: zfs mappedread_sf: assert that a page is never partially valid ZFS never partially validates or invalidates a page. The higher level VM should not do that either. mappedread_sf correct operation depends on a page being either fully valid or invalid. MFC after:7 days Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Fri Nov 29 08:22:48 2013(r258738) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Fri Nov 29 12:19:52 2013(r258739) @@ -587,8 +587,10 @@ mappedread_sf(vnode_t *vp, int nbytes, u vm_page_activate(pp); } vm_page_unlock(pp); - } else + } else { + ASSERT3U(pp-valid, ==, VM_PAGE_BITS_ALL); vm_page_sunbusy(pp); + } if (error) break; uio-uio_resid -= bytes; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258740 - head/sys/dev/nand
Author: ian Date: Fri Nov 29 14:23:22 2013 New Revision: 258740 URL: http://svnweb.freebsd.org/changeset/base/258740 Log: Look up a nand chip by id in the static table before trying to obtain ONFI parameters. This allows a static table entry to provide valid data for chips known to provide invalid ONFI data. Modified: head/sys/dev/nand/nandbus.c Modified: head/sys/dev/nand/nandbus.c == --- head/sys/dev/nand/nandbus.c Fri Nov 29 12:19:52 2013(r258739) +++ head/sys/dev/nand/nandbus.c Fri Nov 29 14:23:22 2013(r258740) @@ -195,8 +195,27 @@ nandbus_attach(device_t dev) if (chip_id.man_id == 0xff) continue; - /* Check if chip is ONFI compliant */ - if (nand_probe_onfi(dev, onfi) != 0) { + /* +* First try to get info from the table. If that fails, see if +* the chip can provide ONFI info. We check the table first to +* allow table entries to override info from chips that are +* known to provide bad ONFI data. +*/ + onfi = 0; + chip_params = nand_get_params(chip_id); + if (chip_params == NULL) { + nand_probe_onfi(dev, onfi); + } + + /* +* At this point it appears there is a chip at this chipselect, +* so if we can't work with it, whine about it. +*/ + if (chip_params == NULL onfi == 0) { + if (bootverbose || (nand_debug_flag NDBG_BUS)) + printf(Chip params not found, chipsel: %d + (manuf: 0x%0x, chipid: 0x%0x, onfi: %d)\n, + cs, chip_id.man_id, chip_id.dev_id, onfi); continue; } @@ -218,15 +237,6 @@ nandbus_attach(device_t dev) continue; } - chip_params = nand_get_params(chip_id); - if (chip_params == NULL) { - nand_debug(NDBG_BUS,Chip description not found! - (manuf: 0x%0x, chipid: 0x%0x)\n, - chip_id.man_id, chip_id.dev_id); - free(ivar, M_NAND); - continue; - } - ivar-cs = cs; ivar-cols = 1; ivar-rows = 2; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258741 - head/lib/libstand
Author: emaste Date: Fri Nov 29 15:05:49 2013 New Revision: 258741 URL: http://svnweb.freebsd.org/changeset/base/258741 Log: Note that libstand is 32-bit on amd64 and powerpc64 Sponsored by: The FreeBSD Foundation Modified: head/lib/libstand/libstand.3 Modified: head/lib/libstand/libstand.3 == --- head/lib/libstand/libstand.3Fri Nov 29 14:23:22 2013 (r258740) +++ head/lib/libstand/libstand.3Fri Nov 29 15:05:49 2013 (r258741) @@ -674,3 +674,7 @@ the environment functions and this manpa .An Mike Smith Aq msm...@freebsd.org . .Sh BUGS The lack of detailed memory usage data is unhelpful. +.Pp +On the amd64 and powerpc64 architectures +.Nm +is a 32-bit library. ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258742 - head/sys/arm/arm
Author: ian Date: Fri Nov 29 15:06:11 2013 New Revision: 258742 URL: http://svnweb.freebsd.org/changeset/base/258742 Log: Set the PGA_WRITEABLE flag when the protections indicate write access, not just when the current access is a write. Reviewed by: zbb@ Modified: head/sys/arm/arm/pmap-v6.c Modified: head/sys/arm/arm/pmap-v6.c == --- head/sys/arm/arm/pmap-v6.c Fri Nov 29 15:05:49 2013(r258741) +++ head/sys/arm/arm/pmap-v6.c Fri Nov 29 15:06:11 2013(r258742) @@ -3092,6 +3092,7 @@ validate: if (prot VM_PROT_WRITE) { if ((m-oflags VPO_UNMANAGED) == 0) { + vm_page_aflag_set(m, PGA_WRITEABLE); /* * Enable write permission if the access type * indicates write intention. Emulate modified @@ -3099,7 +3100,6 @@ validate: */ if ((access VM_PROT_WRITE) != 0) { npte = ~(L2_APX); - vm_page_aflag_set(m, PGA_WRITEABLE); /* * The access type and permissions * indicate that the page will be ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258743 - head/sys/cddl/contrib/opensolaris/uts/common
Author: avg Date: Fri Nov 29 15:32:53 2013 New Revision: 258743 URL: http://svnweb.freebsd.org/changeset/base/258743 Log: drop ZUT_OBJ, zfs unit testing driver never materialzied in freebsd MFC after:5 days Modified: head/sys/cddl/contrib/opensolaris/uts/common/Makefile.files Modified: head/sys/cddl/contrib/opensolaris/uts/common/Makefile.files == --- head/sys/cddl/contrib/opensolaris/uts/common/Makefile.files Fri Nov 29 15:06:11 2013(r258742) +++ head/sys/cddl/contrib/opensolaris/uts/common/Makefile.files Fri Nov 29 15:32:53 2013(r258743) @@ -129,6 +129,3 @@ ZFS_OBJS += \ zfs_vfsops.o\ zfs_vnops.o \ zvol.o - -ZUT_OBJS +=\ - zut.o ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258744 - in head/sys/cddl: compat/opensolaris/sys contrib/opensolaris/uts/common/fs/zfs
Author: avg Date: Fri Nov 29 15:33:40 2013 New Revision: 258744 URL: http://svnweb.freebsd.org/changeset/base/258744 Log: zfs: make zfs_map_page / zfs_unmap_page public MFC after:15 days Modified: head/sys/cddl/compat/opensolaris/sys/vm.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Modified: head/sys/cddl/compat/opensolaris/sys/vm.h == --- head/sys/cddl/compat/opensolaris/sys/vm.h Fri Nov 29 15:32:53 2013 (r258743) +++ head/sys/cddl/compat/opensolaris/sys/vm.h Fri Nov 29 15:33:40 2013 (r258744) @@ -31,6 +31,8 @@ #ifdef _KERNEL +#include sys/sf_buf.h + extern const int zfs_vm_pagerret_bad; extern const int zfs_vm_pagerret_error; extern const int zfs_vm_pagerret_ok; @@ -39,6 +41,19 @@ void zfs_vmobject_assert_wlocked(vm_obje void zfs_vmobject_wlock(vm_object_t object); void zfs_vmobject_wunlock(vm_object_t object); +static inline caddr_t +zfs_map_page(vm_page_t pp, struct sf_buf **sfp) +{ + *sfp = sf_buf_alloc(pp, 0); + return ((caddr_t)sf_buf_kva(*sfp)); +} + +static inline void +zfs_unmap_page(struct sf_buf *sf) +{ + sf_buf_free(sf); +} + #endif /* _KERNEL */ #endif /* _OPENSOLARIS_SYS_VM_H_ */ Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Fri Nov 29 15:32:53 2013(r258743) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Fri Nov 29 15:33:40 2013(r258744) @@ -71,7 +71,6 @@ #include sys/kidmap.h #include sys/bio.h #include sys/buf.h -#include sys/sf_buf.h #include sys/sched.h #include sys/acl.h #include vm/vm_param.h @@ -452,21 +451,6 @@ page_unhold(vm_page_t pp) vm_page_unlock(pp); } -static caddr_t -zfs_map_page(vm_page_t pp, struct sf_buf **sfp) -{ - - *sfp = sf_buf_alloc(pp, 0); - return ((caddr_t)sf_buf_kva(*sfp)); -} - -static void -zfs_unmap_page(struct sf_buf *sf) -{ - - sf_buf_free(sf); -} - /* * When a file is memory mapped, we must keep the IO data synchronized * between the DMU cache and the memory mapped pages. What this means: ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258745 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys
Author: avg Date: Fri Nov 29 15:34:43 2013 New Revision: 258745 URL: http://svnweb.freebsd.org/changeset/base/258745 Log: zfs: add dmu_write_pages variant for freebsd The freebsd variant of dmu_write_pages is hidden under _KERNEL to avoid needlessly pulling in vm_page_t declaration. Besides, this function seems to be useless for ZFS userland counterpart. MFC after:15 days Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c Fri Nov 29 15:33:40 2013(r258744) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c Fri Nov 29 15:34:43 2013(r258745) @@ -45,6 +45,7 @@ #include sys/zio_compress.h #include sys/sa.h #ifdef _KERNEL +#include sys/vm.h #include sys/zfs_znode.h #endif @@ -1184,6 +1185,64 @@ dmu_write_pages(objset_t *os, uint64_t o dmu_buf_rele_array(dbp, numbufs, FTAG); return (err); } + +#else + +int +dmu_write_pages(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, +vm_page_t *ma, dmu_tx_t *tx) +{ + dmu_buf_t **dbp; + struct sf_buf *sf; + int numbufs, i; + int err; + + if (size == 0) + return (0); + + err = dmu_buf_hold_array(os, object, offset, size, + FALSE, FTAG, numbufs, dbp); + if (err) + return (err); + + for (i = 0; i numbufs; i++) { + int tocpy, copied, thiscpy; + int bufoff; + dmu_buf_t *db = dbp[i]; + caddr_t va; + + ASSERT(size 0); + ASSERT3U(db-db_size, =, PAGESIZE); + + bufoff = offset - db-db_offset; + tocpy = (int)MIN(db-db_size - bufoff, size); + + ASSERT(i == 0 || i == numbufs-1 || tocpy == db-db_size); + + if (tocpy == db-db_size) + dmu_buf_will_fill(db, tx); + else + dmu_buf_will_dirty(db, tx); + + for (copied = 0; copied tocpy; copied += PAGESIZE) { + ASSERT3U(ptoa((*ma)-pindex), ==, db-db_offset + bufoff); + thiscpy = MIN(PAGESIZE, tocpy - copied); + va = zfs_map_page(*ma, sf); + bcopy(va, (char *)db-db_data + bufoff, thiscpy); + zfs_unmap_page(sf); + ma += 1; + bufoff += PAGESIZE; + } + + if (tocpy == db-db_size) + dmu_buf_fill_done(db, tx); + + offset += tocpy; + size -= tocpy; + } + dmu_buf_rele_array(dbp, numbufs, FTAG); + return (err); +} #endif /* sun */ #endif Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h Fri Nov 29 15:33:40 2013(r258744) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h Fri Nov 29 15:34:43 2013(r258745) @@ -606,8 +606,15 @@ int dmu_write_uio(objset_t *os, uint64_t dmu_tx_t *tx); int dmu_write_uio_dbuf(dmu_buf_t *zdb, struct uio *uio, uint64_t size, dmu_tx_t *tx); +#ifdef _KERNEL +#ifdef sun int dmu_write_pages(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, struct page *pp, dmu_tx_t *tx); +#else +int dmu_write_pages(objset_t *os, uint64_t object, uint64_t offset, +uint64_t size, struct vm_page **ppa, dmu_tx_t *tx); +#endif +#endif struct arc_buf *dmu_request_arcbuf(dmu_buf_t *handle, int size); void dmu_return_arcbuf(struct arc_buf *buf); void dmu_assign_arcbuf(dmu_buf_t *handle, uint64_t offset, struct arc_buf *buf, ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258746 - in head/sys/cddl: compat/opensolaris/kern compat/opensolaris/sys contrib/opensolaris/uts/common/fs/zfs
Author: avg Date: Fri Nov 29 15:39:39 2013 New Revision: 258746 URL: http://svnweb.freebsd.org/changeset/base/258746 Log: zfs: add zfs_freebsd_putpages this should be more optimal than writing pages one-by-one via zfs_write - update_pages in the case of multi-page putpages call MFC after:16 days Modified: head/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c head/sys/cddl/compat/opensolaris/sys/vm.h head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Modified: head/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c == --- head/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c Fri Nov 29 15:34:43 2013(r258745) +++ head/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c Fri Nov 29 15:39:39 2013(r258746) @@ -40,6 +40,8 @@ __FBSDID($FreeBSD$); const int zfs_vm_pagerret_bad = VM_PAGER_BAD; const int zfs_vm_pagerret_error = VM_PAGER_ERROR; const int zfs_vm_pagerret_ok = VM_PAGER_OK; +const int zfs_vm_pagerput_sync = VM_PAGER_PUT_SYNC; +const int zfs_vm_pagerput_inval = VM_PAGER_PUT_INVAL; void zfs_vmobject_assert_wlocked(vm_object_t object) Modified: head/sys/cddl/compat/opensolaris/sys/vm.h == --- head/sys/cddl/compat/opensolaris/sys/vm.h Fri Nov 29 15:34:43 2013 (r258745) +++ head/sys/cddl/compat/opensolaris/sys/vm.h Fri Nov 29 15:39:39 2013 (r258746) @@ -36,6 +36,8 @@ extern const int zfs_vm_pagerret_bad; extern const int zfs_vm_pagerret_error; extern const int zfs_vm_pagerret_ok; +extern const int zfs_vm_pagerput_sync; +extern const int zfs_vm_pagerput_inval; void zfs_vmobject_assert_wlocked(vm_object_t object); void zfs_vmobject_wlock(vm_object_t object); Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Fri Nov 29 15:34:43 2013(r258745) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c Fri Nov 29 15:39:39 2013(r258746) @@ -467,6 +467,7 @@ update_pages(vnode_t *vp, int64_t start, caddr_t va; int off; + ASSERT(segflg != UIO_NOCOPY); ASSERT(vp-v_mount != NULL); obj = vp-v_object; ASSERT(obj != NULL); @@ -477,27 +478,7 @@ update_pages(vnode_t *vp, int64_t start, vm_page_t pp; int nbytes = imin(PAGESIZE - off, len); - if (segflg == UIO_NOCOPY) { - pp = vm_page_lookup(obj, OFF_TO_IDX(start)); - KASSERT(pp != NULL, - (zfs update_pages: NULL page in putpages case)); - KASSERT(off == 0, - (zfs update_pages: unaligned data in putpages case)); - KASSERT(pp-valid == VM_PAGE_BITS_ALL, - (zfs update_pages: invalid page in putpages case)); - KASSERT(vm_page_sbusied(pp), - (zfs update_pages: unbusy page in putpages case)); - KASSERT(!pmap_page_is_write_mapped(pp), - (zfs update_pages: writable page in putpages case)); - zfs_vmobject_wunlock(obj); - - va = zfs_map_page(pp, sf); - (void) dmu_write(os, oid, start, nbytes, va, tx); - zfs_unmap_page(sf); - - zfs_vmobject_wlock(obj); - vm_page_undirty(pp); - } else if ((pp = page_busy(vp, start, off, nbytes)) != NULL) { + if ((pp = page_busy(vp, start, off, nbytes)) != NULL) { zfs_vmobject_wunlock(obj); va = zfs_map_page(pp, sf); @@ -511,8 +492,7 @@ update_pages(vnode_t *vp, int64_t start, len -= nbytes; off = 0; } - if (segflg != UIO_NOCOPY) - vm_object_pip_wakeupn(obj, 0); + vm_object_pip_wakeupn(obj, 0); zfs_vmobject_wunlock(obj); } @@ -5804,6 +5784,168 @@ zfs_freebsd_getpages(ap) } static int +zfs_putpages(struct vnode *vp, vm_page_t *ma, size_t len, int flags, +int *rtvals) +{ + znode_t *zp = VTOZ(vp); + zfsvfs_t*zfsvfs = zp-z_zfsvfs; + rl_t*rl; + dmu_tx_t*tx; + struct sf_buf *sf; + vm_object_t object; + vm_page_t m; + caddr_t va; + size_t tocopy; + size_t lo_len; + vm_ooffset_tlo_off; + vm_ooffset_toff; + uint_t blksz; + int ncount; + int pcount; + int err; + int i; + + ZFS_ENTER(zfsvfs); + ZFS_VERIFY_ZP(zp); + +
svn commit: r258747 - stable/10/contrib/llvm/tools/clang/lib/Headers
Author: dim Date: Fri Nov 29 18:06:02 2013 New Revision: 258747 URL: http://svnweb.freebsd.org/changeset/base/258747 Log: MFC r258620: Pull in r195558 from upstream clang trunk: Fix a SSE2 intrinsics typo Full discourse at: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20131104/092514.html http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-November/068124.html Patch by Dimitry Andric and Alexey Dokuchaev! Reported by: danfe Approved by: re (gjb) Modified: stable/10/contrib/llvm/tools/clang/lib/Headers/emmintrin.h Directory Properties: stable/10/contrib/llvm/ (props changed) stable/10/contrib/llvm/tools/clang/ (props changed) Modified: stable/10/contrib/llvm/tools/clang/lib/Headers/emmintrin.h == --- stable/10/contrib/llvm/tools/clang/lib/Headers/emmintrin.h Fri Nov 29 15:39:39 2013(r258746) +++ stable/10/contrib/llvm/tools/clang/lib/Headers/emmintrin.h Fri Nov 29 18:06:02 2013(r258747) @@ -1344,7 +1344,7 @@ _mm_movepi64_pi64(__m128i __a) } static __inline__ __m128i __attribute__((__always_inline__, __nodebug__)) -_mm_movpi64_pi64(__m64 __a) +_mm_movpi64_epi64(__m64 __a) { return (__m128i){ (long long)__a, 0 }; } ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258749 - stable/9/contrib/llvm/tools/clang/lib/Headers
Author: dim Date: Fri Nov 29 18:51:54 2013 New Revision: 258749 URL: http://svnweb.freebsd.org/changeset/base/258749 Log: MFC r258620: Pull in r195558 from upstream clang trunk: Fix a SSE2 intrinsics typo Full discourse at: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20131104/092514.html http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-November/068124.html Patch by Dimitry Andric and Alexey Dokuchaev! Reported by: danfe Modified: stable/9/contrib/llvm/tools/clang/lib/Headers/emmintrin.h Directory Properties: stable/9/contrib/llvm/ (props changed) stable/9/contrib/llvm/tools/clang/ (props changed) Modified: stable/9/contrib/llvm/tools/clang/lib/Headers/emmintrin.h == --- stable/9/contrib/llvm/tools/clang/lib/Headers/emmintrin.h Fri Nov 29 18:46:02 2013(r258748) +++ stable/9/contrib/llvm/tools/clang/lib/Headers/emmintrin.h Fri Nov 29 18:51:54 2013(r258749) @@ -1344,7 +1344,7 @@ _mm_movepi64_pi64(__m128i __a) } static __inline__ __m128i __attribute__((__always_inline__, __nodebug__)) -_mm_movpi64_pi64(__m64 __a) +_mm_movpi64_epi64(__m64 __a) { return (__m128i){ (long long)__a, 0 }; } ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258750 - in stable/10: include lib/libc lib/libc/iconv lib/libc_nonshared
Author: gjb Date: Fri Nov 29 19:44:30 2013 New Revision: 258750 URL: http://svnweb.freebsd.org/changeset/base/258750 Log: MFC r258537, r258587: r258537 (hrs): Add ICONV_{GET,SET}_ILSEQ_INVALID iconvctl. GNU iconv returns EILSEQ when there is an invalid character in the output codeset while it is valid in the input. However, POSIX requires iconv() to perform an implementation-defined conversion on the character. So, Citrus iconv converts such a character to a special character which means it is invalid in the output codeset. This is not a problem in most cases but some software like libxml2 depends on GNU's behavior to determine if a character is output as-is or another form such as a character entity (#NNN;). r258587 (peter): Move the iconv wrapper source from libc_nonshared to libc/iconv so that it is all in the one place again. Rename libc/iconv/iconv.c to bsd_iconv.c. Compile the wrappers into libc.a so that WITHOUT_DYNAMICROOT works again. Approved by: re (kib) Sponsored by: The FreeBSD Foundation Added: stable/10/lib/libc/iconv/__iconv.c - copied unchanged from r258587, head/lib/libc/iconv/__iconv.c stable/10/lib/libc/iconv/__iconv_free_list.c - copied unchanged from r258587, head/lib/libc/iconv/__iconv_free_list.c stable/10/lib/libc/iconv/__iconv_get_list.c - copied unchanged from r258587, head/lib/libc/iconv/__iconv_get_list.c stable/10/lib/libc/iconv/bsd_iconv.c - copied unchanged from r258587, head/lib/libc/iconv/bsd_iconv.c stable/10/lib/libc/iconv/iconv_canonicalize.c - copied unchanged from r258587, head/lib/libc/iconv/iconv_canonicalize.c stable/10/lib/libc/iconv/iconv_close.c - copied unchanged from r258587, head/lib/libc/iconv/iconv_close.c stable/10/lib/libc/iconv/iconv_open.c - copied unchanged from r258587, head/lib/libc/iconv/iconv_open.c stable/10/lib/libc/iconv/iconv_open_into.c - copied unchanged from r258587, head/lib/libc/iconv/iconv_open_into.c stable/10/lib/libc/iconv/iconv_set_relocation_prefix.c - copied unchanged from r258587, head/lib/libc/iconv/iconv_set_relocation_prefix.c stable/10/lib/libc/iconv/iconvctl.c - copied unchanged from r258587, head/lib/libc/iconv/iconvctl.c stable/10/lib/libc/iconv/iconvlist.c - copied unchanged from r258587, head/lib/libc/iconv/iconvlist.c stable/10/lib/libc_nonshared/Makefile.iconv - copied unchanged from r258587, head/lib/libc_nonshared/Makefile.iconv Replaced: stable/10/lib/libc/iconv/iconv.c - copied unchanged from r258587, head/lib/libc/iconv/iconv.c Deleted: stable/10/lib/libc_nonshared/__iconv.c stable/10/lib/libc_nonshared/__iconv_free_list.c stable/10/lib/libc_nonshared/__iconv_get_list.c stable/10/lib/libc_nonshared/iconv.c stable/10/lib/libc_nonshared/iconv_canonicalize.c stable/10/lib/libc_nonshared/iconv_close.c stable/10/lib/libc_nonshared/iconv_open.c stable/10/lib/libc_nonshared/iconv_open_into.c stable/10/lib/libc_nonshared/iconv_set_relocation_prefix.c stable/10/lib/libc_nonshared/iconvctl.c stable/10/lib/libc_nonshared/iconvlist.c Modified: stable/10/include/iconv.h stable/10/lib/libc/Makefile stable/10/lib/libc/iconv/Makefile.inc stable/10/lib/libc/iconv/citrus_iconv_local.h stable/10/lib/libc/iconv/iconvctl.3 stable/10/lib/libc_nonshared/Makefile Directory Properties: stable/10/include/ (props changed) stable/10/lib/libc/ (props changed) stable/10/lib/libc_nonshared/ (props changed) Modified: stable/10/include/iconv.h == --- stable/10/include/iconv.h Fri Nov 29 18:51:54 2013(r258749) +++ stable/10/include/iconv.h Fri Nov 29 19:44:30 2013(r258750) @@ -86,6 +86,8 @@ void iconv_set_relocation_prefix(const #define ICONV_SET_DISCARD_ILSEQ4 #define ICONV_SET_HOOKS5 #define ICONV_SET_FALLBACKS6 +#define ICONV_GET_ILSEQ_INVALID128 +#define ICONV_SET_ILSEQ_INVALID129 typedef void (*iconv_unicode_char_hook) (unsigned int mbr, void *data); typedef void (*iconv_wide_char_hook) (wchar_t wc, void *data); Modified: stable/10/lib/libc/Makefile == --- stable/10/lib/libc/Makefile Fri Nov 29 18:51:54 2013(r258749) +++ stable/10/lib/libc/Makefile Fri Nov 29 19:44:30 2013(r258750) @@ -50,6 +50,9 @@ LDADD+= -lgcc LDADD+= -lssp_nonshared .endif +# Extras that live in either libc.a or libc_nonshared.a +LIBC_NONSHARED_SRCS= + # Define (empty) variables so that make doesn't give substitution # errors if the included makefiles don't change these: MDSRCS= @@ -114,6 +117,8 @@ CFLAGS+= -DNS_CACHING CFLAGS+=-D_FREEFALL_CONFIG .endif +STATICOBJS+=${LIBC_NONSHARED_SRCS:S/.c$/.o/} + VERSION_DEF=${.CURDIR}/Versions.def SYMBOL_MAPS=${SYM_MAPS} CFLAGS+= -DSYMBOL_VERSIONING Modified:
svn commit: r258751 - head/sys/libkern
Author: eadler Date: Fri Nov 29 20:12:02 2013 New Revision: 258751 URL: http://svnweb.freebsd.org/changeset/base/258751 Log: Fix typo Reported by: swild...@dragonflybsd.org Modified: head/sys/libkern/iconv.c Modified: head/sys/libkern/iconv.c == --- head/sys/libkern/iconv.cFri Nov 29 19:44:30 2013(r258750) +++ head/sys/libkern/iconv.cFri Nov 29 20:12:02 2013(r258751) @@ -137,7 +137,7 @@ iconv_unregister_converter(struct iconv_ { dcp-refs--; if (dcp-refs 1) { - ICDEBUG(converter have %d referenses left\n, dcp-refs); + ICDEBUG(converter have %d references left\n, dcp-refs); return EBUSY; } TAILQ_REMOVE(iconv_converters, dcp, cc_link); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258752 - head/sys/libkern
Author: eadler Date: Fri Nov 29 20:14:26 2013 New Revision: 258752 URL: http://svnweb.freebsd.org/changeset/base/258752 Log: Fix typo Reported by: emaste Modified: head/sys/libkern/iconv.c Modified: head/sys/libkern/iconv.c == --- head/sys/libkern/iconv.cFri Nov 29 20:12:02 2013(r258751) +++ head/sys/libkern/iconv.cFri Nov 29 20:14:26 2013(r258752) @@ -137,7 +137,7 @@ iconv_unregister_converter(struct iconv_ { dcp-refs--; if (dcp-refs 1) { - ICDEBUG(converter have %d references left\n, dcp-refs); + ICDEBUG(converter has %d references left\n, dcp-refs); return EBUSY; } TAILQ_REMOVE(iconv_converters, dcp, cc_link); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258753 - head/sys/conf
Author: andreast Date: Fri Nov 29 20:19:00 2013 New Revision: 258753 URL: http://svnweb.freebsd.org/changeset/base/258753 Log: Fix typo. Modified: head/sys/conf/kern.pre.mk Modified: head/sys/conf/kern.pre.mk == --- head/sys/conf/kern.pre.mk Fri Nov 29 20:14:26 2013(r258752) +++ head/sys/conf/kern.pre.mk Fri Nov 29 20:19:00 2013(r258753) @@ -194,7 +194,7 @@ MKMODULESENV+= WITHOUT_MODULES=${WITHOU MKMODULESENV+= DEBUG_FLAGS=${DEBUG} .endif -# Detect knerel config options that force stack frames to be turned on. +# Detect kernel config options that force stack frames to be turned on. DDB_ENABLED!= grep DDB opt_ddb.h || true ; echo DTR_ENABLED!= grep KDTRACE_FRAME opt_kdtrace.h || true ; echo HWPMC_ENABLED!=grep HWPMC opt_hwpmc_hooks.h || true ; echo ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258755 - stable/10/usr.sbin/pkg
Author: bdrewery (ports committer) Date: Fri Nov 29 21:12:35 2013 New Revision: 258755 URL: http://svnweb.freebsd.org/changeset/base/258755 Log: MFC r258348: Document 'enabled' as boolean instead of string. Approved by: bapt (implicit) Approved by: re (gjb) Modified: stable/10/usr.sbin/pkg/pkg.7 Directory Properties: stable/10/usr.sbin/pkg/ (props changed) Modified: stable/10/usr.sbin/pkg/pkg.7 == --- stable/10/usr.sbin/pkg/pkg.7Fri Nov 29 20:28:37 2013 (r258754) +++ stable/10/usr.sbin/pkg/pkg.7Fri Nov 29 21:12:35 2013 (r258755) @@ -24,7 +24,7 @@ .\ .\ $FreeBSD$ .\ -.Dd November 4, 2013 +.Dd November 19, 2013 .Dt PKG 7 .Os .Sh NAME @@ -108,7 +108,7 @@ FreeBSD: { mirror_type: srv, signature_type: none, fingerprints: /usr/share/keys/pkg, - enabled: yes + enabled: yes } .Ed .Bl -tag -width signature_type -compact ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258756 - stable/10/lib/libfetch
Author: bdrewery (ports committer) Date: Fri Nov 29 21:13:30 2013 New Revision: 258756 URL: http://svnweb.freebsd.org/changeset/base/258756 Log: MFC r258347,r258349: Support SNI in libfetch SNI is Server Name Indentification which is a protocol for TLS that indicates the host that is being connected to at the start of the handshake. It allows to use Virtual Hosts on HTTPS. PR: kern/183583 Approved by: bapt (implicit) Approved by: re (gjb) Modified: stable/10/lib/libfetch/common.c Directory Properties: stable/10/lib/libfetch/ (props changed) Modified: stable/10/lib/libfetch/common.c == --- stable/10/lib/libfetch/common.c Fri Nov 29 21:12:35 2013 (r258755) +++ stable/10/lib/libfetch/common.c Fri Nov 29 21:13:30 2013 (r258756) @@ -829,6 +829,16 @@ fetch_ssl(conn_t *conn, const struct url return (-1); } SSL_set_fd(conn-ssl, conn-sd); + +#if OPENSSL_VERSION_NUMBER = 0x0090806fL !defined(OPENSSL_NO_TLSEXT) + if (!SSL_set_tlsext_host_name(conn-ssl, + __DECONST(struct url *, URL)-host)) { + fprintf(stderr, + TLS server name indication extension failed for host %s\n, + URL-host); + return (-1); + } +#endif while ((ret = SSL_connect(conn-ssl)) == -1) { ssl_err = SSL_get_error(conn-ssl, ret); if (ssl_err != SSL_ERROR_WANT_READ ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258757 - head/sys/powerpc/powerpc
Author: nwhitehorn Date: Fri Nov 29 21:59:03 2013 New Revision: 258757 URL: http://svnweb.freebsd.org/changeset/base/258757 Log: Use the Open Firmware-based CPU frequency determination as a generic fallback if we can't measure CPU frequency. This is also useful on a variety of embedded systems using FDT. Modified: head/sys/powerpc/powerpc/cpu.c Modified: head/sys/powerpc/powerpc/cpu.c == --- head/sys/powerpc/powerpc/cpu.c Fri Nov 29 21:13:30 2013 (r258756) +++ head/sys/powerpc/powerpc/cpu.c Fri Nov 29 21:59:03 2013 (r258757) @@ -276,7 +276,6 @@ cpu_est_clockrate(int cpu_id, uint64_t * uint16_tvers; register_t msr; phandle_t cpu, dev, root; - uint32_tfreq[2]; int res = 0; charbuf[8]; @@ -323,13 +322,11 @@ cpu_est_clockrate(int cpu_id, uint64_t * mtmsr(msr); return (0); - case IBMPOWER5: - case IBMPOWER5PLUS: - case IBMPOWER6: - case IBMPOWER7: - case IBMPOWER7PLUS: - case IBMPOWER8: + default: root = OF_peer(0); + if (root == 0) + return (ENXIO); + dev = OF_child(root); while (dev != 0) { res = OF_getprop(dev, name, buf, sizeof(buf)); @@ -347,19 +344,17 @@ cpu_est_clockrate(int cpu_id, uint64_t * } if (cpu == 0) return (ENOENT); - if (OF_getprop(cpu, clock-frequency, freq[0], - sizeof(freq[0]))) - *cps = freq[0]; - else if (OF_getprop(cpu, ibm,extended-clock-frequency, - freq, sizeof(freq))) - *cps = freq[1]; - else - *cps = 0; - - return(0); + if (OF_getprop(cpu, ibm,extended-clock-frequency, + cps, sizeof(*cps)) = 0) { + return (0); + } else if (OF_getprop(cpu, clock-frequency, cps, + sizeof(cell_t)) = 0) { + *cps = 32; + return (0); + } else { + return (ENOENT); + } } - - return (ENXIO); } void ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258758 - head/sys/net80211
Author: adrian Date: Fri Nov 29 22:24:57 2013 New Revision: 258758 URL: http://svnweb.freebsd.org/changeset/base/258758 Log: Make sure any waiters on the scan results get notified if the scan task decides to do nothing. If this isn't done, then a scan request whilst a scan occurs in an active channel set or a completed channel set will hang. Tested: * Intel 5100, STA mode Modified: head/sys/net80211/ieee80211_scan.c Modified: head/sys/net80211/ieee80211_scan.c == --- head/sys/net80211/ieee80211_scan.c Fri Nov 29 21:59:03 2013 (r258757) +++ head/sys/net80211/ieee80211_scan.c Fri Nov 29 22:24:57 2013 (r258758) @@ -860,6 +860,7 @@ scan_task(void *arg, int pending) if (ss-ss_next == ss-ss_last) { IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN, %s: no channels to scan\n, __func__); + scandone = 1; goto done; } ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258759 - head/sys/dev/iwn
Author: adrian Date: Fri Nov 29 22:35:24 2013 New Revision: 258759 URL: http://svnweb.freebsd.org/changeset/base/258759 Log: Use the correct endian-ness accessor for this TLV field. (It's coming from firmware and thus it's defined as little-endian.) Modified: head/sys/dev/iwn/if_iwn.c Modified: head/sys/dev/iwn/if_iwn.c == --- head/sys/dev/iwn/if_iwn.c Fri Nov 29 22:24:57 2013(r258758) +++ head/sys/dev/iwn/if_iwn.c Fri Nov 29 22:35:24 2013(r258759) @@ -7474,7 +7474,7 @@ iwn_read_firmware_tlv(struct iwn_softc * sc-sc_flags |= IWN_FLAG_ENH_SENS; break; case IWN_FW_TLV_PHY_CALIB: - tmp = htole32(*ptr); + tmp = le32toh(*ptr); if (tmp 253) { sc-reset_noise_gain = tmp; sc-noise_gain = tmp + 1; ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258760 - head/sys/dev/iwn
Author: adrian Date: Fri Nov 29 22:36:00 2013 New Revision: 258760 URL: http://svnweb.freebsd.org/changeset/base/258760 Log: Disable this debugging - it's far too verbose when doing TX rate debugging. Modified: head/sys/dev/iwn/if_iwn.c Modified: head/sys/dev/iwn/if_iwn.c == --- head/sys/dev/iwn/if_iwn.c Fri Nov 29 22:35:24 2013(r258759) +++ head/sys/dev/iwn/if_iwn.c Fri Nov 29 22:36:00 2013(r258760) @@ -4012,12 +4012,14 @@ iwn_tx_rate_to_linkq_offset(struct iwn_s if (rate IEEE80211_RATE_MCS) cmp_rate |= IEEE80211_RATE_MCS; +#if 0 DPRINTF(sc, IWN_DEBUG_XMIT, %s: idx %d: nr=%d, rate=0x%02x, rateentry=0x%02x\n, __func__, i, nr, rate, cmp_rate); +#endif if (cmp_rate == rate) return (i); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258761 - stable/10/release
Author: gjb Date: Sat Nov 30 03:31:40 2013 New Revision: 258761 URL: http://svnweb.freebsd.org/changeset/base/258761 Log: MFC r258669: Document the dvdrom target and NODVD variable. Approved by: re (delphij) Sponsored by: The FreeBSD Foundation Modified: stable/10/release/Makefile Directory Properties: stable/10/release/ (props changed) Modified: stable/10/release/Makefile == --- stable/10/release/Makefile Fri Nov 29 22:36:00 2013(r258760) +++ stable/10/release/Makefile Sat Nov 30 03:31:40 2013(r258761) @@ -4,6 +4,7 @@ # # User-driven targets: # cdrom: Builds release CD-ROM media (disc1.iso) +# dvdrom: Builds release DVD-ROM media (dvd1.iso) # memstick: Builds memory stick image (memstick.img) # ftp: Sets up FTP distribution area (ftp) # release: Build all media and FTP distribution area @@ -17,6 +18,7 @@ # NOPORTS: if set, do not distribute ports tree # NOSRC:if set, do not distribute source tree # NODOC:if set, do not generate release documentation +# NODVD:if set, do not generate dvd1.iso # TARGET/TARGET_ARCH: architecture of built release # ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
Re: svn commit: r258713 - in head/sys: kern sys
Man page update? — Justin On Nov 28, 2013, at 11:56 AM, Andriy Gapon a...@freebsd.org wrote: Author: avg Date: Thu Nov 28 18:56:34 2013 New Revision: 258713 URL: http://svnweb.freebsd.org/changeset/base/258713 Log: add taskqueue_drain_all This API has semantics similar to that of taskqueue_drain but acts on all tasks that might be queued or running on a taskqueue. A caller must ensure that no new tasks are being enqueued otherwise this call would be totally meaningless. For example, if the tasks are enqueued by an interrupt filter then its interrupt must be disabled. MFC after: 10 days Modified: head/sys/kern/subr_taskqueue.c head/sys/sys/taskqueue.h Modified: head/sys/kern/subr_taskqueue.c == --- head/sys/kern/subr_taskqueue.cThu Nov 28 16:36:03 2013 (r258712) +++ head/sys/kern/subr_taskqueue.cThu Nov 28 18:56:34 2013 (r258713) @@ -300,6 +300,15 @@ taskqueue_enqueue_timeout(struct taskque return (res); } +static void +taskqueue_drain_running(struct taskqueue *queue) +{ + + while (!TAILQ_EMPTY(queue-tq_active)) + TQ_SLEEP(queue, queue-tq_active, queue-tq_mutex, + PWAIT, -, 0); +} + void taskqueue_block(struct taskqueue *queue) { @@ -350,6 +359,8 @@ taskqueue_run_locked(struct taskqueue *q wakeup(task); } TAILQ_REMOVE(queue-tq_active, tb, tb_link); + if (TAILQ_EMPTY(queue-tq_active)) + wakeup(queue-tq_active); } void @@ -434,6 +445,25 @@ taskqueue_drain(struct taskqueue *queue, } void +taskqueue_drain_all(struct taskqueue *queue) +{ + struct task *task; + + if (!queue-tq_spin) + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, __func__); + + TQ_LOCK(queue); + task = STAILQ_LAST(queue-tq_queue, task, ta_link); + if (task != NULL) + while (task-ta_pending != 0) + TQ_SLEEP(queue, task, queue-tq_mutex, PWAIT, -, 0); + taskqueue_drain_running(queue); + KASSERT(STAILQ_EMPTY(queue-tq_queue), + (taskqueue queue is not empty after draining)); + TQ_UNLOCK(queue); +} + +void taskqueue_drain_timeout(struct taskqueue *queue, struct timeout_task *timeout_task) { Modified: head/sys/sys/taskqueue.h == --- head/sys/sys/taskqueue.h Thu Nov 28 16:36:03 2013(r258712) +++ head/sys/sys/taskqueue.h Thu Nov 28 18:56:34 2013(r258713) @@ -81,6 +81,7 @@ int taskqueue_cancel_timeout(struct task void taskqueue_drain(struct taskqueue *queue, struct task *task); void taskqueue_drain_timeout(struct taskqueue *queue, struct timeout_task *timeout_task); +void taskqueue_drain_all(struct taskqueue *queue); void taskqueue_free(struct taskqueue *queue); void taskqueue_run(struct taskqueue *queue); void taskqueue_block(struct taskqueue *queue); ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258762 - stable/10/etc/mtree
Author: delphij Date: Sat Nov 30 07:03:18 2013 New Revision: 258762 URL: http://svnweb.freebsd.org/changeset/base/258762 Log: MFC r258664: Create /var/cache with mode 0755 instead of 0750. This directory is used by many third party applications and having permission 0750 makes it impossible to drop group privileges. Approved by: re (glebius) Modified: stable/10/etc/mtree/BSD.var.dist Directory Properties: stable/10/etc/ (props changed) Modified: stable/10/etc/mtree/BSD.var.dist == --- stable/10/etc/mtree/BSD.var.distSat Nov 30 03:31:40 2013 (r258761) +++ stable/10/etc/mtree/BSD.var.distSat Nov 30 07:03:18 2013 (r258762) @@ -28,7 +28,7 @@ /set gname=wheel backups .. -cache +cache mode=0755 .. crash .. ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
svn commit: r258763 - stable/9/etc/mtree
Author: delphij Date: Sat Nov 30 07:04:35 2013 New Revision: 258763 URL: http://svnweb.freebsd.org/changeset/base/258763 Log: MFC r258664: Create /var/cache with mode 0755 instead of 0750. This directory is used by many third party applications and having permission 0750 makes it impossible to drop group privileges. Modified: stable/9/etc/mtree/BSD.var.dist Directory Properties: stable/9/etc/mtree/ (props changed) Modified: stable/9/etc/mtree/BSD.var.dist == --- stable/9/etc/mtree/BSD.var.dist Sat Nov 30 07:03:18 2013 (r258762) +++ stable/9/etc/mtree/BSD.var.dist Sat Nov 30 07:04:35 2013 (r258763) @@ -28,7 +28,7 @@ /set gname=wheel backups .. -cache +cache mode=0755 .. crash .. ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org
Re: svn commit: r258713 - in head/sys: kern sys
on 30/11/2013 08:46 Justin T. Gibbs said the following: Man page update? Yes, coming. On Nov 28, 2013, at 11:56 AM, Andriy Gapon a...@freebsd.org wrote: Author: avg Date: Thu Nov 28 18:56:34 2013 New Revision: 258713 URL: http://svnweb.freebsd.org/changeset/base/258713 Log: add taskqueue_drain_all This API has semantics similar to that of taskqueue_drain but acts on all tasks that might be queued or running on a taskqueue. A caller must ensure that no new tasks are being enqueued otherwise this call would be totally meaningless. For example, if the tasks are enqueued by an interrupt filter then its interrupt must be disabled. MFC after: 10 days Modified: head/sys/kern/subr_taskqueue.c head/sys/sys/taskqueue.h Modified: head/sys/kern/subr_taskqueue.c == --- head/sys/kern/subr_taskqueue.c Thu Nov 28 16:36:03 2013 (r258712) +++ head/sys/kern/subr_taskqueue.c Thu Nov 28 18:56:34 2013 (r258713) @@ -300,6 +300,15 @@ taskqueue_enqueue_timeout(struct taskque return (res); } +static void +taskqueue_drain_running(struct taskqueue *queue) +{ + +while (!TAILQ_EMPTY(queue-tq_active)) +TQ_SLEEP(queue, queue-tq_active, queue-tq_mutex, +PWAIT, -, 0); +} + void taskqueue_block(struct taskqueue *queue) { @@ -350,6 +359,8 @@ taskqueue_run_locked(struct taskqueue *q wakeup(task); } TAILQ_REMOVE(queue-tq_active, tb, tb_link); +if (TAILQ_EMPTY(queue-tq_active)) +wakeup(queue-tq_active); } void @@ -434,6 +445,25 @@ taskqueue_drain(struct taskqueue *queue, } void +taskqueue_drain_all(struct taskqueue *queue) +{ +struct task *task; + +if (!queue-tq_spin) +WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, __func__); + +TQ_LOCK(queue); +task = STAILQ_LAST(queue-tq_queue, task, ta_link); +if (task != NULL) +while (task-ta_pending != 0) +TQ_SLEEP(queue, task, queue-tq_mutex, PWAIT, -, 0); +taskqueue_drain_running(queue); +KASSERT(STAILQ_EMPTY(queue-tq_queue), +(taskqueue queue is not empty after draining)); +TQ_UNLOCK(queue); +} + +void taskqueue_drain_timeout(struct taskqueue *queue, struct timeout_task *timeout_task) { Modified: head/sys/sys/taskqueue.h == --- head/sys/sys/taskqueue.h Thu Nov 28 16:36:03 2013(r258712) +++ head/sys/sys/taskqueue.h Thu Nov 28 18:56:34 2013(r258713) @@ -81,6 +81,7 @@ inttaskqueue_cancel_timeout(struct task void taskqueue_drain(struct taskqueue *queue, struct task *task); void taskqueue_drain_timeout(struct taskqueue *queue, struct timeout_task *timeout_task); +voidtaskqueue_drain_all(struct taskqueue *queue); void taskqueue_free(struct taskqueue *queue); void taskqueue_run(struct taskqueue *queue); void taskqueue_block(struct taskqueue *queue); -- Andriy Gapon ___ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org