svn commit: r251837 - in head/sys/cam: . scsi
Author: scottl Date: Mon Jun 17 08:57:09 2013 New Revision: 251837 URL: http://svnweb.freebsd.org/changeset/base/251837 Log: Add infrastructure for doing compatibility shims, as has been sorely needed for the last 10 years. Far too much of the internal API is exposed, and every small adjustment causes applications to stop working. To kick this off, bump the API version to 0x17 as should have been done with r246713, but add shims to compensate. Thanks to the shims, there should be no visible change in application behavior. I have plans to do a significant overhaul of the API to harnen it for the future, but until then, I welcome others to add shims for older versions of the API. Obtained from:Netflix Added: head/sys/cam/cam_compat.c (contents, props changed) head/sys/cam/cam_compat.h (contents, props changed) Modified: head/sys/cam/cam_ccb.h head/sys/cam/cam_xpt.c head/sys/cam/scsi/scsi_pass.c Modified: head/sys/cam/cam_ccb.h == --- head/sys/cam/cam_ccb.h Mon Jun 17 08:53:55 2013(r251836) +++ head/sys/cam/cam_ccb.h Mon Jun 17 08:57:09 2013(r251837) @@ -541,7 +541,7 @@ struct ccb_dev_match { /* * Definitions for the path inquiry CCB fields. */ -#define CAM_VERSION0x16/* Hex value for current version */ +#define CAM_VERSION0x17/* Hex value for current version */ typedef enum { PI_MDP_ABLE = 0x80, /* Supports MDP message */ Added: head/sys/cam/cam_compat.c == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/cam/cam_compat.c Mon Jun 17 08:57:09 2013(r251837) @@ -0,0 +1,89 @@ +/*- + * CAM ioctl compatibility shims + * + * Copyright (c) 2013 Scott Long + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *notice, this list of conditions, and the following disclaimer, + *without modification, immediately at the beginning of the file. + * 2. The name of the author may not be used to endorse or promote products + *derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include +#include + +#include + +#include "opt_cam.h" + +int +cam_compat_ioctl(struct cdev *dev, u_long *cmd, caddr_t *addr, int *flag, struct thread *td) +{ + int error; + + switch (*cmd) { + case CAMIOCOMMAND_0x16: + { + union ccb *ccb; + + ccb = (union ccb *)*addr; + if (ccb->ccb_h.flags & CAM_SG_LIST_PHYS_0x16) { + ccb->ccb_h.flags &= ~CAM_SG_LIST_PHYS_0x16; + ccb->ccb_h.flags |= CAM_DATA_SG_PADDR; + } + if (ccb->ccb_h.flags & CAM_DATA_PHYS_0x16) { + ccb->ccb_h.flags &= ~CAM_DATA_PHYS_0x16; + ccb->ccb_h.flags |= CAM_DATA_PADDR; + } + if (ccb->ccb_h.flags & CAM_SCATTER_VALID_0x16) { + ccb->ccb_h.flags &= CAM_SCATTER_VALID_0x16; + ccb->ccb_h.flags |= CAM_DATA_SG; + } + *cmd = CAMIOCOMMAND; + error = EAGAIN; + break; + } + case CAMGETPASSTHRU_0x16: + *cmd = CAMGETPASSTHRU; + error = EAGAIN; + break; + default: + error = ENOTTY; + } + + return (error); +} Added: head/sys/cam/cam_compat.h == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/cam/cam_compat.h Mon Jun 17 08:57:09 2013(r251837) @@ -0,0 +1,48 @@ +/*- + * CAM ioctl compatibility shims + * + * Copyright (c) 2013
svn commit: r251838 - head/sys/kern
Author: lstewart Date: Mon Jun 17 09:49:07 2013 New Revision: 251838 URL: http://svnweb.freebsd.org/changeset/base/251838 Log: The fix committed in r250951 replaced the reported panic with a deadlock... gold star for me. EVENTHANDLER_DEREGISTER() attempts to acquire the lock which is held by the event handler framework while executing event handler functions, leading to deadlock. Move EVENTHANDLER_DEREGISTER() to alq_load_handler() and thus deregister the ALQ shutdown_pre_sync handler at module unload time, which takes care of the originally reported panic and fixes the deadlock introduced in r250951. Reported by: Luiz Otavio O Souza MFC after:3 days X-MFC with: 250951 Modified: head/sys/kern/kern_alq.c Modified: head/sys/kern/kern_alq.c == --- head/sys/kern/kern_alq.cMon Jun 17 08:57:09 2013(r251837) +++ head/sys/kern/kern_alq.cMon Jun 17 09:49:07 2013(r251838) @@ -229,8 +229,6 @@ ald_shutdown(void *arg, int howto) { struct alq *alq; - EVENTHANDLER_DEREGISTER(shutdown_pre_sync, alq_eventhandler_tag); - ALD_LOCK(); /* Ensure no new queues can be created. */ @@ -938,6 +936,8 @@ alq_load_handler(module_t mod, int what, if (LIST_FIRST(&ald_queues) == NULL) { ald_shutingdown = 1; ALD_UNLOCK(); + EVENTHANDLER_DEREGISTER(shutdown_pre_sync, + alq_eventhandler_tag); ald_shutdown(NULL, 0); mtx_destroy(&ald_mtx); } else { ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251842 - in head/sys: conf modules/cam
Author: scottl Date: Mon Jun 17 10:21:38 2013 New Revision: 251842 URL: http://svnweb.freebsd.org/changeset/base/251842 Log: This is an addendum to r251837. Missed adding the new references to cam_compat.c to the various makefiles. Obtained from:Netflix Modified: head/sys/conf/files head/sys/modules/cam/Makefile Modified: head/sys/conf/files == --- head/sys/conf/files Mon Jun 17 10:14:08 2013(r251841) +++ head/sys/conf/files Mon Jun 17 10:21:38 2013(r251842) @@ -103,6 +103,7 @@ usbdevs_data.h optional usb \ no-obj no-implicit-rule before-depend \ clean "usbdevs_data.h" cam/cam.c optional scbus +cam/cam_compat.c optional scbus cam/cam_periph.c optional scbus cam/cam_queue.coptional scbus cam/cam_sim.c optional scbus Modified: head/sys/modules/cam/Makefile == --- head/sys/modules/cam/Makefile Mon Jun 17 10:14:08 2013 (r251841) +++ head/sys/modules/cam/Makefile Mon Jun 17 10:21:38 2013 (r251842) @@ -15,6 +15,7 @@ SRCS+=opt_pt.h SRCS+= opt_sa.h SRCS+= device_if.h bus_if.h vnode_if.h SRCS+= cam.c +SRCS+= cam_compat.c .if exists($S/${MACHINE}/${MACHINE}/cam_machdep.c) SRCS+= cam_machdep.c .endif ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251843 - in head: contrib/dialog contrib/dialog/package contrib/dialog/package/debian contrib/dialog/po contrib/dialog/samples contrib/dialog/samples/copifuncs contrib/dialog/samples/i...
Author: bapt Date: Mon Jun 17 10:28:55 2013 New Revision: 251843 URL: http://svnweb.freebsd.org/changeset/base/251843 Log: Update dialog to 1.2-20130523 Level up WARNS Added: head/contrib/dialog/buildlist.c - copied unchanged from r251840, vendor/dialog/dist/buildlist.c head/contrib/dialog/po/an.po - copied unchanged from r251840, vendor/dialog/dist/po/an.po head/contrib/dialog/po/ia.po - copied unchanged from r251840, vendor/dialog/dist/po/ia.po head/contrib/dialog/rangebox.c - copied unchanged from r251840, vendor/dialog/dist/rangebox.c head/contrib/dialog/samples/buildlist - copied unchanged from r251840, vendor/dialog/dist/samples/buildlist head/contrib/dialog/samples/buildlist2 - copied unchanged from r251840, vendor/dialog/dist/samples/buildlist2 head/contrib/dialog/samples/checklist12 - copied unchanged from r251840, vendor/dialog/dist/samples/checklist12 head/contrib/dialog/samples/dft-cancel - copied unchanged from r251840, vendor/dialog/dist/samples/dft-cancel head/contrib/dialog/samples/dft-extra - copied unchanged from r251840, vendor/dialog/dist/samples/dft-extra head/contrib/dialog/samples/dft-help - copied unchanged from r251840, vendor/dialog/dist/samples/dft-help head/contrib/dialog/samples/dft-no - copied unchanged from r251840, vendor/dialog/dist/samples/dft-no head/contrib/dialog/samples/fselect0 - copied unchanged from r251840, vendor/dialog/dist/samples/fselect0 head/contrib/dialog/samples/menubox12 - copied unchanged from r251840, vendor/dialog/dist/samples/menubox12 head/contrib/dialog/samples/rangebox - copied unchanged from r251840, vendor/dialog/dist/samples/rangebox head/contrib/dialog/samples/rangebox2 - copied unchanged from r251840, vendor/dialog/dist/samples/rangebox2 head/contrib/dialog/samples/rangebox3 - copied unchanged from r251840, vendor/dialog/dist/samples/rangebox3 head/contrib/dialog/samples/rangebox4 - copied unchanged from r251840, vendor/dialog/dist/samples/rangebox4 head/contrib/dialog/samples/treeview - copied unchanged from r251840, vendor/dialog/dist/samples/treeview head/contrib/dialog/samples/treeview2 - copied unchanged from r251840, vendor/dialog/dist/samples/treeview2 head/contrib/dialog/samples/with-dquotes - copied unchanged from r251840, vendor/dialog/dist/samples/with-dquotes head/contrib/dialog/samples/with-squotes - copied unchanged from r251840, vendor/dialog/dist/samples/with-squotes head/contrib/dialog/treeview.c - copied unchanged from r251840, vendor/dialog/dist/treeview.c Deleted: head/contrib/dialog/samples/copifuncs/admin.funcs head/contrib/dialog/samples/copifuncs/common.funcs head/contrib/dialog/samples/copifuncs/copi.funcs head/contrib/dialog/samples/copifuncs/copi.ifman1 head/contrib/dialog/samples/copifuncs/copi.ifman2 head/contrib/dialog/samples/copifuncs/copi.ifmcfg2 head/contrib/dialog/samples/copifuncs/copi.ifmcfg4 head/contrib/dialog/samples/copifuncs/copi.ifmcfg5 head/contrib/dialog/samples/copifuncs/copi.ifpoll1 head/contrib/dialog/samples/copifuncs/copi.ifpoll2 head/contrib/dialog/samples/copifuncs/copi.ifreq1 head/contrib/dialog/samples/copifuncs/copi.ifreq2 head/contrib/dialog/samples/copifuncs/copi.rcnews head/contrib/dialog/samples/copifuncs/copi.sendifm1 head/contrib/dialog/samples/copifuncs/copi.sendifm2 head/contrib/dialog/samples/copifuncs/copi.trnrc head/contrib/dialog/samples/copifuncs/copi.wheel head/contrib/dialog/samples/copifuncs/ifpatch head/contrib/dialog/samples/copismall head/contrib/dialog/samples/dselect head/contrib/dialog/samples/install/FDISK.TEST head/contrib/dialog/samples/install/makefile.in head/contrib/dialog/samples/install/setup.c head/contrib/dialog/samples/install/setup.help head/contrib/dialog/samples/valgrind.log Modified: head/contrib/dialog/CHANGES head/contrib/dialog/VERSION head/contrib/dialog/aclocal.m4 head/contrib/dialog/argv.c head/contrib/dialog/arrows.c head/contrib/dialog/buttons.c head/contrib/dialog/calendar.c head/contrib/dialog/checklist.c head/contrib/dialog/columns.c head/contrib/dialog/config.guess head/contrib/dialog/config.sub head/contrib/dialog/configure head/contrib/dialog/configure.in head/contrib/dialog/dialog-config.in head/contrib/dialog/dialog.1 head/contrib/dialog/dialog.3 head/contrib/dialog/dialog.c head/contrib/dialog/dialog.h head/contrib/dialog/dlg_colors.h head/contrib/dialog/dlg_keys.c head/contrib/dialog/dlg_keys.h head/contrib/dialog/editbox.c head/contrib/dialog/formbox.c head/contrib/dialog/fselect.c head/contrib/dialog/guage.c head/contrib/dialog/headers-sh.in head/contrib/dialog/help.c head/contrib/dialog/inputbox.c head/contrib/dialog/inputstr.c head/contrib/dialog/makefile.in head/contrib/dialog/menubox.c head/contrib/dialog/mixedform.c head/contrib/dialog/mixedgauge.c head/con
svn commit: r251844 - head/contrib/gdb/gdb
Author: emaste Date: Mon Jun 17 12:49:26 2013 New Revision: 251844 URL: http://svnweb.freebsd.org/changeset/base/251844 Log: Include die tag in error message Modified: head/contrib/gdb/gdb/dwarf2read.c Modified: head/contrib/gdb/gdb/dwarf2read.c == --- head/contrib/gdb/gdb/dwarf2read.c Mon Jun 17 10:28:55 2013 (r251843) +++ head/contrib/gdb/gdb/dwarf2read.c Mon Jun 17 12:49:26 2013 (r251844) @@ -6082,8 +6082,8 @@ tag_type_to_type (struct die_info *die, if (!die->type) { dump_die (die); - error ("Dwarf Error: Cannot find type of die [in module %s]", - cu->objfile->name); + error ("Dwarf Error: Cannot find type of die 0x%x [in module %s]", + die->tag, cu->objfile->name); } return die->type; } ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251845 - head/gnu/lib/libdialog
Author: bapt Date: Mon Jun 17 13:02:39 2013 New Revision: 251845 URL: http://svnweb.freebsd.org/changeset/base/251845 Log: lower the WARNS to 1 again until I have more time to figure out the problems with WARNS=4 Reported by: gavin Modified: head/gnu/lib/libdialog/Makefile Modified: head/gnu/lib/libdialog/Makefile == --- head/gnu/lib/libdialog/Makefile Mon Jun 17 12:49:26 2013 (r251844) +++ head/gnu/lib/libdialog/Makefile Mon Jun 17 13:02:39 2013 (r251845) @@ -15,6 +15,6 @@ MAN= dialog.3 CFLAGS+= -I${.CURDIR} -I${DIALOG} -D_XOPEN_SOURCE_EXTENDED -DGCC_UNUSED=__unused .PATH: ${DIALOG} -WARNS?=4 +WARNS?=1 .include ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r251843 - in head: contrib/dialog contrib/dialog/package contrib/dialog/package/debian contrib/dialog/po contrib/dialog/samples contrib/dialog/samples/copifuncs contrib/dialog/samples/
On 06/17/13 05:28, Baptiste Daroussin wrote: Author: bapt Date: Mon Jun 17 10:28:55 2013 New Revision: 251843 URL: http://svnweb.freebsd.org/changeset/base/251843 Log: Update dialog to 1.2-20130523 Level up WARNS This seems to have broken bsdinstall. In particular, it is no longer possible to get focus in the text input boxes in the partition editor's (sade/bsdinstall partedit) "Add Partition" or "Modify Partition" dialogs. Any chance you could try to figure out why? My Ncurses debugging skills are unfortunately not great. -Nathan ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r251843 - in head: contrib/dialog contrib/dialog/package contrib/dialog/package/debian contrib/dialog/po contrib/dialog/samples contrib/dialog/samples/copifuncs contrib/dialog/samples/
On Mon, Jun 17, 2013 at 08:28:47AM -0500, Nathan Whitehorn wrote: > On 06/17/13 05:28, Baptiste Daroussin wrote: > > Author: bapt > > Date: Mon Jun 17 10:28:55 2013 > > New Revision: 251843 > > URL: http://svnweb.freebsd.org/changeset/base/251843 > > > > Log: > >Update dialog to 1.2-20130523 > >Level up WARNS > > This seems to have broken bsdinstall. In particular, it is no longer > possible to get focus in the text input boxes in the partition editor's > (sade/bsdinstall partedit) "Add Partition" or "Modify Partition" > dialogs. Any chance you could try to figure out why? My Ncurses > debugging skills are unfortunately not great. I'm on it, yes, it seems like the dlg_forms is leaking the bindings from the diskeditors form. I have a working patch but it is ugly. I'm trying to figure out the clean way to do so. regards, Bapt pgpKc7MQaon_u.pgp Description: PGP signature
Re: svn commit: r251843 - in head: contrib/dialog contrib/dialog/package contrib/dialog/package/debian contrib/dialog/po contrib/dialog/samples contrib/dialog/samples/copifuncs contrib/dialog/samples/
On 06/17/13 08:36, Baptiste Daroussin wrote: On Mon, Jun 17, 2013 at 08:28:47AM -0500, Nathan Whitehorn wrote: On 06/17/13 05:28, Baptiste Daroussin wrote: Author: bapt Date: Mon Jun 17 10:28:55 2013 New Revision: 251843 URL: http://svnweb.freebsd.org/changeset/base/251843 Log: Update dialog to 1.2-20130523 Level up WARNS This seems to have broken bsdinstall. In particular, it is no longer possible to get focus in the text input boxes in the partition editor's (sade/bsdinstall partedit) "Add Partition" or "Modify Partition" dialogs. Any chance you could try to figure out why? My Ncurses debugging skills are unfortunately not great. I'm on it, yes, it seems like the dlg_forms is leaking the bindings from the diskeditors form. I have a working patch but it is ugly. I'm trying to figure out the clean way to do so. regards, Bapt Thanks much! Please let me know if I can do anything to help. -Nathan ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251848 - head/contrib/wpa/src/utils
Author: pluknet Date: Mon Jun 17 14:46:54 2013 New Revision: 251848 URL: http://svnweb.freebsd.org/changeset/base/251848 Log: Import change e4ac6417c7504e1c55ec556ce908974c04e29e3c from upstream wpa: From: Guy Eilam Date: Mon, 21 Feb 2011 20:44:46 + (+0200) Subject: utils: Corrected a typo in header's name definition utils: Corrected a typo in header's name definition Corrected a typo in the BASE64_H definition that might cause the header file to be included more than once. Signed-off-by: Guy Eilam Submitted by: MFC after:3 days Modified: head/contrib/wpa/src/utils/base64.h Modified: head/contrib/wpa/src/utils/base64.h == --- head/contrib/wpa/src/utils/base64.h Mon Jun 17 14:41:39 2013 (r251847) +++ head/contrib/wpa/src/utils/base64.h Mon Jun 17 14:46:54 2013 (r251848) @@ -13,7 +13,7 @@ */ #ifndef BASE64_H -#define BASE64_h +#define BASE64_H unsigned char * base64_encode(const unsigned char *src, size_t len, size_t *out_len); ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251854 - head/usr.sbin/bsdinstall/partedit
Author: bapt Date: Mon Jun 17 15:16:14 2013 New Revision: 251854 URL: http://svnweb.freebsd.org/changeset/base/251854 Log: Fix bindings of keys when in the partition editor. By adding the usual input binding to the "partlist" sub window. This is a workaround, as for unknown yet reason the keys binded on the Partition Edition window are the one from partlist instead of the one from standard "formfield" Reported by: alfred, nwhitehorn Modified: head/usr.sbin/bsdinstall/partedit/diskeditor.c Modified: head/usr.sbin/bsdinstall/partedit/diskeditor.c == --- head/usr.sbin/bsdinstall/partedit/diskeditor.c Mon Jun 17 15:01:40 2013(r251853) +++ head/usr.sbin/bsdinstall/partedit/diskeditor.c Mon Jun 17 15:16:14 2013(r251854) @@ -94,6 +94,22 @@ diskeditor_show(const char *title, const END_KEYS_BINDING }; + static DLG_KEYS_BINDING binding2[] = { + INPUTSTR_BINDINGS, + ENTERKEY_BINDINGS, + DLG_KEYS_DATA( DLGK_FIELD_NEXT, TAB ), + DLG_KEYS_DATA( DLGK_FIELD_PREV, KEY_BTAB ), + DLG_KEYS_DATA( DLGK_ITEM_NEXT, CHR_NEXT ), + DLG_KEYS_DATA( DLGK_ITEM_NEXT, KEY_DOWN ), + DLG_KEYS_DATA( DLGK_ITEM_NEXT, KEY_NEXT ), + DLG_KEYS_DATA( DLGK_ITEM_PREV, CHR_PREVIOUS ), + DLG_KEYS_DATA( DLGK_ITEM_PREV, KEY_PREVIOUS ), + DLG_KEYS_DATA( DLGK_ITEM_PREV, KEY_UP ), + DLG_KEYS_DATA( DLGK_PAGE_NEXT, KEY_NPAGE ), + DLG_KEYS_DATA( DLGK_PAGE_PREV, KEY_PPAGE ), + END_KEYS_BINDING + }; + /* * Set up editor window. */ @@ -125,7 +141,7 @@ diskeditor_show(const char *title, const /* Partition list sub-window */ partitions = dlg_sub_window(dialog, partlist_height, partlist_width, y + 3, x + 1); - dlg_register_window(partitions, "partlist", binding); + dlg_register_window(partitions, "partlist", binding2); dlg_register_buttons(partitions, "partlist", buttons); wattrset(partitions, menubox_attr); ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r251843 - in head: contrib/dialog contrib/dialog/package contrib/dialog/package/debian contrib/dialog/po contrib/dialog/samples contrib/dialog/samples/copifuncs contrib/dialog/samples/
On Mon, Jun 17, 2013 at 08:37:37AM -0500, Nathan Whitehorn wrote: > On 06/17/13 08:36, Baptiste Daroussin wrote: > > On Mon, Jun 17, 2013 at 08:28:47AM -0500, Nathan Whitehorn wrote: > >> On 06/17/13 05:28, Baptiste Daroussin wrote: > >>> Author: bapt > >>> Date: Mon Jun 17 10:28:55 2013 > >>> New Revision: 251843 > >>> URL: http://svnweb.freebsd.org/changeset/base/251843 > >>> > >>> Log: > >>> Update dialog to 1.2-20130523 > >>> Level up WARNS > >> This seems to have broken bsdinstall. In particular, it is no longer > >> possible to get focus in the text input boxes in the partition editor's > >> (sade/bsdinstall partedit) "Add Partition" or "Modify Partition" > >> dialogs. Any chance you could try to figure out why? My Ncurses > >> debugging skills are unfortunately not great. > > I'm on it, yes, it seems like the dlg_forms is leaking the bindings from the > > diskeditors form. > > > > I have a working patch but it is ugly. I'm trying to figure out the clean > > way to > > do so. > > > > regards, > > Bapt > > Thanks much! Please let me know if I can do anything to help. I committed a workaround, I dicovered that the key on the Partition Editor window are not the one we expect to be, I see no errors yet in libdialog code, I'll continue investigating, but waiting for a proper fix, it is usable again. regards, Bapt pgpcWa7DOT57_.pgp Description: PGP signature
svn commit: r251855 - head/sys/sys
Author: theraven Date: Mon Jun 17 15:30:47 2013 New Revision: 251855 URL: http://svnweb.freebsd.org/changeset/base/251855 Log: Rename a parameter in sys/time.h so that you don't get warnings for things like libdialog that include both this header and math.h. Modified: head/sys/sys/time.h Modified: head/sys/sys/time.h == --- head/sys/sys/time.h Mon Jun 17 15:16:14 2013(r251854) +++ head/sys/sys/time.h Mon Jun 17 15:30:47 2013(r251855) @@ -103,17 +103,17 @@ bintime_mul(struct bintime *bt, u_int x) } static __inline void -bintime_shift(struct bintime *bt, int exp) +bintime_shift(struct bintime *__bt, int __exp) { - if (exp > 0) { - bt->sec <<= exp; - bt->sec |= bt->frac >> (64 - exp); - bt->frac <<= exp; - } else if (exp < 0) { - bt->frac >>= -exp; - bt->frac |= (uint64_t)bt->sec << (64 + exp); - bt->sec >>= -exp; + if (__exp > 0) { + __bt->sec <<= __exp; + __bt->sec |= __bt->frac >> (64 - __exp); + __bt->frac <<= __exp; + } else if (__exp < 0) { + __bt->frac >>= -__exp; + __bt->frac |= (uint64_t)__bt->sec << (64 + __exp); + __bt->sec >>= -__exp; } } ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251856 - head/usr.bin/dtc
Author: theraven Date: Mon Jun 17 15:34:22 2013 New Revision: 251856 URL: http://svnweb.freebsd.org/changeset/base/251856 Log: Add a checker to dtc, based on a feature request from rwatson / brooks. This checks that every node that has children specifies their register sizes. This is not enabled by default, as the default sizes are sometimes required (including by some DTS in the tree), but can help when writing new device trees so that you can check that you actually meant the defaults. Modified: head/usr.bin/dtc/checking.cc head/usr.bin/dtc/dtc.1 Modified: head/usr.bin/dtc/checking.cc == --- head/usr.bin/dtc/checking.ccMon Jun 17 15:30:47 2013 (r251855) +++ head/usr.bin/dtc/checking.ccMon Jun 17 15:34:22 2013 (r251856) @@ -33,6 +33,8 @@ #include "checking.hh" #include + + namespace dtc { namespace fdt @@ -40,6 +42,54 @@ namespace fdt namespace checking { +namespace +{ + /** +* Checker that verifies that every node that has children has +* #address-cells and #size-cells properties. +*/ + struct address_cells_checker : public checker + { + address_cells_checker(const char *name) : checker(name) {} + virtual bool check_node(device_tree *tree, node *n) + { + // If this has no children, it trivially meets the + // conditions. + if (n->child_begin() == n->child_end()) + { + return true; + } + bool found_address = false; + bool found_size = false; + for (node::property_iterator i=n->property_begin(), +e=n->property_end() ; i!=e ; ++i) + { + if (!found_address) + { + found_address = ((*i)->get_key() == "#address-cells"); + } + if (!found_size) + { + found_size = ((*i)->get_key() == "#size-cells"); + } + if (found_size && found_address) + { + break; + } + } + if (!found_address) + { + report_error("Missing #address-cells property"); + } + if (!found_size) + { + report_error("Missing #size-cells property"); + } + return found_address && found_size; + } + }; +} // anonymous namespace + bool checker::visit_node(device_tree *tree, node *n) { @@ -157,6 +207,8 @@ check_manager::check_manager() add_property_type_checker( "type-model", string("model")); add_property_size_checker("type-phandle", string("phandle"), 4); + disabled_checkers.insert(std::make_pair(string("cells-attributes"), + new address_cells_checker("cells-attributes"))); } bool Modified: head/usr.bin/dtc/dtc.1 == --- head/usr.bin/dtc/dtc.1 Mon Jun 17 15:30:47 2013(r251855) +++ head/usr.bin/dtc/dtc.1 Mon Jun 17 15:34:22 2013(r251856) @@ -214,6 +214,12 @@ property. Checks the type of the .Va compatible property. +.It cells-attributes +Checks that all nodes with children have both +.Va #address-cells +and +.Va #size-cells +properties. .El .Sh EXAMPLES The command: ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r251507 - head/usr.sbin/portsnap/portsnap
On Sun, 16 Jun 2013, Gavin Atkinson wrote: > > > Make 'portsnap alfred' overwrite ports tree if it's not created by a > > > portsnap. > > > > FWIW, the 'alfred' command is poorly named and is used by other > > projects (ISTR portshaker uses it). It should also be documented. > > I would love to see this renamed - unfortunately the most obvious name for > it "update" is already taken. I wonder if it should be named "auto"? Hmm, 'forceupdate' maybe, in brief mimic to /etc/rc.d/* ? -- Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: ma...@freebsd.org ] *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- ma...@rinet.ru *** ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r251507 - head/usr.sbin/portsnap/portsnap
On 6/17/13 11:59 AM, Dmitry Morozovsky wrote: On Sun, 16 Jun 2013, Gavin Atkinson wrote: Make 'portsnap alfred' overwrite ports tree if it's not created by a portsnap. FWIW, the 'alfred' command is poorly named and is used by other projects (ISTR portshaker uses it). It should also be documented. I would love to see this renamed - unfortunately the most obvious name for it "update" is already taken. I wonder if it should be named "auto"? Hmm, 'forceupdate' maybe, in brief mimic to /etc/rc.d/* ? I've already told MANY people that it's easy to use when they just run "portsnap alfred". I think we need to leave it as this point. An alias is fine. -- Alfred Perlstein VP Software Engineering, iXsystems ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251858 - in head: contrib/gdb/gdb gnu/usr.bin/gdb/libgdb
Author: emaste Date: Mon Jun 17 18:34:34 2013 New Revision: 251858 URL: http://svnweb.freebsd.org/changeset/base/251858 Log: Fold in frame-unwind patch After moving to svn there's no need to avoid pulling files off a vendor branch. Deleted: head/gnu/usr.bin/gdb/libgdb/frame-unwind.diff Modified: head/contrib/gdb/gdb/frame-unwind.c head/gnu/usr.bin/gdb/libgdb/Makefile Modified: head/contrib/gdb/gdb/frame-unwind.c == --- head/contrib/gdb/gdb/frame-unwind.c Mon Jun 17 15:42:21 2013 (r251857) +++ head/contrib/gdb/gdb/frame-unwind.c Mon Jun 17 18:34:34 2013 (r251858) @@ -27,6 +27,8 @@ static struct gdbarch_data *frame_unwind_data; +frame_unwind_sniffer_ftype *kgdb_sniffer_kluge; + struct frame_unwind_table { frame_unwind_sniffer_ftype **sniffer; @@ -49,6 +51,8 @@ frame_unwind_init (struct gdbarch *gdbar { struct frame_unwind_table *table = XCALLOC (1, struct frame_unwind_table); append_predicate (table, dummy_frame_sniffer); + if (kgdb_sniffer_kluge != NULL) +append_predicate (table, kgdb_sniffer_kluge); return table; } Modified: head/gnu/usr.bin/gdb/libgdb/Makefile == --- head/gnu/usr.bin/gdb/libgdb/MakefileMon Jun 17 15:42:21 2013 (r251857) +++ head/gnu/usr.bin/gdb/libgdb/MakefileMon Jun 17 18:34:34 2013 (r251858) @@ -26,7 +26,7 @@ SRCS= annotate.c arch-utils.c auxv.c ax- elfread.c environ.c eval.c event-loop.c event-top.c exec.c \ expprint.c \ f-exp.y f-lang.c f-typeprint.c f-valprint.c findvar.c \ - ${_fork_child} frame-base.c frame-unwind-kluge.c frame.c \ + ${_fork_child} frame-base.c frame-unwind.c frame.c \ gdb-events.c gdbarch.c gdbtypes.c gnu-v2-abi.c gnu-v3-abi.c \ hpacc-abi.c \ inf-loop.c infcall.c infcmd.c inflow.c ${_infptrace} infrun.c \ @@ -67,13 +67,7 @@ _infptrace= infptrace.c _inftarg= inftarg.c .endif -GENSRCS= frame-unwind-kluge.c version.c - -frame-unwind-kluge.c: frame-unwind.diff - cat ${CNTRB_GDB}/gdb/frame-unwind.c > ${.TARGET} - patch ${.TARGET} ${.ALLSRC} - -CLEANFILES= frame-unwind-kluge.c.orig +GENSRCS= version.c version.c: echo '#include "version.h"' > ${.TARGET} ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251859 - head/sys/net
Author: delphij Date: Mon Jun 17 19:31:03 2013 New Revision: 251859 URL: http://svnweb.freebsd.org/changeset/base/251859 Log: Return ENETDOWN instead of ENOENT when all lagg(4) links are inactive when upper layer tries to transmit packet. This gives better feedback and meaningful errors for applications. MFC after:2 weeks Reviewed by: thompsa Modified: head/sys/net/if_lagg.c Modified: head/sys/net/if_lagg.c == --- head/sys/net/if_lagg.c Mon Jun 17 18:34:34 2013(r251858) +++ head/sys/net/if_lagg.c Mon Jun 17 19:31:03 2013(r251859) @@ -1608,7 +1608,7 @@ lagg_rr_start(struct lagg_softc *sc, str */ if ((lp = lagg_link_active(sc, lp)) == NULL) { m_freem(m); - return (ENOENT); + return (ENETDOWN); } /* Send mbuf */ @@ -1656,7 +1656,7 @@ lagg_fail_start(struct lagg_softc *sc, s /* Use the master port if active or the next available port */ if ((lp = lagg_link_active(sc, sc->sc_primary)) == NULL) { m_freem(m); - return (ENOENT); + return (ENETDOWN); } /* Send mbuf */ @@ -1785,7 +1785,7 @@ lagg_lb_start(struct lagg_softc *sc, str */ if ((lp = lagg_link_active(sc, lp)) == NULL) { m_freem(m); - return (ENOENT); + return (ENETDOWN); } /* Send mbuf */ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251862 - in head: sys/dev/puc sys/dev/vxge usr.bin/csup usr.bin/sort
Author: pluknet Date: Mon Jun 17 20:11:04 2013 New Revision: 251862 URL: http://svnweb.freebsd.org/changeset/base/251862 Log: Clean up -Wheader-guard warnings. Submitted by: MFC after:3 days X-MFC with: r251848 Modified: head/sys/dev/puc/puc_bfe.h head/sys/dev/puc/puc_cfg.h head/sys/dev/vxge/vxge.h head/usr.bin/csup/updater.h head/usr.bin/sort/vsort.h Modified: head/sys/dev/puc/puc_bfe.h == --- head/sys/dev/puc/puc_bfe.h Mon Jun 17 19:54:47 2013(r251861) +++ head/sys/dev/puc/puc_bfe.h Mon Jun 17 20:11:04 2013(r251862) @@ -27,7 +27,7 @@ */ #ifndef _DEV_PUC_BFE_H_ -#define_DEV_PUC_BFE_H +#define_DEV_PUC_BFE_H_ #definePUC_PCI_BARS6 Modified: head/sys/dev/puc/puc_cfg.h == --- head/sys/dev/puc/puc_cfg.h Mon Jun 17 19:54:47 2013(r251861) +++ head/sys/dev/puc/puc_cfg.h Mon Jun 17 20:11:04 2013(r251862) @@ -27,7 +27,7 @@ */ #ifndef _DEV_PUC_CFG_H_ -#define_DEV_PUC_CFG_H +#define_DEV_PUC_CFG_H_ #defineDEFAULT_RCLK1843200 Modified: head/sys/dev/vxge/vxge.h == --- head/sys/dev/vxge/vxge.hMon Jun 17 19:54:47 2013(r251861) +++ head/sys/dev/vxge/vxge.hMon Jun 17 20:11:04 2013(r251862) @@ -31,7 +31,7 @@ /*$FreeBSD$*/ #ifndef_VXGE_H_ -#define__VXGE_H_ +#define_VXGE_H_ #include #include Modified: head/usr.bin/csup/updater.h == --- head/usr.bin/csup/updater.h Mon Jun 17 19:54:47 2013(r251861) +++ head/usr.bin/csup/updater.h Mon Jun 17 20:11:04 2013(r251862) @@ -26,7 +26,7 @@ * $FreeBSD$ */ #ifndef _UPDATER_H_ -#define _UPDATER_H +#define _UPDATER_H_ void *updater(void *); Modified: head/usr.bin/sort/vsort.h == --- head/usr.bin/sort/vsort.h Mon Jun 17 19:54:47 2013(r251861) +++ head/usr.bin/sort/vsort.h Mon Jun 17 20:11:04 2013(r251862) @@ -28,7 +28,7 @@ */ #if !defined(__VSORT_H__) -#define _VSORT_H__ +#define __VSORT_H__ #include "bwstring.h" ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251863 - head/usr.bin/sort
Author: eadler Date: Mon Jun 17 20:15:39 2013 New Revision: 251863 URL: http://svnweb.freebsd.org/changeset/base/251863 Log: Fix header guards. This was ready about the same time as r251862 so just make one final cleanup Submitted by: d...@gmx.com Modified: head/usr.bin/sort/vsort.h Modified: head/usr.bin/sort/vsort.h == --- head/usr.bin/sort/vsort.h Mon Jun 17 20:11:04 2013(r251862) +++ head/usr.bin/sort/vsort.h Mon Jun 17 20:15:39 2013(r251863) @@ -27,8 +27,8 @@ * SUCH DAMAGE. */ -#if !defined(__VSORT_H__) -#define __VSORT_H__ +#ifndef _VSORT_H_ +#define _VSORT_H_ #include "bwstring.h" ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251867 - head/tools/regression/lib/libc/nss
Author: eadler Date: Mon Jun 17 20:27:20 2013 New Revision: 251867 URL: http://svnweb.freebsd.org/changeset/base/251867 Log: Restore "all rights reserved" (spelled correctly). This was actually part of the standard text of the license which I did not realize prior. Approved by: bushman Modified: head/tools/regression/lib/libc/nss/test-getaddr.c head/tools/regression/lib/libc/nss/test-getgr.c head/tools/regression/lib/libc/nss/test-gethostby.c head/tools/regression/lib/libc/nss/test-getproto.c head/tools/regression/lib/libc/nss/test-getpw.c head/tools/regression/lib/libc/nss/test-getrpc.c head/tools/regression/lib/libc/nss/test-getserv.c head/tools/regression/lib/libc/nss/test-getusershell.c Modified: head/tools/regression/lib/libc/nss/test-getaddr.c == --- head/tools/regression/lib/libc/nss/test-getaddr.c Mon Jun 17 20:26:19 2013(r251866) +++ head/tools/regression/lib/libc/nss/test-getaddr.c Mon Jun 17 20:27:20 2013(r251867) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2006 Michael Bushkov + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions Modified: head/tools/regression/lib/libc/nss/test-getgr.c == --- head/tools/regression/lib/libc/nss/test-getgr.c Mon Jun 17 20:26:19 2013(r251866) +++ head/tools/regression/lib/libc/nss/test-getgr.c Mon Jun 17 20:27:20 2013(r251867) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2006 Michael Bushkov + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions Modified: head/tools/regression/lib/libc/nss/test-gethostby.c == --- head/tools/regression/lib/libc/nss/test-gethostby.c Mon Jun 17 20:26:19 2013(r251866) +++ head/tools/regression/lib/libc/nss/test-gethostby.c Mon Jun 17 20:27:20 2013(r251867) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2006 Michael Bushkov + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions Modified: head/tools/regression/lib/libc/nss/test-getproto.c == --- head/tools/regression/lib/libc/nss/test-getproto.c Mon Jun 17 20:26:19 2013(r251866) +++ head/tools/regression/lib/libc/nss/test-getproto.c Mon Jun 17 20:27:20 2013(r251867) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2006 Michael Bushkov + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions Modified: head/tools/regression/lib/libc/nss/test-getpw.c == --- head/tools/regression/lib/libc/nss/test-getpw.c Mon Jun 17 20:26:19 2013(r251866) +++ head/tools/regression/lib/libc/nss/test-getpw.c Mon Jun 17 20:27:20 2013(r251867) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2006 Michael Bushkov + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions Modified: head/tools/regression/lib/libc/nss/test-getrpc.c == --- head/tools/regression/lib/libc/nss/test-getrpc.cMon Jun 17 20:26:19 2013(r251866) +++ head/tools/regression/lib/libc/nss/test-getrpc.cMon Jun 17 20:27:20 2013(r251867) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2006 Michael Bushkov + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions Modified: head/tools/regression/lib/libc/nss/test-getserv.c == --- head/tools/regression/lib/libc/nss/test-getserv.c Mon Jun 17 20:26:19 2013(r251866) +++ head/tools/regression/lib/libc/nss/test-getserv.c Mon Jun 17 20:27:20 2013(r251867) @@ -1,5 +1,6 @@ /*- * Copyright (c) 2006 Michael Bushkov + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions Modified: head/tools/regression/lib/libc/nss/test-getusershell.c == --- head/tools/regression/lib/libc/nss/test-getusershell.c Mon Jun 17 20:26:19 2013(r251866) +++ head/tools/regression/lib/l
Re: svn commit: r251803 - head/sys/kern
Hi Nathan, 2013/6/16 Nathan Whitehorn : > I'm a little worried about these kinds of changes from a performance > standpoint when using GCC 4.2. In particular, from the GCC manual: "In most > cases, these builtins are considered a full barrier." This is much more > synchronization that many of the atomic ops in machine/atomic.h actually > require. I'm worried this could lead to serious performance regressions on > e.g. PowerPC. gcc mostly seems to do the right thing, but I'm not completely > sure and it probably needs extensive testing. One way to accomplish that > could be to implement atomic(9) in terms of stdatomic. If nothing breaks or > becomes slow, then we will know we are in the clear permanently. > -Nathan Agreed. I did indeed implement on top of as a test a couple of weeks ago. What is nice, is that if I look at amd64/i386, the emitted machine code is almost identical, with the exception that in certain cases, generates more compact instructions (e.g. "lock inc" instead of adding an immediate 1). On armv6 the trend is similar, with the exception that in some cases Clang manages to emit slightly more intelligent code. It seems that one of our pieces of inline assembly causes the compiler to zero out certain registers before inserting the inline assembly, even though these registers tend to be overwritten by the assembly anyway. Weird. Replacement of used on amd64: http://80386.nl/pub/machine-atomic-wrapped.txt Still, you were actually interested in knowing the difference in performance when using GCC 4.2. I have to confess, I don't have any numbers on this, but I suspect there will be a dip, of course. But let me be clear on this; I am not proposing that we migrate our existing codebase to C11 atomics within the nearby future. This is something that should be considered by the time most of the platforms use Clang (or, unlikely GCC 4.6+). The reason why I made this chance, was that I at least want to have some coverage of the C11 atomics both in kernelspace and userspace. My goal is that C11 atomics work correctly on FreeBSD 10.0. My fear is that this likely cannot be achieved if there are exactly 0 pieces of code in our tree that use this. By not doing so, breakage of could go by unnoticed, maybe already when someone makes a tiny "harmless" modification to or . Correct me if I'm wrong, but I think it's extremely unlikely that this specific change will noticeably regress performance of the system as a whole. If I wanted to cripple performance on these architectures, I would have changed mtx(9) to use C11 atomics instead. Unrelated to this, there is something about this specific piece of code that is actually very interesting if you look at it into more detail. Notice how I took the liberty of changing filt_timerattach() to use a compare-and-exchange, instead of the two successive atomic operations it used to do. Maybe a smart compiler could consider rewriting this piece of code to something along the lines of this (on armv6): ldr r0, [kq_calloutmax] ldrex r1, [kq_ncallouts] cmp r0, r1 blt ... add r2, r1, #1 strex r1, r2, [kq_ncallouts] In other words, convert this to a "compare-less-than-and-increment", which is not offered by . It'll be interesting to see whether Clang will reach such a level of code quality. -- Ed Schouten ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251869 - head/sys/modules/linux
Author: eadler Date: Mon Jun 17 21:30:46 2013 New Revision: 251869 URL: http://svnweb.freebsd.org/changeset/base/251869 Log: Add missing dependency to linux${SFX}_genassym.c Submitted by: nox MFC After:3 days Modified: head/sys/modules/linux/Makefile Modified: head/sys/modules/linux/Makefile == --- head/sys/modules/linux/Makefile Mon Jun 17 20:40:16 2013 (r251868) +++ head/sys/modules/linux/Makefile Mon Jun 17 21:30:46 2013 (r251869) @@ -52,7 +52,7 @@ linux${SFX}_support.o: linux${SFX}_suppo ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \ ${.IMPSRC} -o ${.TARGET} -linux${SFX}_genassym.o: linux${SFX}_genassym.c linux.h @ machine +linux${SFX}_genassym.o: linux${SFX}_genassym.c linux.h @ machine x86 ${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC} .if !defined(KERNBUILDDIR) ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251872 - head/sys/dev/age
Author: markj Date: Mon Jun 17 22:59:47 2013 New Revision: 251872 URL: http://svnweb.freebsd.org/changeset/base/251872 Log: Be sure to actually decrement the "count" parameter for each processed descriptor so that we return when the threshold has been reached. Reviewed by: yongari MFC after:1 week Modified: head/sys/dev/age/if_age.c Modified: head/sys/dev/age/if_age.c == --- head/sys/dev/age/if_age.c Mon Jun 17 21:41:14 2013(r251871) +++ head/sys/dev/age/if_age.c Mon Jun 17 22:59:47 2013(r251872) @@ -2478,7 +2478,7 @@ age_rxintr(struct age_softc *sc, int rr_ sc->age_cdata.age_rx_ring_map, BUS_DMASYNC_POSTWRITE); for (prog = 0; rr_cons != rr_prod; prog++) { - if (count <= 0) + if (count-- <= 0) break; rxrd = &sc->age_rdata.age_rr_ring[rr_cons]; nsegs = AGE_RX_NSEGS(le32toh(rxrd->index)); ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r251855 - head/sys/sys
On Mon, 17 Jun 2013, David Chisnall wrote: Log: Rename a parameter in sys/time.h so that you don't get warnings for things like libdialog that include both this header and math.h. All the bintime stuff has similar namespace errors, starting with the field names 'sec' and 'frac' not having a prefix, despite the good example set by struct tm and good style requiring a prefix. 'sec' and 'frac' are paticularly bad field names since they are close to both English words and to good names for application variables. Modified: head/sys/sys/time.h == --- head/sys/sys/time.h Mon Jun 17 15:16:14 2013(r251854) +++ head/sys/sys/time.h Mon Jun 17 15:30:47 2013(r251855) @@ -103,17 +103,17 @@ bintime_mul(struct bintime *bt, u_int x) } static __inline void -bintime_shift(struct bintime *bt, int exp) +bintime_shift(struct bintime *__bt, int __exp) The new names have excessive underscores and are thus now just style bugs. Single underscores are ugly enough. 'exp' us only reserved by system headers when is included, and even then it is not normally a problem since it is not a macro. But bt is in the application namespace. #define bt bintime variables should be named _bt in inline functions #include This is now fixed, but only for this function. { - if (exp > 0) { - bt->sec <<= exp; - bt->sec |= bt->frac >> (64 - exp); - bt->frac <<= exp; - } else if (exp < 0) { - bt->frac >>= -exp; - bt->frac |= (uint64_t)bt->sec << (64 + exp); - bt->sec >>= -exp; + if (__exp > 0) { + __bt->sec <<= __exp; + __bt->sec |= __bt->frac >> (64 - __exp); + __bt->frac <<= __exp; + } else if (__exp < 0) { + __bt->frac >>= -__exp; + __bt->frac |= (uint64_t)__bt->sec << (64 + __exp); + __bt->sec >>= -__exp; } } __bt has another naming error. It is not a bintime variable, but a pointer to one. It should be named _btp. This style bug is everywhere dense in bintime code. 'sec' and 'frac' are in the application namespace. #define sec namespace errors in bintime bite me if I do this #define fracthe errors are just as undocumented as the namespace #include This is not fixed. Bruce ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r251862 - in head: sys/dev/puc sys/dev/vxge usr.bin/csup usr.bin/sort
On Mon, 17 Jun 2013, Sergey Kandaurov wrote: Log: Clean up -Wheader-guard warnings. An interesting feature. It seems to be missing warnings about style bugs in header-guard names. Modified: head/sys/dev/puc/puc_bfe.h == --- head/sys/dev/puc/puc_bfe.h Mon Jun 17 19:54:47 2013(r251861) +++ head/sys/dev/puc/puc_bfe.h Mon Jun 17 20:11:04 2013(r251862) @@ -27,7 +27,7 @@ */ #ifndef _DEV_PUC_BFE_H_ -#define_DEV_PUC_BFE_H +#define_DEV_PUC_BFE_H_ Local headers shouldn't have or need header-guards, but the name and formatting of this header-guard is in normal style. #define PUC_PCI_BARS6 The name and formatting at the end of the file were already correct, but the comment on the #endif is still backwards. Modified: head/sys/dev/puc/puc_cfg.h Similarly in other puc headers. Modified: head/sys/dev/vxge/vxge.h == --- head/sys/dev/vxge/vxge.hMon Jun 17 19:54:47 2013(r251861) +++ head/sys/dev/vxge/vxge.hMon Jun 17 20:11:04 2013(r251862) @@ -31,7 +31,7 @@ /*$FreeBSD$*/ #ifndef _VXGE_H_ -#define__VXGE_H_ +#define_VXGE_H_ This one has more style bugs: - tab instead of space after ifndef - no path prefix in header name #include #include And at the end of the file: - tab instead of space after ifndef - the comment is backwards of course. Modified: head/usr.bin/csup/updater.h == --- head/usr.bin/csup/updater.h Mon Jun 17 19:54:47 2013(r251861) +++ head/usr.bin/csup/updater.h Mon Jun 17 20:11:04 2013(r251862) @@ -26,7 +26,7 @@ * $FreeBSD$ */ #ifndef _UPDATER_H_ -#define _UPDATER_H +#define _UPDATER_H_ void*updater(void *); Missing blank line before #define. Space instead of tab after #define. No path prefix, but application headers are much more local than dev headers, so a path prefix is less useful for them. Some dev headers are installed in /usr/include, but the puc ones aren't. The style of the #endif is normal in this file, but the ifdef section is so short that it breaks the style(9) rule about not commenting short ifdefs. This include file has 1 line of useful code, 5 lines of head-guard and 27 lines of copyright. csup has header files like this that would be tiny except for the copyright. I don't like this organization. The 1 useful line in this include file consists of a prototype, so it doesn't need a header-guard. Modified: head/usr.bin/sort/vsort.h == --- head/usr.bin/sort/vsort.h Mon Jun 17 19:54:47 2013(r251861) +++ head/usr.bin/sort/vsort.h Mon Jun 17 20:11:04 2013(r251862) @@ -28,7 +28,7 @@ */ #if !defined(__VSORT_H__) -#define _VSORT_H__ +#define __VSORT_H__ #include "bwstring.h" #if !defined() instead of #ifdef. Excessive underscores in header-guard name (the old name was half correct). Space instead of tab after #define. No comment on the #endif, but this is another header that would be tiny without its header-guard and copyright. Bruce ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251885 - head/etc/rc.d
Author: dteske Date: Tue Jun 18 02:37:15 2013 New Revision: 251885 URL: http://svnweb.freebsd.org/changeset/base/251885 Log: Allow $ntpdate_config to be NULL. Due to a lack of surrounding quotes, when ntpdate_config was set to NULL the conditional would (counter to prevailing logic) succeed -- leading to awk attempting to redirect from a NULL pathname standard-in. While we're here, make the script consistant with itself by removing the {curlies} around ntpdate_config (they are unnecessary). Modified: head/etc/rc.d/ntpdate Modified: head/etc/rc.d/ntpdate == --- head/etc/rc.d/ntpdate Tue Jun 18 02:20:34 2013(r251884) +++ head/etc/rc.d/ntpdate Tue Jun 18 02:37:15 2013(r251885) @@ -16,13 +16,13 @@ start_cmd="ntpdate_start" ntpdate_start() { - if [ -z "$ntpdate_hosts" -a -f ${ntpdate_config} ]; then + if [ -z "$ntpdate_hosts" -a -f "$ntpdate_config" ]; then ntpdate_hosts=`awk ' /^server[ \t]*127.127/ {next} /^(server|peer)/{ if ($2 ~/^-/) {print $3} else{print $2}} - ' < ${ntpdate_config}` + ' < "$ntpdate_config"` fi if [ -n "$ntpdate_hosts" -o -n "$rc_flags" ]; then echo "Setting date via ntp." ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251886 - in head: contrib/apr contrib/apr-util contrib/serf contrib/sqlite3 contrib/subversion share/mk usr.bin usr.bin/svn usr.bin/svn/lib usr.bin/svn/lib/libapr usr.bin/svn/lib/libap...
Author: peter Date: Tue Jun 18 02:53:45 2013 New Revision: 251886 URL: http://svnweb.freebsd.org/changeset/base/251886 Log: Introduce svnlite so that we can check out our source code again. This is actually a fully functional build except: * All internal shared libraries are static linked to make sure there is no interference with ports (and to reduce build time). * It does not have the python/perl/etc plugin or API support. * By default, it installs as "svnlite" rather than "svn". * If WITH_SVN added in make.conf, you get "svn". * If WITHOUT_SVNLITE is in make.conf, this is completely disabled. To be absolutely clear, this is not intended for any use other than checking out freebsd source and committing, like we once did with cvs. It should be usable for small scale local repositories that don't need the python/perl plugin architecture. Added: head/contrib/apr/ - copied from r251882, vendor/apr/dist/ head/contrib/apr-util/ - copied from r251882, vendor/apr-util/dist/ head/contrib/serf/ - copied from r251882, vendor/serf/dist/ head/contrib/sqlite3/ - copied from r251884, vendor/sqlite3/dist/ head/contrib/subversion/ - copied from r251882, vendor/subversion/dist/ head/usr.bin/svn/ head/usr.bin/svn/Makefile (contents, props changed) head/usr.bin/svn/Makefile.inc (contents, props changed) head/usr.bin/svn/expat.h (contents, props changed) head/usr.bin/svn/lib/ head/usr.bin/svn/lib/Makefile (contents, props changed) head/usr.bin/svn/lib/Makefile.inc (contents, props changed) head/usr.bin/svn/lib/libapr/ head/usr.bin/svn/lib/libapr/Makefile (contents, props changed) head/usr.bin/svn/lib/libapr/apr.h (contents, props changed) head/usr.bin/svn/lib/libapr/apr_private.h (contents, props changed) head/usr.bin/svn/lib/libapr_util/ head/usr.bin/svn/lib/libapr_util/Makefile (contents, props changed) head/usr.bin/svn/lib/libapr_util/apr_ldap.h (contents, props changed) head/usr.bin/svn/lib/libapr_util/apu.h (contents, props changed) head/usr.bin/svn/lib/libapr_util/apu_config.h (contents, props changed) head/usr.bin/svn/lib/libapr_util/apu_select_dbm.h (contents, props changed) head/usr.bin/svn/lib/libapr_util/apu_want.h (contents, props changed) head/usr.bin/svn/lib/libapr_util/expat.h (contents, props changed) head/usr.bin/svn/lib/libserf/ head/usr.bin/svn/lib/libserf/Makefile (contents, props changed) head/usr.bin/svn/lib/libsqlite3/ head/usr.bin/svn/lib/libsqlite3/Makefile (contents, props changed) head/usr.bin/svn/lib/libsvn_client/ head/usr.bin/svn/lib/libsvn_client/Makefile (contents, props changed) head/usr.bin/svn/lib/libsvn_delta/ head/usr.bin/svn/lib/libsvn_delta/Makefile (contents, props changed) head/usr.bin/svn/lib/libsvn_diff/ head/usr.bin/svn/lib/libsvn_diff/Makefile (contents, props changed) head/usr.bin/svn/lib/libsvn_fs/ head/usr.bin/svn/lib/libsvn_fs/Makefile (contents, props changed) head/usr.bin/svn/lib/libsvn_fs_fs/ head/usr.bin/svn/lib/libsvn_fs_fs/Makefile (contents, props changed) head/usr.bin/svn/lib/libsvn_fs_util/ head/usr.bin/svn/lib/libsvn_fs_util/Makefile (contents, props changed) head/usr.bin/svn/lib/libsvn_ra/ head/usr.bin/svn/lib/libsvn_ra/Makefile (contents, props changed) head/usr.bin/svn/lib/libsvn_ra_local/ head/usr.bin/svn/lib/libsvn_ra_local/Makefile (contents, props changed) head/usr.bin/svn/lib/libsvn_ra_serf/ head/usr.bin/svn/lib/libsvn_ra_serf/Makefile (contents, props changed) head/usr.bin/svn/lib/libsvn_ra_svn/ head/usr.bin/svn/lib/libsvn_ra_svn/Makefile (contents, props changed) head/usr.bin/svn/lib/libsvn_repos/ head/usr.bin/svn/lib/libsvn_repos/Makefile (contents, props changed) head/usr.bin/svn/lib/libsvn_subr/ head/usr.bin/svn/lib/libsvn_subr/Makefile (contents, props changed) head/usr.bin/svn/lib/libsvn_wc/ head/usr.bin/svn/lib/libsvn_wc/Makefile (contents, props changed) head/usr.bin/svn/svn/ head/usr.bin/svn/svn/Makefile (contents, props changed) head/usr.bin/svn/svn_private_config.h (contents, props changed) head/usr.bin/svn/svnadmin/ head/usr.bin/svn/svnadmin/Makefile (contents, props changed) head/usr.bin/svn/svndumpfilter/ head/usr.bin/svn/svndumpfilter/Makefile (contents, props changed) head/usr.bin/svn/svnlook/ head/usr.bin/svn/svnlook/Makefile (contents, props changed) head/usr.bin/svn/svnmucc/ head/usr.bin/svn/svnmucc/Makefile (contents, props changed) head/usr.bin/svn/svnrdump/ head/usr.bin/svn/svnrdump/Makefile (contents, props changed) head/usr.bin/svn/svnserve/ head/usr.bin/svn/svnserve/Makefile (contents, props changed) head/usr.bin/svn/svnsync/ head/usr.bin/svn/svnsync/Makefile (contents, props changed) head/usr.bin/svn/svnversion/ head/usr.bin/svn/svnversion/Makefile (contents, props changed) Modified: head/share/mk/bsd.own.mk head/usr.bin/Makefile Modified: head/
svn commit: r251887 - in head: share/man/man3 sys/sys
Author: lstewart Date: Tue Jun 18 02:57:56 2013 New Revision: 251887 URL: http://svnweb.freebsd.org/changeset/base/251887 Log: Add new FOREACH_FROM variants of the queue(3) FOREACH macros which can optionally start the traversal from a previously found element by passing the element in as "var". Passing a NULL "var" retains the same semantics as the regular FOREACH macros. Kudos to phk for suggesting the "FROM" suffix instead of my original proposal. Reviewed by: jhb (previous version), rpaulo MFC after:1 week Modified: head/share/man/man3/queue.3 head/sys/sys/queue.h Modified: head/share/man/man3/queue.3 == --- head/share/man/man3/queue.3 Tue Jun 18 02:53:45 2013(r251886) +++ head/share/man/man3/queue.3 Tue Jun 18 02:57:56 2013(r251887) @@ -32,7 +32,7 @@ .\"@(#)queue.3 8.2 (Berkeley) 1/24/94 .\" $FreeBSD$ .\" -.Dd Sep 12, 2012 +.Dd June 17, 2013 .Dt QUEUE 3 .Os .Sh NAME @@ -40,7 +40,9 @@ .Nm SLIST_ENTRY , .Nm SLIST_FIRST , .Nm SLIST_FOREACH , +.Nm SLIST_FOREACH_FROM , .Nm SLIST_FOREACH_SAFE , +.Nm SLIST_FOREACH_FROM_SAFE , .Nm SLIST_HEAD , .Nm SLIST_HEAD_INITIALIZER , .Nm SLIST_INIT , @@ -56,7 +58,9 @@ .Nm STAILQ_ENTRY , .Nm STAILQ_FIRST , .Nm STAILQ_FOREACH , +.Nm STAILQ_FOREACH_FROM , .Nm STAILQ_FOREACH_SAFE , +.Nm STAILQ_FOREACH_FROM_SAFE , .Nm STAILQ_HEAD , .Nm STAILQ_HEAD_INITIALIZER , .Nm STAILQ_INIT , @@ -73,7 +77,9 @@ .Nm LIST_ENTRY , .Nm LIST_FIRST , .Nm LIST_FOREACH , +.Nm LIST_FOREACH_FROM , .Nm LIST_FOREACH_SAFE , +.Nm LIST_FOREACH_FROM_SAFE , .Nm LIST_HEAD , .Nm LIST_HEAD_INITIALIZER , .Nm LIST_INIT , @@ -89,9 +95,13 @@ .Nm TAILQ_ENTRY , .Nm TAILQ_FIRST , .Nm TAILQ_FOREACH , +.Nm TAILQ_FOREACH_FROM , .Nm TAILQ_FOREACH_SAFE , +.Nm TAILQ_FOREACH_FROM_SAFE , .Nm TAILQ_FOREACH_REVERSE , +.Nm TAILQ_FOREACH_REVERSE_FROM , .Nm TAILQ_FOREACH_REVERSE_SAFE , +.Nm TAILQ_FOREACH_REVERSE_FROM_SAFE , .Nm TAILQ_HEAD , .Nm TAILQ_HEAD_INITIALIZER , .Nm TAILQ_INIT , @@ -113,7 +123,9 @@ lists and tail queues .Fn SLIST_ENTRY "TYPE" .Fn SLIST_FIRST "SLIST_HEAD *head" .Fn SLIST_FOREACH "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME" +.Fn SLIST_FOREACH_FROM "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME" .Fn SLIST_FOREACH_SAFE "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME" "TYPE *temp_var" +.Fn SLIST_FOREACH_FROM_SAFE "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME" "TYPE *temp_var" .Fn SLIST_HEAD "HEADNAME" "TYPE" .Fn SLIST_HEAD_INITIALIZER "SLIST_HEAD head" .Fn SLIST_INIT "SLIST_HEAD *head" @@ -130,7 +142,9 @@ lists and tail queues .Fn STAILQ_ENTRY "TYPE" .Fn STAILQ_FIRST "STAILQ_HEAD *head" .Fn STAILQ_FOREACH "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" +.Fn STAILQ_FOREACH_FROM "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" .Fn STAILQ_FOREACH_SAFE "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" "TYPE *temp_var" +.Fn STAILQ_FOREACH_FROM_SAFE "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" "TYPE *temp_var" .Fn STAILQ_HEAD "HEADNAME" "TYPE" .Fn STAILQ_HEAD_INITIALIZER "STAILQ_HEAD head" .Fn STAILQ_INIT "STAILQ_HEAD *head" @@ -148,7 +162,9 @@ lists and tail queues .Fn LIST_ENTRY "TYPE" .Fn LIST_FIRST "LIST_HEAD *head" .Fn LIST_FOREACH "TYPE *var" "LIST_HEAD *head" "LIST_ENTRY NAME" +.Fn LIST_FOREACH_FROM "TYPE *var" "LIST_HEAD *head" "LIST_ENTRY NAME" .Fn LIST_FOREACH_SAFE "TYPE *var" "LIST_HEAD *head" "LIST_ENTRY NAME" "TYPE *temp_var" +.Fn LIST_FOREACH_FROM_SAFE "TYPE *var" "LIST_HEAD *head" "LIST_ENTRY NAME" "TYPE *temp_var" .Fn LIST_HEAD "HEADNAME" "TYPE" .Fn LIST_HEAD_INITIALIZER "LIST_HEAD head" .Fn LIST_INIT "LIST_HEAD *head" @@ -165,9 +181,13 @@ lists and tail queues .Fn TAILQ_ENTRY "TYPE" .Fn TAILQ_FIRST "TAILQ_HEAD *head" .Fn TAILQ_FOREACH "TYPE *var" "TAILQ_HEAD *head" "TAILQ_ENTRY NAME" +.Fn TAILQ_FOREACH_FROM "TYPE *var" "TAILQ_HEAD *head" "TAILQ_ENTRY NAME" .Fn TAILQ_FOREACH_SAFE "TYPE *var" "TAILQ_HEAD *head" "TAILQ_ENTRY NAME" "TYPE *temp_var" +.Fn TAILQ_FOREACH_FROM_SAFE "TYPE *var" "TAILQ_HEAD *head" "TAILQ_ENTRY NAME" "TYPE *temp_var" .Fn TAILQ_FOREACH_REVERSE "TYPE *var" "TAILQ_HEAD *head" "HEADNAME" "TAILQ_ENTRY NAME" +.Fn TAILQ_FOREACH_REVERSE_FROM "TYPE *var" "TAILQ_HEAD *head" "HEADNAME" "TAILQ_ENTRY NAME" .Fn TAILQ_FOREACH_REVERSE_SAFE "TYPE *var" "TAILQ_HEAD *head" "HEADNAME" "TAILQ_ENTRY NAME" "TYPE *temp_var" +.Fn TAILQ_FOREACH_REVERSE_FROM_SAFE "TYPE *var" "TAILQ_HEAD *head" "HEADNAME" "TAILQ_ENTRY NAME" "TYPE *temp_var" .Fn TAILQ_HEAD "HEADNAME" "TYPE" .Fn TAILQ_HEAD_INITIALIZER "TAILQ_HEAD head" .Fn TAILQ_INIT "TAILQ_HEAD *head" @@ -365,6 +385,19 @@ turn to .Fa var . .Pp The macro +.Nm SLIST_FOREACH_FROM +behaves identically to +.Nm SLIST_FOREACH +when +.Fa var +is NULL, else it treats +.Fa var +as a previously found SLIST element and begins the loop at +.Fa var +instead of the first element in the SLIST referenced by +.Fa head . +.Pp +The macro .N
svn commit: r251894 - in head: lib/libmemstat sys/vm
Author: jeff Date: Tue Jun 18 04:50:20 2013 New Revision: 251894 URL: http://svnweb.freebsd.org/changeset/base/251894 Log: Refine UMA bucket allocation to reduce space consumption and improve performance. - Always free to the alloc bucket if there is space. This gives LIFO allocation order to improve hot-cache performance. This also allows for zones with a single bucket per-cpu rather than a pair if the entire working set fits in one bucket. - Enable per-cpu caches of buckets. To prevent recursive bucket allocation one bucket zone still has per-cpu caches disabled. - Pick the initial bucket size based on a table driven maximum size per-bucket rather than the number of items per-page. This gives more sane initial sizes. - Only grow the bucket size when we face contention on the zone lock, this causes bucket sizes to grow more slowly. - Adjust the number of items per-bucket to account for the header space. This packs the buckets more efficiently per-page while making them not quite powers of two. - Eliminate the per-zone free bucket list. Always return buckets back to the bucket zone. This ensures that as zones grow into larger bucket sizes they eventually discard the smaller sizes. It persists fewer buckets in the system. The locking is slightly trickier. - Only switch buckets in zalloc, not zfree, this eliminates pathological cases where we ping-pong between two buckets. - Ensure that the thread that fills a new bucket gets to allocate from it to give a better upper bound on allocation time. Sponsored by: EMC / Isilon Storage Division Modified: head/lib/libmemstat/memstat_uma.c head/sys/vm/uma_core.c head/sys/vm/uma_int.h Modified: head/lib/libmemstat/memstat_uma.c == --- head/lib/libmemstat/memstat_uma.c Tue Jun 18 04:11:16 2013 (r251893) +++ head/lib/libmemstat/memstat_uma.c Tue Jun 18 04:50:20 2013 (r251894) @@ -446,7 +446,7 @@ skip_percpu: kz.uk_ipers; mtp->mt_byteslimit = mtp->mt_countlimit * mtp->mt_size; mtp->mt_count = mtp->mt_numallocs - mtp->mt_numfrees; - for (ubp = LIST_FIRST(&uz.uz_full_bucket); ubp != + for (ubp = LIST_FIRST(&uz.uz_buckets); ubp != NULL; ubp = LIST_NEXT(&ub, ub_link)) { ret = kread(kvm, ubp, &ub, sizeof(ub), 0); mtp->mt_zonefree += ub.ub_cnt; Modified: head/sys/vm/uma_core.c == --- head/sys/vm/uma_core.c Tue Jun 18 04:11:16 2013(r251893) +++ head/sys/vm/uma_core.c Tue Jun 18 04:50:20 2013(r251894) @@ -192,27 +192,26 @@ struct uma_kctor_args { struct uma_bucket_zone { uma_zone_t ubz_zone; char*ubz_name; - int ubz_entries; + int ubz_entries;/* Number of items it can hold. */ + int ubz_maxsize;/* Maximum allocation size per-item. */ }; -#defineBUCKET_MAX 128 +/* + * Compute the actual number of bucket entries to pack them in power + * of two sizes for more efficient space utilization. + */ +#defineBUCKET_SIZE(n) \ +(((sizeof(void *) * (n)) - sizeof(struct uma_bucket)) / sizeof(void *)) + +#defineBUCKET_MAX BUCKET_SIZE(128) struct uma_bucket_zone bucket_zones[] = { - { NULL, "16 Bucket", 16 }, - { NULL, "32 Bucket", 32 }, - { NULL, "64 Bucket", 64 }, - { NULL, "128 Bucket", 128 }, + { NULL, "32 Bucket", BUCKET_SIZE(32), 512 }, + { NULL, "64 Bucket", BUCKET_SIZE(64), 256 }, + { NULL, "128 Bucket", BUCKET_SIZE(128), 128 }, { NULL, NULL, 0} }; - -#defineBUCKET_SHIFT4 -#defineBUCKET_ZONES((BUCKET_MAX >> BUCKET_SHIFT) + 1) - -/* - * bucket_size[] maps requested bucket sizes to zones that allocate a bucket - * of approximately the right size. - */ -static uint8_t bucket_size[BUCKET_ZONES]; +static uma_zone_t largebucket; /* * Flags and enumerations to be passed to internal functions. @@ -250,7 +249,7 @@ static void bucket_init(void); static uma_bucket_t bucket_alloc(int, int); static void bucket_free(uma_bucket_t); static void bucket_zone_drain(void); -static int zone_alloc_bucket(uma_zone_t zone, int flags); +static uma_bucket_t zone_alloc_bucket(uma_zone_t zone, int flags); static uma_slab_t zone_fetch_slab(uma_zone_t zone, uma_keg_t last, int flags); static uma_slab_t zone_fetch_slab_multi(uma_zone_t zone, uma_keg_t last, int flags); static void *slab_alloc_item(uma_keg_t keg, uma_slab_t slab); @@ -283,7 +282,6 @@ SYSCTL_INT(_vm, OID_AUTO, zone_warnings, /* * This routine checks to see
svn commit: r251895 - head/contrib/subversion/subversion/libsvn_wc
Author: peter Date: Tue Jun 18 04:56:11 2013 New Revision: 251895 URL: http://svnweb.freebsd.org/changeset/base/251895 Log: Merge the 3-way merge marker tweak. Modified: head/contrib/subversion/subversion/libsvn_wc/merge.c Modified: head/contrib/subversion/subversion/libsvn_wc/merge.c == --- head/contrib/subversion/subversion/libsvn_wc/merge.cTue Jun 18 04:50:20 2013(r251894) +++ head/contrib/subversion/subversion/libsvn_wc/merge.cTue Jun 18 04:56:11 2013(r251895) @@ -421,7 +421,7 @@ do_text_merge(svn_boolean_t *contains_co target_marker, right_marker, "===", /* separator */ - svn_diff_conflict_display_modified_latest, + svn_diff_conflict_display_modified_original_latest, pool)); SVN_ERR(svn_stream_close(ostream)); ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r251896 - head/contrib/subversion/subversion/svn
Author: peter Date: Tue Jun 18 04:57:36 2013 New Revision: 251896 URL: http://svnweb.freebsd.org/changeset/base/251896 Log: Merge the commit template patch. Modified: head/contrib/subversion/subversion/svn/util.c Modified: head/contrib/subversion/subversion/svn/util.c == --- head/contrib/subversion/subversion/svn/util.c Tue Jun 18 04:56:11 2013(r251895) +++ head/contrib/subversion/subversion/svn/util.c Tue Jun 18 04:57:36 2013(r251896) @@ -66,6 +66,9 @@ #include "private/svn_client_private.h" #include "private/svn_cmdline_private.h" #include "private/svn_string_private.h" +#ifdef HAS_ORGANIZATION_NAME +#include "freebsd-organization.h" +#endif @@ -322,6 +325,67 @@ truncate_buffer_at_prefix(apr_size_t *ne } +/* + * Since we're adding freebsd-specific tokens to the log message, + * clean out any leftovers to avoid accidently sending them to other + * projects that won't be expecting them. + */ + +static const char *prefixes[] = { + "PR:", + "Submitted by:", + "Reviewed by:", + "Approved by:", + "Obtained from:", + "MFC after:", + "Security:", + "Sponsored by:" +}; + +void +cleanmsg(apr_size_t *l, char *s) +{ + int i; + char *pos; + char *kw; + char *p; + int empty; + + for (i = 0; i < sizeof(prefixes) / sizeof(prefixes[0]); i++) { +pos = s; +while ((kw = strstr(pos, prefixes[i])) != NULL) { + /* Check to see if keyword is at start of line (or buffer) */ + if (!(kw == s || kw[-1] == '\r' || kw[-1] == '\n')) { + pos = kw + 1; + continue; + } + p = kw + strlen(prefixes[i]); + empty = 1; + while (1) { + if (*p == ' ' || *p == '\t') { + p++; + continue; + } + if (*p == '\0' || *p == '\r' || *p == '\n') + break; + empty = 0; + break; + } + if (empty && (*p == '\r' || *p == '\n')) { + memmove(kw, p + 1, strlen(p + 1) + 1); + if (l) + *l -= (p + 1 - kw); + } else if (empty) { + *kw = '\0'; + if (l) + *l -= (p - kw); + } else { + pos = p; + } +} + } +} + #define EDITOR_EOF_PREFIX _("--This line, and those below, will be ignored--") svn_error_t * @@ -337,8 +401,32 @@ svn_cl__get_log_message(const char **log /* Set default message. */ default_msg = svn_stringbuf_create(APR_EOL_STR, pool); + svn_stringbuf_appendcstr(default_msg, APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "PR:\t\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Submitted by:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Reviewed by:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Approved by:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Obtained from:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "MFC after:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Security:\t" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "Sponsored by:\t" +#ifdef HAS_ORGANIZATION_NAME + ORGANIZATION_NAME +#endif + APR_EOL_STR); svn_stringbuf_appendcstr(default_msg, EDITOR_EOF_PREFIX); - svn_stringbuf_appendcstr(default_msg, APR_EOL_STR APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Description of fields to fill in above: 76 columns --|" APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> PR:If a GNATS PR is affected by the change." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Submitted by: If someone else sent in the change." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Reviewed by: If someone else reviewed your modification." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Approved by: If you needed approval for this commit." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Obtained from: If the change is from a third party." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> MFC after: N [day[s]|week[s]|month[s]]. Request a reminder email." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Security: Vulnerability reference (one per line) or description." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Sponsored by: If the change was sponsored by an organization." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, "> Empty fields above will be automatically removed." APR_EOL_STR); + svn_stringbuf_appendcstr(default_msg, APR_EOL_STR); *tmp_file = NULL; if (lmb->message) @@ -350,6 +438,7 @@ svn_cl__get_log_message(const char **log that follows it. */ truncate_buffer_at_prefix(&(log_msg_buf->len), log_msg_buf->data, EDITOR_EOF_PREFIX); + cleanmsg(NULL, (char*)log_msg_buf->data); /* Make a string from a stringbuf, sharing the data allocation. */ log_msg_str->data = log
svn commit: r251900 - in head/sys: powerpc/powerpc x86/x86
Author: rpaulo Date: Tue Jun 18 06:55:58 2013 New Revision: 251900 URL: http://svnweb.freebsd.org/changeset/base/251900 Log: Fix a KTR_BUSDMA format string. Modified: head/sys/powerpc/powerpc/busdma_machdep.c head/sys/x86/x86/busdma_machdep.c Modified: head/sys/powerpc/powerpc/busdma_machdep.c == --- head/sys/powerpc/powerpc/busdma_machdep.c Tue Jun 18 05:37:06 2013 (r251899) +++ head/sys/powerpc/powerpc/busdma_machdep.c Tue Jun 18 06:55:58 2013 (r251900) @@ -888,7 +888,7 @@ _bus_dmamap_sync(bus_dma_tag_t dmat, bus * the caches on broken hardware */ CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x op 0x%x " - "performing bounce", __func__, op, dmat, dmat->flags); + "performing bounce", __func__, dmat, dmat->flags, op); if (op & BUS_DMASYNC_PREWRITE) { while (bpage != NULL) { Modified: head/sys/x86/x86/busdma_machdep.c == --- head/sys/x86/x86/busdma_machdep.c Tue Jun 18 05:37:06 2013 (r251899) +++ head/sys/x86/x86/busdma_machdep.c Tue Jun 18 06:55:58 2013 (r251900) @@ -898,7 +898,7 @@ _bus_dmamap_sync(bus_dma_tag_t dmat, bus * the caches on broken hardware */ CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x op 0x%x " - "performing bounce", __func__, op, dmat, dmat->flags); + "performing bounce", __func__, dmat, dmat->flags, op); if (op & BUS_DMASYNC_PREWRITE) { while (bpage != NULL) { ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"