svn commit: r217187 - head/etc/defaults

2011-01-09 Thread Jaakko Heinonen
Author: jh
Date: Sun Jan  9 09:21:11 2011
New Revision: 217187
URL: http://svn.freebsd.org/changeset/base/217187

Log:
  Replace nfs4 with newnfs in netfs_types. nfs4 was removed in r192578 and
  mount(8) has supported newnfs since r192930.
  
  PR:   conf/153655
  Submitted by: Anonymous 
  MFC after:3 weeks

Modified:
  head/etc/defaults/rc.conf

Modified: head/etc/defaults/rc.conf
==
--- head/etc/defaults/rc.conf   Sun Jan  9 08:54:57 2011(r217186)
+++ head/etc/defaults/rc.conf   Sun Jan  9 09:21:11 2011(r217187)
@@ -89,7 +89,7 @@ fsck_y_enable="NO"# Set to YES to do fs
 fsck_y_flags=""# Additional flags for fsck -y
 background_fsck="YES"  # Attempt to run fsck in the background where possible.
 background_fsck_delay="60" # Time to wait (seconds) before starting the fsck.
-netfs_types="nfs:NFS nfs4:NFS4 smbfs:SMB portalfs:PORTAL nwfs:NWFS" # Net 
filesystems.
+netfs_types="nfs:NFS newnfs:NEWNFS smbfs:SMB portalfs:PORTAL nwfs:NWFS" # Net 
filesystems.
 extra_netfs_types="NO" # List of network extra filesystem types for delayed
# mount at startup (or NO).
 
___
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: r217191 - in head/lib/libthr: . thread

2011-01-09 Thread Konstantin Belousov
Author: kib
Date: Sun Jan  9 12:38:40 2011
New Revision: 217191
URL: http://svn.freebsd.org/changeset/base/217191

Log:
  Implement the __pthread_map_stacks_exec() for libthr.
  
  Stack creation code is changed to call _rtld_get_stack_prot() to get
  the stack protection right. There is a race where thread is created
  during dlopen() of dso that requires executable stacks. Then,
  _rtld_get_stack_prot() may return PROT_READ | PROT_WRITE, but thread
  is still not linked into the thread list. In this case, the callback
  misses the thread stack, and rechecks the required protection
  afterward.
  
  Reviewed by:  davidxu

Modified:
  head/lib/libthr/pthread.map
  head/lib/libthr/thread/thr_create.c
  head/lib/libthr/thread/thr_private.h
  head/lib/libthr/thread/thr_rtld.c
  head/lib/libthr/thread/thr_stack.c

Modified: head/lib/libthr/pthread.map
==
--- head/lib/libthr/pthread.map Sun Jan  9 11:52:23 2011(r217190)
+++ head/lib/libthr/pthread.map Sun Jan  9 12:38:40 2011(r217191)
@@ -382,6 +382,8 @@ FBSDprivate_1.0 {
_thread_size_key;
_thread_state_running;
_thread_state_zoombie;
+
+   __pthread_map_stacks_exec;
 };
 
 FBSD_1.1 {

Modified: head/lib/libthr/thread/thr_create.c
==
--- head/lib/libthr/thread/thr_create.c Sun Jan  9 11:52:23 2011
(r217190)
+++ head/lib/libthr/thread/thr_create.c Sun Jan  9 12:38:40 2011
(r217191)
@@ -32,6 +32,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -58,6 +59,7 @@ _pthread_create(pthread_t * thread, cons
sigset_t set, oset;
cpuset_t *cpusetp = NULL;
int cpusetsize = 0;
+   int old_stack_prot;
 
_thr_check_init();
 
@@ -96,6 +98,7 @@ _pthread_create(pthread_t * thread, cons
 
new_thread->tid = TID_TERMINATED;
 
+   old_stack_prot = _rtld_get_stack_prot();
if (create_stack(&new_thread->attr) != 0) {
/* Insufficient memory to create a stack: */
_thr_free(curthread, new_thread);
@@ -130,6 +133,14 @@ _pthread_create(pthread_t * thread, cons
/* Add the new thread. */
new_thread->refcount = 1;
_thr_link(curthread, new_thread);
+
+   /*
+* Handle the race between __pthread_map_stacks_exec and
+* thread linkage.
+*/
+   if (old_stack_prot != _rtld_get_stack_prot())
+   _thr_stack_fix_protection(new_thread);
+
/* Return thread pointer eariler so that new thread can use it. */
(*thread) = new_thread;
if (SHOULD_REPORT_EVENT(curthread, TD_CREATE) || cpusetp != NULL) {

Modified: head/lib/libthr/thread/thr_private.h
==
--- head/lib/libthr/thread/thr_private.hSun Jan  9 11:52:23 2011
(r217190)
+++ head/lib/libthr/thread/thr_private.hSun Jan  9 12:38:40 2011
(r217191)
@@ -898,6 +898,7 @@ struct dl_phdr_info;
 void __pthread_cxa_finalize(struct dl_phdr_info *phdr_info);
 void _thr_tsd_unload(struct dl_phdr_info *phdr_info) __hidden;
 void _thr_sigact_unload(struct dl_phdr_info *phdr_info) __hidden;
+void _thr_stack_fix_protection(struct pthread *thrd);
 
 __END_DECLS
 

Modified: head/lib/libthr/thread/thr_rtld.c
==
--- head/lib/libthr/thread/thr_rtld.c   Sun Jan  9 11:52:23 2011
(r217190)
+++ head/lib/libthr/thread/thr_rtld.c   Sun Jan  9 12:38:40 2011
(r217191)
@@ -31,6 +31,8 @@
   * A lockless rwlock for rtld.
   */
 #include 
+#include 
+#include 
 #include 
 #include 
 
@@ -194,6 +196,9 @@ _thr_rtld_init(void)
/* force to resolve memcpy PLT */
memcpy(&dummy, &dummy, sizeof(dummy));
 
+   mprotect(NULL, 0, 0);
+   _rtld_get_stack_prot();
+
li.lock_create  = _thr_rtld_lock_create;
li.lock_destroy = _thr_rtld_lock_destroy;
li.rlock_acquire = _thr_rtld_rlock_acquire;

Modified: head/lib/libthr/thread/thr_stack.c
==
--- head/lib/libthr/thread/thr_stack.c  Sun Jan  9 11:52:23 2011
(r217190)
+++ head/lib/libthr/thread/thr_stack.c  Sun Jan  9 12:38:40 2011
(r217191)
@@ -32,6 +32,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #include "thr_private.h"
 
@@ -128,6 +129,38 @@ round_up(size_t size)
return size;
 }
 
+void
+_thr_stack_fix_protection(struct pthread *thrd)
+{
+
+   mprotect((char *)thrd->attr.stackaddr_attr +
+   round_up(thrd->attr.guardsize_attr),
+   round_up(thrd->attr.stacksize_attr),
+   _rtld_get_stack_prot());
+}
+
+void __pthread_map_stacks_exec(void);
+void
+__pthread_map_stacks_exec(void)
+{
+   struct pthread *curthread, *thrd;
+   struct stack *st;
+
+   curthr

svn commit: r217192 - in head: bin/ps sys/amd64/include sys/arm/include sys/i386/include sys/ia64/include sys/mips/include sys/powerpc/include sys/sparc64/include sys/sun4v/include sys/sys sys/vm

2011-01-09 Thread Konstantin Belousov
Author: kib
Date: Sun Jan  9 12:50:44 2011
New Revision: 217192
URL: http://svn.freebsd.org/changeset/base/217192

Log:
  Move repeated MAXSLP definition from machine/vmparam.h to sys/vmmeter.h.
  Update the outdated comments describing MAXSLP and the process
  selection algorithm for swap out.
  
  Comments wording and reviewed by: alc

Modified:
  head/bin/ps/print.c
  head/sys/amd64/include/vmparam.h
  head/sys/arm/include/vmparam.h
  head/sys/i386/include/vmparam.h
  head/sys/ia64/include/vmparam.h
  head/sys/mips/include/vmparam.h
  head/sys/powerpc/include/vmparam.h
  head/sys/sparc64/include/vmparam.h
  head/sys/sun4v/include/vmparam.h
  head/sys/sys/vmmeter.h
  head/sys/vm/vm_glue.c
  head/sys/vm/vm_meter.c

Modified: head/bin/ps/print.c
==
--- head/bin/ps/print.c Sun Jan  9 12:38:40 2011(r217191)
+++ head/bin/ps/print.c Sun Jan  9 12:50:44 2011(r217192)
@@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 #include 
+#include 
 
 #include 
 #include 

Modified: head/sys/amd64/include/vmparam.h
==
--- head/sys/amd64/include/vmparam.hSun Jan  9 12:38:40 2011
(r217191)
+++ head/sys/amd64/include/vmparam.hSun Jan  9 12:50:44 2011
(r217192)
@@ -70,17 +70,6 @@
 #endif
 
 /*
- * The time for a process to be blocked before being very swappable.
- * This is a number of seconds which the system takes as being a non-trivial
- * amount of real time.  You probably shouldn't change this;
- * it is used in subtle ways (fractions and multiples of it are, that is, like
- * half of a ``long time'', almost a long time, etc.)
- * It is related to human patience and other factors which don't really
- * change over time.
- */
-#defineMAXSLP  20
-
-/*
  * We provide a machine specific single page allocator through the use
  * of the direct mapped segment.  This uses 2MB pages for reduced
  * TLB pressure.

Modified: head/sys/arm/include/vmparam.h
==
--- head/sys/arm/include/vmparam.h  Sun Jan  9 12:38:40 2011
(r217191)
+++ head/sys/arm/include/vmparam.h  Sun Jan  9 12:50:44 2011
(r217192)
@@ -146,7 +146,6 @@
 #define DFLSSIZ (2*1024*1024)
 #define MAXSSIZ (8*1024*1024)
 #define SGROWSIZ(128*1024)
-#define MAXSLP 20
 
 #ifdef ARM_USE_SMALL_ALLOC
 #define UMA_MD_SMALL_ALLOC

Modified: head/sys/i386/include/vmparam.h
==
--- head/sys/i386/include/vmparam.h Sun Jan  9 12:38:40 2011
(r217191)
+++ head/sys/i386/include/vmparam.h Sun Jan  9 12:50:44 2011
(r217192)
@@ -64,18 +64,6 @@
 #endif
 
 /*
- * The time for a process to be blocked before being very swappable.
- * This is a number of seconds which the system takes as being a non-trivial
- * amount of real time.  You probably shouldn't change this;
- * it is used in subtle ways (fractions and multiples of it are, that is, like
- * half of a ``long time'', almost a long time, etc.)
- * It is related to human patience and other factors which don't really
- * change over time.
- */
-#defineMAXSLP  20
-
-
-/*
  * The physical address space is densely populated.
  */
 #defineVM_PHYSSEG_DENSE

Modified: head/sys/ia64/include/vmparam.h
==
--- head/sys/ia64/include/vmparam.h Sun Jan  9 12:38:40 2011
(r217191)
+++ head/sys/ia64/include/vmparam.h Sun Jan  9 12:50:44 2011
(r217192)
@@ -70,17 +70,6 @@
 #endif
 
 /*
- * The time for a process to be blocked before being very swappable.
- * This is a number of seconds which the system takes as being a non-trivial
- * amount of real time.  You probably shouldn't change this;
- * it is used in subtle ways (fractions and multiples of it are, that is, like
- * half of a ``long time'', almost a long time, etc.)
- * It is related to human patience and other factors which don't really
- * change over time.
- */
-#defineMAXSLP  20
-
-/*
  * We need region 7 virtual addresses for pagetables.
  */
 #define UMA_MD_SMALL_ALLOC

Modified: head/sys/mips/include/vmparam.h
==
--- head/sys/mips/include/vmparam.h Sun Jan  9 12:38:40 2011
(r217191)
+++ head/sys/mips/include/vmparam.h Sun Jan  9 12:50:44 2011
(r217192)
@@ -69,17 +69,6 @@
 #defineSGROWSIZ(128UL*1024)/* amount to grow stack 
*/
 #endif
 
-/* 
- * The time for a process to be blocked before being very swappable.
- * This is a number of seconds which the system takes as being a non-trivial
- * amount of real time. You probably shouldn't change this;
- * it is used in subtle ways 

Re: svn commit: r185499 - head

2011-01-09 Thread Bjoern A. Zeeb

On Mon, 1 Dec 2008, Alfred Perlstein wrote:


Author: alfred
Date: Mon Dec  1 00:45:51 2008
New Revision: 185499
URL: http://svn.freebsd.org/changeset/base/185499

Log:
 Provide a 'tinderbox' target that compiles enough of FreeBSD that
 a developer can rest reasonably assured that the tinderbox will not
 be broken.  This target leverages most of 'universe' but will exit
 non-zero and output a summary at the end.

 "make tinderbox"


Hi,

I noticed that the file always grew but was never displayed
automatically nor removed on a new run.  I guess it's because I
have MAKEOBJDIRPREFIX set in the environment and `pwd` is not
${.CURDIR} for the two operations.

Anyone see any problems with this?


Index: Makefile
===
--- Makefile(revision 217191)
+++ Makefile(working copy)
@@ -301,7 +301,7 @@ targets:
 .endfor

 .if defined(DOING_TINDERBOX)
-FAILFILE=tinderbox.failed
+FAILFILE=${.CURDIR}/tinderbox.failed
 MAKEFAIL=tee -a ${FAILFILE}
 .else
 MAKEFAIL=cat





Modified:
 head/Makefile

Modified: head/Makefile
==
--- head/Makefile   Mon Dec  1 00:23:12 2008(r185498)
+++ head/Makefile   Mon Dec  1 00:45:51 2008(r185499)
@@ -267,6 +267,10 @@ make: .PHONY
${MMAKE} all && \
${MMAKE} install DESTDIR=${MAKEPATH} BINDIR=

+tinderbox:
+   cd ${.CURDIR} && \
+   DOING_TINDERBOX=YES ${MAKE} ${JFLAG} universe
+
#
# universe
#
@@ -274,14 +278,24 @@ make: .PHONY
# with a reasonable chance of success, regardless of how old your
# existing system is.
#
-.if make(universe)
+.if make(universe) || make(tinderbox)
TARGETS?=amd64 arm i386 ia64 pc98 powerpc sparc64 sun4v

+.if defined(DOING_TINDERBOX)
+FAILFILE=tinderbox.failed
+MAKEFAIL=tee -a ${FAILFILE}
+.else
+MAKEFAIL=cat
+.endif
+
universe: universe_prologue
universe_prologue:
@echo "--"
@echo ">>> make universe started on ${STARTTIME}"
@echo "--"
+.if defined(DOING_TINDERBOX)
+   rm -f ${FAILFILE}
+.endif
.for target in ${TARGETS}
KERNCONFS!= cd ${.CURDIR}/sys/${target}/conf && \
find [A-Z]*[A-Z] -type f -maxdepth 0 \
@@ -296,15 +310,15 @@ universe_${target}:
${MAKE} ${JFLAG} buildworld \
TARGET=${target} \
> _.${target}.buildworld 2>&1 || \
-   echo "${target} world failed," \
-   "check _.${target}.buildworld for details")
+   (echo "${target} world failed," \
+   "check _.${target}.buildworld for details" | ${MAKEFAIL}))
@echo ">> ${target} buildworld completed on `LC_ALL=C date`"
.endif
.if exists(${.CURDIR}/sys/${target}/conf/NOTES)
@(cd ${.CURDIR}/sys/${target}/conf && env __MAKE_CONF=/dev/null \
${MAKE} LINT > ${.CURDIR}/_.${target}.makeLINT 2>&1 || \
-   echo "${target} 'make LINT' failed," \
-   "check _.${target}.makeLINT for details")
+   (echo "${target} 'make LINT' failed," \
+   "check _.${target}.makeLINT for details"| ${MAKEFAIL}))
.endif
.for kernel in ${KERNCONFS}
@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
@@ -312,8 +326,8 @@ universe_${target}:
TARGET=${target} \
KERNCONF=${kernel} \
> _.${target}.${kernel} 2>&1 || \
-   echo "${target} ${kernel} kernel failed," \
-   "check _.${target}.${kernel} for details")
+   (echo "${target} ${kernel} kernel failed," \
+   "check _.${target}.${kernel} for details"| ${MAKEFAIL}))
.endfor
@echo ">> ${target} completed on `LC_ALL=C date`"
.endfor
@@ -323,4 +337,11 @@ universe_epilogue:
@echo ">>> make universe completed on `LC_ALL=C date`"
@echo "  (started ${STARTTIME})"
@echo "--"
+.if defined(DOING_TINDERBOX)
+   @if [ -e ${FAILFILE} ] ; then \
+   echo "Tinderbox failed:" ;\
+   cat ${FAILFILE} ;\
+   exit 1 ;\
+   fi
+.endif
.endif



--
Bjoern A. Zeeb You have to have visions!
 Going to jail sucks --  All my daemons like it!
  http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails.html
___
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: r217073 - head/etc/rc.d

2011-01-09 Thread Ulrich Spörlein
On Thu, 06.01.2011 at 21:09:22 +, Warner Losh wrote:
> Author: imp
> Date: Thu Jan  6 21:09:22 2011
> New Revision: 217073
> URL: http://svn.freebsd.org/changeset/base/217073
> 
> Log:
>   Don't require /usr/lib/aout to be on the system.  Test for its
>   existance since we don't generally need it.
>   
>   MFC after:  1 week
> 
> Modified:
>   head/etc/rc.d/ldconfig

Umm,

Would someone object if the aout stuff get's ripped out with prejudice?

Regards,
Uli
___
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: r217195 - head/sys/kern

2011-01-09 Thread Bjoern A. Zeeb
Author: bz
Date: Sun Jan  9 14:34:56 2011
New Revision: 217195
URL: http://svn.freebsd.org/changeset/base/217195

Log:
  Improve style and wording of comments and sysctl descriptions [1].
  
  Move machdep.ct_debug to debug.clocktime as there was no reason to
  actually put it under machdep in r216340.
  
  Submitted by: bde [1]
  MFC after:3 days

Modified:
  head/sys/kern/subr_clock.c

Modified: head/sys/kern/subr_clock.c
==
--- head/sys/kern/subr_clock.c  Sun Jan  9 14:18:16 2011(r217194)
+++ head/sys/kern/subr_clock.c  Sun Jan  9 14:34:56 2011(r217195)
@@ -49,22 +49,14 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 
-static int ct_debug;
-static int adjkerntz;  /* local offset from UTC in seconds */
-static int wall_cmos_clock;/* wall CMOS clock assumed if != 0 */
-
 int tz_minuteswest;
 int tz_dsttime;
 
 /*
- * This have traditionally been in machdep, but should probably be moved to
- * kern.
+ * The adjkerntz and wall_cmos_clock sysctls are in the "machdep" sysctl
+ * namespace because they were misplaced there originally.
  */
-SYSCTL_INT(_machdep, OID_AUTO, ct_debug,
-   CTLFLAG_RW, &ct_debug, 0, "Print ct debug if enabled.");
-SYSCTL_INT(_machdep, OID_AUTO, wall_cmos_clock,
-CTLFLAG_RW, &wall_cmos_clock, 0, "CMOS clock keeps wall time");
-
+static int adjkerntz;
 static int
 sysctl_machdep_adjkerntz(SYSCTL_HANDLER_ARGS)
 {
@@ -74,11 +66,18 @@ sysctl_machdep_adjkerntz(SYSCTL_HANDLER_
resettodr();
return (error);
 }
-
 SYSCTL_PROC(_machdep, OID_AUTO, adjkerntz, CTLTYPE_INT|CTLFLAG_RW,
 &adjkerntz, 0, sysctl_machdep_adjkerntz, "I",
 "Local offset from UTC in seconds");
 
+static int ct_debug;
+SYSCTL_INT(_debug, OID_AUTO, clocktime, CTLFLAG_RW,
+&ct_debug, 0, "Enable printing of clocktime debugging");
+
+static int wall_cmos_clock;
+SYSCTL_INT(_machdep, OID_AUTO, wall_cmos_clock, CTLFLAG_RW,
+&wall_cmos_clock, 0, "Enables application of machdep.adjkerntz");
+
 /**
  * Generic routines to convert between a POSIX date
  * (seconds since 1/1/1970) and yr/mo/day/hr/min/sec
___
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: r217147 - in head/sys: amd64/include arm/include i386/include ia64/include mips/include powerpc/include sparc64/include sun4v/include

2011-01-09 Thread Tijl Coosemans
On Saturday 08 January 2011 21:30:49 Juli Mallett wrote:
> On Sat, Jan 8, 2011 at 04:43, Tijl Coosemans  wrote:
>> Author: tijl
>> Date: Sat Jan  8 12:43:05 2011
>> New Revision: 217147
>> URL: http://svn.freebsd.org/changeset/base/217147
>>
>> Log:
>>  On mixed 32/64 bit architectures (mips, powerpc) use __LP64__ rather than
>>  architecture macros (__mips_n64, __powerpc64__) when 64 bit types (and
>>  corresponding macros) are different from 32 bit. [1]
> 
> I don't know why you didn't talk with MIPS people at all about these
> changes.  That they were reviewed by Bruce is very reassuring in
> aesthetic terms, but that's hardly sufficient.
> 
> This and other changes have made it harder to support common MIPS
> configurations and compilation options on FreeBSD.  I'm glad you're at
> least aware of n32 (as indicated in another message) and its
> implications, but the use of ABI-specific names was deliberate.  Have
> you thought about -n32 with -mlong64?  It isn't the same kind of dirty
> hack as Bruce talks about when he talks about 64-bit longs on x86.
> 
> I understand that __LP64__ and the idea that there are two reasonable
> ABIs most (one 32-bit and one 64-bit) is appealing, but it's not true.
>  In the case of PowerPC, it does look like they weren't ABI-specific
> macros, but MIPS's were.  If nothing else, you make MIPS headers more
> inconsistent with themselves, where most of them are
> ABI-conditionalized and now some are instead LP64-centric.
> 
> It seems like your end goal is probably consolidating these headers,
> which I would like, too, but please attempt to allow for more
> variation than just "longs are 32-bit and pointers are 32-bit,
> otherwise longs are 64-bit and pointers are 64-bit."  We're trying to
> do the right thing with MIPS in terms of supporting multiple valid
> ABIs on a single port, something which is a lot harder when people
> restructure these critical headers without even asking us whether
> there are any evident problems; even if 'make universe', for instance,
> were enough, it leaves out some ABIs, and it certainly leaves out
> future plans wrt ABIs.

My main goal is to compile 32 bit code on amd64. To do that i386 and
amd64 headers need to be merged as much as possible and I'm looking at
mips and powerpc headers as examples. As I'm going through each of the
machine headers however and as people review my patches several issues
have come up. These are mostly generic in nature and spread over all
architectures, not just mips. There are more problems in the mips and
powerpc headers however because of the complexity of supporting both 32
bit and 64 bit ABIs. If you consider the mips headers too delicate to
be changed without approval from mips@ I'll make sure to send patches
there before committing from now on.

As for 64 bit longs on 32 bit ABIs I would advise against spending your
time on that. It's something that sounds nice in theory, but it's just
not practical. You don't gain anything from it because there's another
64 bit type already (long long) and there's too much code out there
that relies on long and pointer types having the same size or that
assumes long is different between 32 bit and 64 bit ABIs, also in our
own tree. So yes, in practice there's only ILP32 and LP64 and nothing
in between.

About the use of __LP64__. It's essentially cosmetic and can easily be
changed back. However, if you can agree with me on mlong64 I would like
to keep it (for type definitions). What the patches (committed +
upcoming) show is that _inttypes.h, _limits.h and _stdint.h (_types.h
needs more work) are exactly the same for mips, powerpc and x86
indicating that they aren't architecture specific. Changing __LP64__
back to __mips_n64 would introduce a difference that isn't any.

Moreover, those headers would also work on pure ILP32 (arm) and LP64
(ia64, sparc64) architectures, so personally I would like to move them
to sys/, because as the patches show, duplicated code starts to
diverge, bugs creep in and are subsequently copy-pasted. Whenever I
suggested this to someone however I never really got a positive
response so the headers will stay under machine/ for now. I would still
like to get a clear yes or no on this though.

If you would still like to support mlong64, I think it should be
possible to do this for all 32 bit architectures because the size of
long isn't architecture dependent. But like I said, in my opinion it
requires a lot of effort to get right for no gain at all.


signature.asc
Description: This is a digitally signed message part.


svn commit: r217200 - in head/sys/dev/usb: . serial

2011-01-09 Thread Gavin Atkinson
Author: gavin
Date: Sun Jan  9 17:10:06 2011
New Revision: 217200
URL: http://svn.freebsd.org/changeset/base/217200

Log:
  Sync the list of devices supported by uslcom(4) with Linux, bringing in
  all new devices added between our r211022 and their git revision
  93ad03d60b5b18897030038234aa2ebae8234748
  
  Also correct a Foxconn entry.
  
  MFC after:1 week

Modified:
  head/sys/dev/usb/serial/uslcom.c
  head/sys/dev/usb/usbdevs

Modified: head/sys/dev/usb/serial/uslcom.c
==
--- head/sys/dev/usb/serial/uslcom.cSun Jan  9 16:58:38 2011
(r217199)
+++ head/sys/dev/usb/serial/uslcom.cSun Jan  9 17:10:06 2011
(r217200)
@@ -186,6 +186,7 @@ static const struct usb_device_id uslcom
 USLCOM_DEV(DYNASTREAM, ANT2USB),
 USLCOM_DEV(ELV, USBI2C),
 USLCOM_DEV(FOXCONN, PIRELLI_DP_L10),
+USLCOM_DEV(FOXCONN, TCOM_TC_300),
 USLCOM_DEV(GEMALTO, PROXPU),
 USLCOM_DEV(JABLOTRON, PC60B),
 USLCOM_DEV(MEI, CASHFLOW_SC),
@@ -194,6 +195,7 @@ static const struct usb_device_id uslcom
 USLCOM_DEV(OWEN, AC4),
 USLCOM_DEV(PHILIPS, ACE1001),
 USLCOM_DEV(PLX, CA42),
+USLCOM_DEV(RENESAS, RX610),
 USLCOM_DEV(SILABS, AEROCOMM),
 USLCOM_DEV(SILABS, AMBER_AMB2560),
 USLCOM_DEV(SILABS, ARGUSISP),
@@ -201,6 +203,8 @@ static const struct usb_device_id uslcom
 USLCOM_DEV(SILABS, ARKHAM_DS101_M),
 USLCOM_DEV(SILABS, ARYGON_MIFARE),
 USLCOM_DEV(SILABS, AVIT_USB_TTL),
+USLCOM_DEV(SILABS, B_G_H3000),
+USLCOM_DEV(SILABS, BALLUFF_RFID),
 USLCOM_DEV(SILABS, BEI_VCP),
 USLCOM_DEV(SILABS, BSM7DUSB),
 USLCOM_DEV(SILABS, BURNSIDE),
@@ -248,7 +252,12 @@ static const struct usb_device_id uslcom
 USLCOM_DEV(SYNTECH, CYPHERLAB100),
 USLCOM_DEV(USI, MC60),
 USLCOM_DEV(VAISALA, CABLE),
+USLCOM_DEV(WAGO, SERVICECABLE),
 USLCOM_DEV(WAVESENSE, JAZZ),
+USLCOM_DEV(WIENERPLEINBAUS, PL512),
+USLCOM_DEV(WIENERPLEINBAUS, RCM),
+USLCOM_DEV(WIENERPLEINBAUS, MPOD),
+USLCOM_DEV(WIENERPLEINBAUS, CML),
 #undef USLCOM_DEV
 };
 

Modified: head/sys/dev/usb/usbdevs
==
--- head/sys/dev/usb/usbdevsSun Jan  9 16:58:38 2011(r217199)
+++ head/sys/dev/usb/usbdevsSun Jan  9 17:10:06 2011(r217200)
@@ -642,6 +642,7 @@ vendor GLOBALSUN0x16ab  Global Sun Techn
 vendor ANYDATA 0x16d5  AnyDATA Corporation
 vendor JABLOTRON   0x16d6  Jablotron
 vendor CMOTECH 0x16d8  C-motech
+vendor WIENERPLEINBAUS 0x16dc  WIENER Plein & Baus GmbH.
 vendor AXESSTEL0x1726  Axesstel Co., Ltd.
 vendor LINKSYS40x1737  Linksys
 vendor SENAO   0x1740  Senao
@@ -661,6 +662,7 @@ vendor STELERA  0x1a8d  Stelera Wireless
 vendor MATRIXORBITAL   0x1b3d  Matrix Orbital 
 vendor OVISLINK0x1b75  OvisLink
 vendor TCTMOBILE   0x1bbb  TCT Mobile
+vendor WAGO0x1be3  WAGO Kontakttechnik GmbH.
 vendor TELIT   0x1bc7  Telit
 vendor LONGCHEER   0x1c9e  Longcheer Holdings, Ltd.
 vendor MPMAN   0x1cae  MpMan
@@ -1567,7 +1569,8 @@ product FIBERLINE WL430U  0x6003  WL-430U
 product FOSSIL WRISTPDA0x0002  Wrist PDA
 
 /* Foxconn products */
-product FOXCONN PIRELLI_DP_L10 0xe000  Pirelli DP-L10
+product FOXCONN TCOM_TC_3000xe000  T-Com TC 300
+product FOXCONN PIRELLI_DP_L10 0xe003  Pirelli DP-L10
 
 /* Freecom products */
 product FREECOM DVD0xfc01  DVD drive
@@ -2751,6 +2754,9 @@ product REALTEK RTL8187B_00x8189  RTL818
 product REALTEK RTL8187B_1 0x8197  RTL8187B Wireless Adapter
 product REALTEK RTL8187B_2 0x8198  RTL8187B Wireless Adapter
 
+/* Renesas products */
+product RENESAS RX610  0x0053  RX610 RX-Stick
+
 /* Ricoh products */
 product RICOH VGPVCC2  0x1830  VGP-VCC2 Camera
 product RICOH VGPVCC3  0x1832  VGP-VCC3 Camera
@@ -2967,6 +2973,7 @@ product SILABSTAMSMASTER  0x813f  Tams Ma
 product SILABS WMRBATT 0x814a  WMR RIGblaster Plug&Play
 product SILABS WMRRIGBLASTER   0x814a  WMR RIGblaster Plug&Play
 product SILABS WMRRIGTALK  0x814b  WMR RIGtalk RT1
+product SILABS B_G_H3000   0x8156  B&G H3000 Data Cable
 product SILABS HELICOM 0x815e  Helicomm IP-Link 1220-DVM
 product SILABS AVIT_USB_TTL0x818b  AVIT Research USB-TTL
 product SILABS MJS_TOSLINK 0x819f  MJS USB-TOSLINk
@@ -2988,6 +2995,7 @@ product SILABSCYGNAL  0x8382  Cygnal
 product SILABS AMBER_AMB2560   0x83a8  Amber Wireless AMB2560
 product SILABS KYOCERA_GPS 0x8411  Kyocera GPS
 product SILABS BEI_VCP 0x846e  BEI USB Sensor (VCP)
+product SILABS BALLUFF_RFID0x8477  Balluff RFID reader
 product SILABS CP2102  0xea60  SILABS USB UART
 product SILABS CP210X_20xea61  CP210x Serial
 product SILABS INFINITY_MIC0xea71  Infinity GPS-MIC-1 Radio Monophone
@@ -3321,6 

svn commit: r217202 - in head/sys/dev/usb: . serial

2011-01-09 Thread Gavin Atkinson
Author: gavin
Date: Sun Jan  9 17:40:04 2011
New Revision: 217202
URL: http://svn.freebsd.org/changeset/base/217202

Log:
  Add support for the Zeagle N2iTion3 Dive Computer to uplcom(4).  This brings
  the list of supported devices in sync with kernel.org git revision
  f36ecd5de93e4c85a9e3d25100c6e233155b12e5, and OpenBSD uplcom.c r1.54

Modified:
  head/sys/dev/usb/serial/uplcom.c
  head/sys/dev/usb/usbdevs

Modified: head/sys/dev/usb/serial/uplcom.c
==
--- head/sys/dev/usb/serial/uplcom.cSun Jan  9 17:19:04 2011
(r217201)
+++ head/sys/dev/usb/serial/uplcom.cSun Jan  9 17:40:04 2011
(r217202)
@@ -258,6 +258,7 @@ static const struct usb_device_id uplcom
UPLCOM_DEV(BELKIN, F5U257), /* Belkin F5U257 */
UPLCOM_DEV(COREGA, CGUSBRS232R),/* Corega CG-USBRS232R */
UPLCOM_DEV(EPSON, CRESSI_EDY),  /* Cressi Edy diving computer */
+   UPLCOM_DEV(EPSON, N2ITION3),/* Zeagle N2iTion3 diving 
computer */
UPLCOM_DEV(ELECOM, UCSGT),  /* ELECOM UC-SGT */
UPLCOM_DEV(ELECOM, UCSGT0), /* ELECOM UC-SGT */
UPLCOM_DEV(HAL, IMR001),/* HAL Corporation Crossam2+USB 
*/

Modified: head/sys/dev/usb/usbdevs
==
--- head/sys/dev/usb/usbdevsSun Jan  9 17:19:04 2011(r217201)
+++ head/sys/dev/usb/usbdevsSun Jan  9 17:40:04 2011(r217202)
@@ -1532,6 +1532,7 @@ product EPSON 24800x0121  Perfection 24
 product EPSON 3590 0x0122  Perfection 3590 scanner
 product EPSON 4990 0x012a  Perfection 4990 Photo scanner
 product EPSON CRESSI_EDY   0x0521  Cressi Edy diving computer
+product EPSON N2ITION3 0x0522  Zeagle N2iTion3 diving computer
 product EPSON STYLUS_875DC 0x0601  Stylus Photo 875DC Card Reader
 product EPSON STYLUS_895   0x0602  Stylus Photo 895 Card Reader
 product EPSON CX5400   0x0808  CX5400 scanner
___
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: r217073 - head/etc/rc.d

2011-01-09 Thread Warner Losh

On 01/09/2011 07:18, Ulrich Spörlein wrote:

On Thu, 06.01.2011 at 21:09:22 +, Warner Losh wrote:

Author: imp
Date: Thu Jan  6 21:09:22 2011
New Revision: 217073
URL: http://svn.freebsd.org/changeset/base/217073

Log:
   Don't require /usr/lib/aout to be on the system.  Test for its
   existance since we don't generally need it.

   MFC after:   1 week

Modified:
   head/etc/rc.d/ldconfig

Umm,

Would someone object if the aout stuff get's ripped out with prejudice?


yes.  When this has come up in the past, people are still using binaries 
they built ages ago and no longer have sources to.  There's no treason 
to rip it out unless it can be shown to not be working.  This just 
removes one mandatory directory from startup (and even then, it is just 
a warning that's fixed).


Warner

___
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: r217203 - head/sys/net

2011-01-09 Thread Bjoern A. Zeeb
Author: bz
Date: Sun Jan  9 20:40:21 2011
New Revision: 217203
URL: http://svn.freebsd.org/changeset/base/217203

Log:
  MfP4 CH=185246 [1]:
  
Add FEATURE() to announce optional VIMAGE.
  
  MFC after:3 days
  [1] for the moment put it in vnet.c.

Modified:
  head/sys/net/vnet.c

Modified: head/sys/net/vnet.c
==
--- head/sys/net/vnet.c Sun Jan  9 17:40:04 2011(r217202)
+++ head/sys/net/vnet.c Sun Jan  9 20:40:21 2011(r217203)
@@ -80,6 +80,8 @@ __FBSDID("$FreeBSD$");
  *   stack instance.
  */
 
+FEATURE(vimage, "VIMAGE kernel virtualization");
+
 MALLOC_DEFINE(M_VNET, "vnet", "network stack control block");
 
 /*
___
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: r217206 - in head: bin/sh tools/regression/bin/sh/execution

2011-01-09 Thread Jilles Tjoelker
Author: jilles
Date: Sun Jan  9 21:07:30 2011
New Revision: 217206
URL: http://svn.freebsd.org/changeset/base/217206

Log:
  sh: Remove special %builtin PATH entry.
  All builtins are now always found before a PATH search.
  
  Most ash derivatives have an undocumented feature where the presence of an
  entry "%builtin" in $PATH will cause builtins to be checked at that point of
  the PATH search, rather than before looking at any directories as documented
  in the man page (very old versions do document this feature).
  
  I am removing this feature from sh, as it complicates the code, may violate
  expectations (for example, /usr/bin/alias is very close to a forkbomb with
  PATH=/usr/bin:%builtin, only /usr/bin/builtin not being another link saves
  it) and appears to be unused (all the %builtin google code search finds is
  in some sort of ash source code).
  
  Note that aliases and functions took and take precedence above builtins.
  Because aliases work on a lexical level they can only ever be overridden on
  a lexical level (quoting or preceding 'builtin' or 'command'). Allowing
  override of functions via PATH does not really fit in the model of sh and it
  would work differently from %builtin if implemented.
  
  Note: POSIX says special builtins are found before functions. We comply to
  this because we do not allow functions with the same name as a special
  builtin.
  
  Silence from: freebsd-hackers@ (message sent 20101225)
  Discussed with:   dougb

Added:
  head/tools/regression/bin/sh/execution/path1.0   (contents, props changed)
Modified:
  head/bin/sh/exec.c

Modified: head/bin/sh/exec.c
==
--- head/bin/sh/exec.c  Sun Jan  9 21:02:11 2011(r217205)
+++ head/bin/sh/exec.c  Sun Jan  9 21:07:30 2011(r217206)
@@ -92,7 +92,6 @@ struct tblentry {
 
 
 static struct tblentry *cmdtable[CMDTABLESIZE];
-static int builtinloc = -1;/* index in path of %builtin, or -1 */
 int exerrno = 0;   /* Last exec error */
 
 
@@ -244,8 +243,7 @@ hashcmd(int argc __unused, char **argv _
}
while ((name = *argptr) != NULL) {
if ((cmdp = cmdlookup(name, 0)) != NULL
-&& (cmdp->cmdtype == CMDNORMAL
-|| (cmdp->cmdtype == CMDBUILTIN && builtinloc >= 0)))
+&& cmdp->cmdtype == CMDNORMAL)
delete_cmd_entry();
find_command(name, &entry, DO_ERR, pathval());
if (verbose) {
@@ -336,8 +334,8 @@ find_command(const char *name, struct cm
goto success;
}
 
-   /* If %builtin not in path, check for builtin next */
-   if (builtinloc < 0 && (i = find_builtin(name, &spec)) >= 0) {
+   /* Check for builtin next */
+   if ((i = find_builtin(name, &spec)) >= 0) {
INTOFF;
cmdp = cmdlookup(name, 1);
if (cmdp->cmdtype == CMDFUNCTION)
@@ -353,7 +351,7 @@ find_command(const char *name, struct cm
prev = -1;  /* where to start */
if (cmdp) { /* doing a rehash */
if (cmdp->cmdtype == CMDBUILTIN)
-   prev = builtinloc;
+   prev = -1;
else
prev = cmdp->param.index;
}
@@ -365,19 +363,7 @@ loop:
stunalloc(fullname);
idx++;
if (pathopt) {
-   if (prefix("builtin", pathopt)) {
-   if ((i = find_builtin(name, &spec)) < 0)
-   goto loop;
-   INTOFF;
-   cmdp = cmdlookup(name, 1);
-   if (cmdp->cmdtype == CMDFUNCTION)
-   cmdp = &loc_cmd;
-   cmdp->cmdtype = CMDBUILTIN;
-   cmdp->param.index = i;
-   cmdp->special = spec;
-   INTON;
-   goto success;
-   } else if (prefix("func", pathopt)) {
+   if (prefix("func", pathopt)) {
/* handled below */
} else {
goto loop;  /* ignore unimplemented options 
*/
@@ -484,8 +470,7 @@ hashcd(void)
 
for (pp = cmdtable ; pp < &cmdtable[CMDTABLESIZE] ; pp++) {
for (cmdp = *pp ; cmdp ; cmdp = cmdp->next) {
-   if (cmdp->cmdtype == CMDNORMAL
-|| (cmdp->cmdtype == CMDBUILTIN && builtinloc >= 0))
+   if (cmdp->cmdtype == CMDNORMAL)
cmdp->rehash = 1;
}
}
@@ -505,13 +490,11 @@ changepath(const char *newval)
const char *old, *new;
int idx;
int firstch

svn commit: r217207 - head/include

2011-01-09 Thread Ed Schouten
Author: ed
Date: Sun Jan  9 21:39:46 2011
New Revision: 217207
URL: http://svn.freebsd.org/changeset/base/217207

Log:
  Add missing __dead2 to __assert().
  
  __assert() is called when an assertion fails. After printing an error
  message, it will call abort(). abort() never returns, hence it has the
  __dead2 attribute. Also add this attribute to __assert().
  
  MFC after:3 weeks

Modified:
  head/include/assert.h

Modified: head/include/assert.h
==
--- head/include/assert.h   Sun Jan  9 21:07:30 2011(r217206)
+++ head/include/assert.h   Sun Jan  9 21:39:46 2011(r217207)
@@ -58,6 +58,6 @@
 #ifndef _ASSERT_H_
 #define _ASSERT_H_
 __BEGIN_DECLS
-void __assert(const char *, const char *, int, const char *);
+void __assert(const char *, const char *, int, const char *) __dead2;
 __END_DECLS
 #endif /* !_ASSERT_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: r217208 - head/tools/regression/bin/date

2011-01-09 Thread Giorgos Keramidas
Author: keramida (doc committer)
Date: Sun Jan  9 22:05:09 2011
New Revision: 217208
URL: http://svn.freebsd.org/changeset/base/217208

Log:
  regression/date: unset all LC_xxx vars and set LANG/LC_ALL
  
  When running with a custom locale setup, it's easy to confuse the
  date regression tests and cause them to fail, e.g. when LANG='C'
  but LC_ALL='el_GR.UTF-8'.  Set LC_ALL to 'C', which overrides all
  other LC_xxx options, to avoid this sort of problem.
  
  Reviewed by:  uqs, edwin

Modified:
  head/tools/regression/bin/date/regress.sh

Modified: head/tools/regression/bin/date/regress.sh
==
--- head/tools/regression/bin/date/regress.sh   Sun Jan  9 21:39:46 2011
(r217207)
+++ head/tools/regression/bin/date/regress.sh   Sun Jan  9 22:05:09 2011
(r217208)
@@ -19,7 +19,7 @@
 TEST1=343  # 1970-02-07 07:04:03
 TEST2=100560   # 2001-11-12 21:11:12
 
-export LANG=C
+export LC_ALL=C
 export TZ=UTC
 count=0
 
___
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: r217209 - head/bin/sh

2011-01-09 Thread Jilles Tjoelker
Author: jilles
Date: Sun Jan  9 22:47:58 2011
New Revision: 217209
URL: http://svn.freebsd.org/changeset/base/217209

Log:
  sh: Follow-up to r216743, grabstackblock() can be replaced with stalloc().
  
  grabstackblock() was used only once (but it is a very often executed piece
  of code).

Modified:
  head/bin/sh/memalloc.c
  head/bin/sh/memalloc.h

Modified: head/bin/sh/memalloc.c
==
--- head/bin/sh/memalloc.c  Sun Jan  9 22:05:09 2011(r217208)
+++ head/bin/sh/memalloc.c  Sun Jan  9 22:47:58 2011(r217209)
@@ -277,16 +277,6 @@ growstackblock(int min)
 
 
 
-void
-grabstackblock(int len)
-{
-   len = ALIGN(len);
-   stacknxt += len;
-   stacknleft -= len;
-}
-
-
-
 /*
  * The following routines are somewhat easier to use that the above.
  * The user declares a variable of type STACKSTR, which may be declared

Modified: head/bin/sh/memalloc.h
==
--- head/bin/sh/memalloc.h  Sun Jan  9 22:05:09 2011(r217208)
+++ head/bin/sh/memalloc.h  Sun Jan  9 22:47:58 2011(r217209)
@@ -55,7 +55,6 @@ pointer stalloc(int);
 void stunalloc(pointer);
 void setstackmark(struct stackmark *);
 void popstackmark(struct stackmark *);
-void grabstackblock(int);
 char *growstackstr(void);
 char *makestrspace(int, char *);
 char *stputbin(const char *data, int len, char *p);
@@ -65,6 +64,7 @@ char *stputs(const char *data, char *p);
 
 #define stackblock() stacknxt
 #define stackblocksize() stacknleft
+#define grabstackblock(n) stalloc(n)
 #define STARTSTACKSTR(p)   p = stackblock()
 #define STPUTC(c, p)   do { if (p == sstrend) p = growstackstr(); *p++ = (c); 
} while(0)
 #define CHECKSTRSPACE(n, p){ if (sstrend - p < n) p = makestrspace(n, p); }
___
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: r217210 - head/sys/mips/cavium/octe

2011-01-09 Thread Juli Mallett
Author: jmallett
Date: Sun Jan  9 23:05:46 2011
New Revision: 217210
URL: http://svn.freebsd.org/changeset/base/217210

Log:
  o) Remove some unused local definitions of IP protocol numbers.
  o) Use CPU_FOREACH rather than a miscrafted for loop with an off-by-one to
 enable workq interrupts on all cores.

Modified:
  head/sys/mips/cavium/octe/ethernet-defines.h
  head/sys/mips/cavium/octe/ethernet.c

Modified: head/sys/mips/cavium/octe/ethernet-defines.h
==
--- head/sys/mips/cavium/octe/ethernet-defines.hSun Jan  9 22:47:58 
2011(r217209)
+++ head/sys/mips/cavium/octe/ethernet-defines.hSun Jan  9 23:05:46 
2011(r217210)
@@ -79,8 +79,6 @@ AND WITH ALL FAULTS AND CAVIUM  NETWORKS
 #define USE_MULTICORE_RECEIVE 0
 #endif
 
-#define IP_PROTOCOL_TCP 6
-#define IP_PROTOCOL_UDP 0x11
 #define FAU_NUM_PACKET_BUFFERS_TO_FREE (CVMX_FAU_REG_END - sizeof(uint32_t))
 #define TOTAL_NUMBER_OF_PORTS   (CVMX_PIP_NUM_INPUT_PORTS+1)
 

Modified: head/sys/mips/cavium/octe/ethernet.c
==
--- head/sys/mips/cavium/octe/ethernet.cSun Jan  9 22:47:58 2011
(r217209)
+++ head/sys/mips/cavium/octe/ethernet.cSun Jan  9 23:05:46 2011
(r217210)
@@ -235,15 +235,16 @@ static void cvm_oct_configure_common_hw(
if (USE_MULTICORE_RECEIVE) {
critical_enter();
{
-   int cpu;
-   for (cpu = 0; cpu < mp_maxid; cpu++) {
-   if (!CPU_ABSENT(cpu) &&
-  (cpu != PCPU_GET(cpuid))) {
-   cvmx_ciu_intx0_t en;
-   en.u64 = 
cvmx_read_csr(CVMX_CIU_INTX_EN0(cpu*2));
-   en.s.workq |= (1

svn commit: r217212 - head/sys/mips/cavium/octe

2011-01-09 Thread Juli Mallett
Author: jmallett
Date: Sun Jan  9 23:46:24 2011
New Revision: 217212
URL: http://svn.freebsd.org/changeset/base/217212

Log:
  Now that we correctly enable rx interrupts on all cores, performance has 
gotten
  quite awful, because e.g. 4 packets will come in and get processed on 4
  different cores at the same time, really battling with the TCP stack quite
  painfully.  For now, just run one task at a time.
  
  This gets performance up in most cases to where it was before the correctness
  fixes that got interrupts to run on all cores (except in high-load TCP 
transmit
  cases where all we're handling receive for is ACKs) and in some cases it's
  better now.  What would be ideal would be to use a more advanced interrupt
  mitigation strategy and possibly to use different workqueue groups per port 
for
  multi-port systems, and so on, but this is a fine stopgap.

Modified:
  head/sys/mips/cavium/octe/ethernet-rx.c

Modified: head/sys/mips/cavium/octe/ethernet-rx.c
==
--- head/sys/mips/cavium/octe/ethernet-rx.c Sun Jan  9 23:20:01 2011
(r217211)
+++ head/sys/mips/cavium/octe/ethernet-rx.c Sun Jan  9 23:46:24 2011
(r217212)
@@ -54,6 +54,8 @@ extern struct ifnet *cvm_oct_device[];
 static struct task cvm_oct_task;
 static struct taskqueue *cvm_oct_taskq;
 
+static int cvm_oct_rx_active;
+
 /**
  * Interrupt handler. The interrupt occurs whenever the POW
  * transitions from 0->1 packets in our group.
@@ -70,7 +72,13 @@ int cvm_oct_do_interrupt(void *dev_id)
cvmx_write_csr(CVMX_POW_WQ_INT, 1

svn commit: r217213 - head/lib/bind

2011-01-09 Thread Doug Barton
Author: dougb
Date: Sun Jan  9 23:47:11 2011
New Revision: 217213
URL: http://svn.freebsd.org/changeset/base/217213

Log:
  Revert part of r217071 so that us mere mortals can clearly see
  what this bit of code is intended to do. :)
  
  Approved by:  imp

Modified:
  head/lib/bind/config.mk

Modified: head/lib/bind/config.mk
==
--- head/lib/bind/config.mk Sun Jan  9 23:46:24 2011(r217212)
+++ head/lib/bind/config.mk Sun Jan  9 23:47:11 2011(r217213)
@@ -65,7 +65,11 @@ CFLAGS+= -I${LIB_BIND_DIR}
 .endif
 
 # Use the right version of the atomic.h file from lib/isc
-ISC_ATOMIC_ARCH=${MACHINE_CPUARCH:S/i386/x86_32/:S/amd64/x86_32/}
+.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
+ISC_ATOMIC_ARCH=   x86_32
+.else
+ISC_ATOMIC_ARCH=   ${MACHINE_CPUARCH}
+.endif
 
 # Optional features
 .if ${MK_BIND_LARGE_FILE} == "yes"
___
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: r217071 - head/lib/bind

2011-01-09 Thread Doug Barton

On 01/08/2011 14:58, Warner Losh wrote:

On 01/07/2011 22:13, Doug Barton wrote:

I've said before that I like to have the opportunity to pre-commit
review patches in this area because at minimum it helps me to be aware
of them for potential MFC purposes.


Thanks for the reminder Doug. Hope there's no hard feelings...


Of course not. A waste of time and energy. :)


I think that bsd.endian.mk is -current only, but there's no reason it
can't be MFC'd. I'll merge it to 7 and 8 here in a few minutes and let
you know.


That'd be awesome, thanks. I plan to update BIND in RELENG_7 after the 
release and it would be great to have the bmake stuff consistent between 
branches to the extent possible.



@@ -64,11 +65,7 @@ CFLAGS+= -I${LIB_BIND_DIR}
.endif

# Use the right version of the atomic.h file from lib/isc
-.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
-ISC_ATOMIC_ARCH= x86_32
-.else
-ISC_ATOMIC_ARCH= ${MACHINE_CPUARCH}
-.endif
+ISC_ATOMIC_ARCH=${MACHINE_CPUARCH:S/i386/x86_32/:S/amd64/x86_32/}


This change I am less enthusiastic about. It seems to me that it does
the exact same thing, but while admittedly quite a bit more clever
than I am capable of I find it less readable. Unless this is doing
something more or better than the previous code I will likely revert
this.


Damn. I missed that in my pre-commit review, or I'd have mentioned it in
the commit log. Feel free to revert it if you don't like it, or I'd be
happy to revert it if you wanted me to clean up my own mess.


Np, I took care of it.

FWIW, I should have been more clear about why I'm more interested in 
keeping the file readable. BIND updates come in 2 main flavors, planned, 
and unplanned. :)  The latter are generally related to security updates, 
and therefore of a more urgent nature. So far we've had very good luck 
with my being available when updates of a more urgent nature are 
required, in addition to good luck in the sense that we haven't had a 
_truly_ urgent BIND update in some years now. Also, the bmake glue for 
BIND isn't all _that_ complex (thanks in large part to des) however ...


My nightmare scenario is that we _do_ end up with a truly urgent BIND 
update, I'm not available for whatever reason, and some poor bastard is 
stuck with the job of having to enter the labyrinth without the benefit 
of the bits of the map that exist only in my head. For this reason I've 
tried to keep the FREEBSD-Update files both up to date and more detailed 
than is usually the case, but I am the last person to believe that I 
have done it all correctly.


This particular bit of arcana (the x86_32 stuff) took me a non-trivial 
amount of time to decipher, so I am particularly interested in having 
the intention of the code to be very clear here.


In any case, thanks again for your help on the endian stuff, and your 
fast response.



Doug

--

Nothin' ever doesn't change, but nothin' changes much.
-- OK Go

Breadth of IT experience, and depth of knowledge in the DNS.
Yours for the right price.  :)  http://SupersetSolutions.com/

___
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: r217214 - in head/sys: contrib/octeon-sdk mips/cavium mips/conf

2011-01-09 Thread Juli Mallett
Author: jmallett
Date: Mon Jan 10 03:48:41 2011
New Revision: 217214
URL: http://svn.freebsd.org/changeset/base/217214

Log:
  o) Expand the CIU driver to be aware of newly-allocated parts of the IRQ 
range.
  o) Add 'octm', a trivial driver for the 10/100 management ports found on some
 Octeon systems.
  o) Make the Simple Executive's management port helper routines compile on
 FreeBSD (namely by not doing math on void pointers.)
  o) Add a cvmx_mgmt_port_sendm routine to the Simple Executive to send an mbuf
 so there is only one copy in the transmit path, rather than having to first
 copy the mbuf to an intermediate buffer and then copy that to the Simple
 Executive's transmit ring.
  o) Properly work out MII addresses of management ports on the Lanner MR-730.
 XXX The MR-730 also needs some patches to the MII read/write routines, but
 this is sufficient for now.  Media detection will be fixed in the 
future
 when I can spend more time reading the vendor-supplied patches.

Added:
  head/sys/mips/cavium/if_octm.c   (contents, props changed)
Modified:
  head/sys/contrib/octeon-sdk/cvmx-helper-board.c
  head/sys/contrib/octeon-sdk/cvmx-mgmt-port.c
  head/sys/contrib/octeon-sdk/cvmx-mgmt-port.h
  head/sys/mips/cavium/ciu.c
  head/sys/mips/cavium/cvmx_config.h
  head/sys/mips/cavium/files.octeon1
  head/sys/mips/conf/OCTEON1

Modified: head/sys/contrib/octeon-sdk/cvmx-helper-board.c
==
--- head/sys/contrib/octeon-sdk/cvmx-helper-board.c Sun Jan  9 23:47:11 
2011(r217213)
+++ head/sys/contrib/octeon-sdk/cvmx-helper-board.c Mon Jan 10 03:48:41 
2011(r217214)
@@ -272,6 +272,8 @@ int cvmx_helper_board_get_mii_address(in
 return ipd_port - 16;
return -1;
case CVMX_BOARD_TYPE_CUST_LANNER_MR730:
+if ((ipd_port >= CVMX_HELPER_BOARD_MGMT_IPD_PORT) && (ipd_port < 
(CVMX_HELPER_BOARD_MGMT_IPD_PORT + 2)))
+   return (ipd_port - CVMX_HELPER_BOARD_MGMT_IPD_PORT) + 0x81;
 if ((ipd_port >= 0) && (ipd_port < 4))
 return ipd_port;
return -1;

Modified: head/sys/contrib/octeon-sdk/cvmx-mgmt-port.c
==
--- head/sys/contrib/octeon-sdk/cvmx-mgmt-port.cSun Jan  9 23:47:11 
2011(r217213)
+++ head/sys/contrib/octeon-sdk/cvmx-mgmt-port.cMon Jan 10 03:48:41 
2011(r217214)
@@ -112,7 +112,7 @@ CVMX_SHARED cvmx_mgmt_port_state_t *cvmx
  *
  * @return Number of ports
  */
-int __cvmx_mgmt_port_num_ports(void)
+static int __cvmx_mgmt_port_num_ports(void)
 {
 if (OCTEON_IS_MODEL(OCTEON_CN56XX))
 return 1;
@@ -554,6 +554,62 @@ cvmx_mgmt_port_result_t cvmx_mgmt_port_s
 }
 
 
+#if defined(__FreeBSD__)
+/**
+ * Send a packet out the management port. The packet is copied so
+ * the input mbuf isn't used after this call.
+ *
+ * @param port   Management port
+ * @param m  Packet mbuf (with pkthdr)
+ *
+ * @return CVMX_MGMT_PORT_SUCCESS or an error code
+ */
+cvmx_mgmt_port_result_t cvmx_mgmt_port_sendm(int port, const struct mbuf *m)
+{
+cvmx_mgmt_port_state_t *state;
+cvmx_mixx_oring2_t mix_oring2;
+
+if ((port < 0) || (port >= __cvmx_mgmt_port_num_ports()))
+return CVMX_MGMT_PORT_INVALID_PARAM;
+
+/* Max sure the packet size is valid */
+if ((m->m_pkthdr.len < 1) || (m->m_pkthdr.len > 
CVMX_MGMT_PORT_TX_BUFFER_SIZE))
+return CVMX_MGMT_PORT_INVALID_PARAM;
+
+state = cvmx_mgmt_port_state_ptr + port;
+
+cvmx_spinlock_lock(&state->lock);
+
+mix_oring2.u64 = cvmx_read_csr(CVMX_MIXX_ORING2(port));
+if (mix_oring2.s.odbell >= CVMX_MGMT_PORT_NUM_TX_BUFFERS - 1)
+{
+/* No room for another packet */
+cvmx_spinlock_unlock(&state->lock);
+return CVMX_MGMT_PORT_NO_MEMORY;
+}
+else
+{
+/* Copy the packet into the output buffer */
+   m_copydata(m, 0, m->m_pkthdr.len, 
state->tx_buffers[state->tx_write_index]);
+/* Update the TX ring buffer entry size */
+state->tx_ring[state->tx_write_index].s.len = m->m_pkthdr.len;
+/* This code doesn't support TX timestamps */
+state->tx_ring[state->tx_write_index].s.tstamp = 0;
+/* Increment our TX index */
+state->tx_write_index = (state->tx_write_index + 1) % 
CVMX_MGMT_PORT_NUM_TX_BUFFERS;
+/* Ring the doorbell, sending the packet */
+CVMX_SYNCWS;
+cvmx_write_csr(CVMX_MIXX_ORING2(port), 1);
+if (cvmx_read_csr(CVMX_MIXX_ORCNT(port)))
+cvmx_write_csr(CVMX_MIXX_ORCNT(port), 
cvmx_read_csr(CVMX_MIXX_ORCNT(port)));
+
+cvmx_spinlock_unlock(&state->lock);
+return CVMX_MGMT_PORT_SUCCESS;
+}
+}
+#endif
+
+
 /**
  * Receive a packet from the management port.
  *
@@ -564,7 +620,7 @@ cvmx_mgmt_port_result_t cvmx_mgmt_port_s
  * @return The size of the pack

svn commit: r217220 - head/sys/conf

2011-01-09 Thread Jayachandran C.
Author: jchandra
Date: Mon Jan 10 05:13:06 2011
New Revision: 217220
URL: http://svn.freebsd.org/changeset/base/217220

Log:
  Remove unnecessary 'cat'.

Modified:
  head/sys/conf/Makefile.mips

Modified: head/sys/conf/Makefile.mips
==
--- head/sys/conf/Makefile.mips Mon Jan 10 04:48:18 2011(r217219)
+++ head/sys/conf/Makefile.mips Mon Jan 10 05:13:06 2011(r217220)
@@ -86,7 +86,7 @@ CLEAN+=   ${LDSCRIPT_NAME} ${LDSCRIPT_NAME
${KERNEL_KO}.tramp.noheader ${KERNEL_KO}.tramp.bin
 
 ${LDSCRIPT_NAME}: $S/conf/${LDSCRIPT_NAME}
-   cat $S/conf/${LDSCRIPT_NAME}|sed s/KERNLOADADDR/${KERNLOADADDR}/g \
+   sed s/KERNLOADADDR/${KERNLOADADDR}/g $S/conf/${LDSCRIPT_NAME} \
> ${LDSCRIPT_NAME}
 %RULES
 
___
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: r217221 - head/sys/netinet

2011-01-09 Thread Lawrence Stewart
Author: lstewart
Date: Mon Jan 10 06:12:01 2011
New Revision: 217221
URL: http://svn.freebsd.org/changeset/base/217221

Log:
  Reset the last_sack_ack SACK hint for TCP input processing to ensure that the
  hint is 0 when no SACK data is received to update the hint with. This was
  accidentally omitted from r216753.
  
  Sponsored by: FreeBSD Foundation
  MFC after:10 weeks
  X-MFC with:   216753

Modified:
  head/sys/netinet/tcp_input.c

Modified: head/sys/netinet/tcp_input.c
==
--- head/sys/netinet/tcp_input.cMon Jan 10 05:13:06 2011
(r217220)
+++ head/sys/netinet/tcp_input.cMon Jan 10 06:12:01 2011
(r217221)
@@ -1291,6 +1291,7 @@ tcp_do_segment(struct mbuf *m, struct tc
short ostate = 0;
 #endif
thflags = th->th_flags;
+   tp->sackhint.last_sack_ack = 0;
 
/*
 * If this is either a state-changing packet or current state isn't
___
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: r217222 - head/sys/mips/cavium

2011-01-09 Thread Juli Mallett
Author: jmallett
Date: Mon Jan 10 06:46:18 2011
New Revision: 217222
URL: http://svn.freebsd.org/changeset/base/217222

Log:
  o) Free mbufs in error cases.
  o) Clear/acknowledge receive interrupt at end of thread.  This gives the
 management interfaces performance on the order of 100Mbps rather than
 the previous level of 10Mbps on my MR-730.

Modified:
  head/sys/mips/cavium/if_octm.c

Modified: head/sys/mips/cavium/if_octm.c
==
--- head/sys/mips/cavium/if_octm.c  Mon Jan 10 06:12:01 2011
(r217221)
+++ head/sys/mips/cavium/if_octm.c  Mon Jan 10 06:46:18 2011
(r217222)
@@ -511,9 +511,15 @@ octm_rx_intr(void *arg)
continue;
}
 
+   m_freem(m);
+
if (len == 0)
break;
 
sc->sc_ifp->if_ierrors++;
}
+
+   /* Acknowledge interrupts.  */
+   cvmx_write_csr(CVMX_MIXX_ISR(sc->sc_port), mixx_isr.u64);
+   cvmx_read_csr(CVMX_MIXX_ISR(sc->sc_port));
 }
___
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"