Re: Checksum mismatch -- will transfer entire file

2010-06-14 Thread Gary Jennejohn
On Mon, 14 Jun 2010 11:43:08 +0700
Victor Sudakov sudakov+free...@sibptus.tomsk.ru wrote:

 Victor Sudakov wrote:
 
 [dd]
 
  
  But to hell with this. I started the topic because I think something
  is wrong with SVN to CVS export, which upsets cvsup and causes
  Checksum mismatch errors.  Is anybody willing to look at it?
 
 I see nobody is ever going to fix this? Cvsup mails me a bunch of
 Checksum mismatch errors on every run, with a risk of overlooking
 real errors.
 
 How do others deal with this noise? Do you grep cvsup output or what?
 

I just ignore these errors.  I've never seen a problem as a result.

--
Gary Jennejohn
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


GEOM_DEBUG kernel option

2010-06-14 Thread Dmitry Luhtionov
I introduce new kernel option GEOM_DEBUG
Its enabled on default, but disable it reduce runtime kernel size
and slightly improve performance by disabling debug stuff in compile time

On my amd64 machine compiling modules without GEOM_DEBUG option reduce size
geom_mirror.ko from 130 to 77 kilobytes
geom_label.ko from 44.5 to 33 kilobytes

http://193.34.20.243/geom.20100611.patch
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


GEOM_DEBUG kernel option

2010-06-14 Thread Dmitry Luhtionov
I introduce new kernel option GEOM_DEBUG
Its enabled on default, but disable it reduce runtime kernel size
and slightly improve perfomance by disabling debug stuff in compile time

On my amd64 machine compiling modules without GEOM_DEBUG option reduce size
geom_mirror.ko from 130 to 77 kilobytes
geom_label.ko from 44.5 to 33 kilobytes

http://193.34.20.243/geom.20100611.patch
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


RFT Exposing Zone Sleeps

2010-06-14 Thread Sean Bruno
So, after some modifications and guidance from rwatson, alc and others,
I've modified this patch a bit.  The end result is that a sleep on slab
alloc counter is displayed with a vmstat -z.  This can be used for
diagnostics of low memory situations and has been VERY handy at Yahoo.

I've removed the sysctl to eliminate some heartache, moved the sleep
count into a proper place in the data structure, properly instrumented
the debugger function and returned the #ifdef.


Patch provided against -current.  Tested on amd64 and x86

Sean

Index: usr.bin/vmstat/vmstat.c
===
--- usr.bin/vmstat/vmstat.c	(revision 209161)
+++ usr.bin/vmstat/vmstat.c	(working copy)
@@ -1294,16 +1294,17 @@
 memstat_strerror(error));
 		}
 	}
-	printf(%-20s %8s  %8s  %8s  %8s  %8s  %8s\n\n, ITEM, SIZE,
-	LIMIT, USED, FREE, REQUESTS, FAILURES);
+	printf(%-20s %6s %6s %8s %8s %8s %4s %4s\n\n, ITEM, SIZE,
+	LIMIT, USED, FREE, REQ, FAIL, SLEEP);
 	for (mtp = memstat_mtl_first(mtlp); mtp != NULL;
 	mtp = memstat_mtl_next(mtp)) {
 		strlcpy(name, memstat_get_name(mtp), MEMTYPE_MAXNAME);
 		strcat(name, :);
-		printf(%-20s %8llu, %8llu, %8llu, %8llu, %8llu, %8llu\n, name,
+		printf(%-20s %6llu, %6llu,%8llu,%8llu,%8llu,%4llu,%4llu\n,name,
 		memstat_get_size(mtp), memstat_get_countlimit(mtp),
 		memstat_get_count(mtp), memstat_get_free(mtp),
-		memstat_get_numallocs(mtp), memstat_get_failures(mtp));
+		memstat_get_numallocs(mtp), memstat_get_failures(mtp),
+		memstat_get_sleeps(mtp));
 	}
 	memstat_mtl_free(mtlp);
 	printf(\n);
Index: lib/libmemstat/memstat.h
===
--- lib/libmemstat/memstat.h	(revision 209161)
+++ lib/libmemstat/memstat.h	(working copy)
@@ -139,6 +139,7 @@
 uint64_t	 memstat_get_count(const struct memory_type *mtp);
 uint64_t	 memstat_get_free(const struct memory_type *mtp);
 uint64_t	 memstat_get_failures(const struct memory_type *mtp);
+uint64_t	 memstat_get_sleeps(const struct memory_type *mtp);
 void		*memstat_get_caller_pointer(const struct memory_type *mtp,
 		int index);
 void		 memstat_set_caller_pointer(struct memory_type *mtp,
Index: lib/libmemstat/memstat.c
===
--- lib/libmemstat/memstat.c	(revision 209161)
+++ lib/libmemstat/memstat.c	(working copy)
@@ -188,6 +188,7 @@
 	mtp-mt_count = 0;
 	mtp-mt_free = 0;
 	mtp-mt_failures = 0;
+	mtp-mt_sleeps = 0;
 
 	mtp-mt_zonefree = 0;
 	mtp-mt_kegfree = 0;
@@ -304,6 +305,13 @@
 	return (mtp-mt_failures);
 }
 
+uint64_t
+memstat_get_sleeps(const struct memory_type *mtp)
+{
+
+	return (mtp-mt_sleeps);
+}
+
 void *
 memstat_get_caller_pointer(const struct memory_type *mtp, int index)
 {
Index: lib/libmemstat/memstat_internal.h
===
--- lib/libmemstat/memstat_internal.h	(revision 209161)
+++ lib/libmemstat/memstat_internal.h	(working copy)
@@ -65,6 +65,7 @@
 	uint64_t	 mt_count;	/* Number of current allocations. */
 	uint64_t	 mt_free;	/* Number of cached free items. */
 	uint64_t	 mt_failures;	/* Number of allocation failures. */
+	uint64_t	 mt_sleeps;	/* Number of allocation sleeps. */
 
 	/*
 	 * Caller-owned memory.
Index: lib/libmemstat/memstat_uma.c
===
--- lib/libmemstat/memstat_uma.c	(revision 209161)
+++ lib/libmemstat/memstat_uma.c	(working copy)
@@ -208,6 +208,7 @@
 		mtp-mt_numallocs = uthp-uth_allocs;
 		mtp-mt_numfrees = uthp-uth_frees;
 		mtp-mt_failures = uthp-uth_fails;
+		mtp-mt_sleeps = uthp-uth_sleeps;
 
 		for (j = 0; j  maxcpus; j++) {
 			upsp = (struct uma_percpu_stat *)p;
@@ -402,6 +403,7 @@
 			mtp-mt_numallocs = uz.uz_allocs;
 			mtp-mt_numfrees = uz.uz_frees;
 			mtp-mt_failures = uz.uz_fails;
+			mtp-mt_sleeps = uz.uz_sleeps;
 			if (kz.uk_flags  UMA_ZFLAG_INTERNAL)
 goto skip_percpu;
 			for (i = 0; i  mp_maxid + 1; i++) {
Index: sys/vm/uma_int.h
===
--- sys/vm/uma_int.h	(revision 209161)
+++ sys/vm/uma_int.h	(working copy)
@@ -327,6 +327,7 @@
 	u_int64_t	uz_allocs UMA_ALIGN; /* Total number of allocations */
 	u_int64_t	uz_frees;	/* Total number of frees */
 	u_int64_t	uz_fails;	/* Total number of alloc failures */
+	u_int64_t	uz_sleeps;	/* Total number of alloc sleeps */
 	uint16_t	uz_fills;	/* Outstanding bucket fills */
 	uint16_t	uz_count;	/* Highest value ub_ptr can have */
 
Index: sys/vm/uma.h
===
--- sys/vm/uma.h	(revision 209161)
+++ sys/vm/uma.h	(working copy)
@@ -600,7 +600,8 @@
 	u_int64_t	uth_allocs;	/* Zone: number of allocations. */
 	u_int64_t	uth_frees;	/* Zone: number of frees. */
 	u_int64_t	uth_fails;	/* Zone: number of alloc failures. */
-	u_int64_t	_uth_reserved1[3];	/* Reserved. */
+	u_int64_t	uth_sleeps;	/* Zone: number of alloc sleeps. */
+	

Re: Checksum mismatch -- will transfer entire file

2010-06-14 Thread Christian Weisgerber
Victor Sudakov sudakov+free...@sibptus.tomsk.ru wrote:

 I see nobody is ever going to fix this? Cvsup mails me a bunch of
 Checksum mismatch errors on every run, with a risk of overlooking
 real errors.

It is particularly egregious when a tag is laid down, like today.
csup(1) ends up refetching a big chunk of the tree from scratch
because so many files have these spurious checksum mismatches.
Personally, I don't care too much, but quite a bit of mirror bandwidth
is wasted this way.

 How do others deal with this noise? Do you grep cvsup output or what?

I optimistically assume that there are no real errors and I run
csup without -s once a week or so, just in case.

-- 
Christian naddy Weisgerber  na...@mips.inka.de

___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: Checksum mismatch -- will transfer entire file

2010-06-14 Thread Victor Sudakov
Jonathan Noack wrote:
  But to hell with this. I started the topic because I think something
  is wrong with SVN to CVS export, which upsets cvsup and causes
  Checksum mismatch errors.  Is anybody willing to look at it?
 
  I see nobody is ever going to fix this? Cvsup mails me a bunch of
  Checksum mismatch errors on every run, with a risk of overlooking
  real errors.
 
  How do others deal with this noise? Do you grep cvsup output or what?
 
 Seems like newer versions of CVS break assumptions made by CVSup on the
 ordering of branch revisions:
 http://lists.freebsd.org/pipermail/freebsd-hubs/2009-August/002083.html
 
 So, in short I don't see any easy solutions to this, and especially given
 the fact that in the long run CVS/CVSup will probably be replaced by
 something else for distributing FreeBSD source, I don't think it will be
 that easy to find someone to fix either CVSup or CVS.

Thanks for the link. Somebody wrote here that the problem was perhaps
in the svn2cvs script, but Simon's post gives a different outlook.

Maybe nobody is going to fix CVSup (is it not actively developed
already?), but csup is relatively recent and alive. Once it has a CVS
mode, maybe it could be adjusted?

-- 
Victor Sudakov,  VAS4-RIPE, VAS47-RIPN
sip:suda...@sibptus.tomsk.ru
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org


Re: Checksum mismatch -- will transfer entire file

2010-06-14 Thread Jonathan Noack
On Mon, June 14, 2010 00:43, Victor Sudakov wrote:
 Victor Sudakov wrote:
 But to hell with this. I started the topic because I think something
 is wrong with SVN to CVS export, which upsets cvsup and causes
 Checksum mismatch errors.  Is anybody willing to look at it?

 I see nobody is ever going to fix this? Cvsup mails me a bunch of
 Checksum mismatch errors on every run, with a risk of overlooking
 real errors.

 How do others deal with this noise? Do you grep cvsup output or what?

Seems like newer versions of CVS break assumptions made by CVSup on the
ordering of branch revisions:
http://lists.freebsd.org/pipermail/freebsd-hubs/2009-August/002083.html

So, in short I don't see any easy solutions to this, and especially given
the fact that in the long run CVS/CVSup will probably be replaced by
something else for distributing FreeBSD source, I don't think it will be
that easy to find someone to fix either CVSup or CVS.

-Jon

___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to freebsd-hackers-unsubscr...@freebsd.org