taskqueue_drain_all

2013-10-09 Thread Andriy Gapon

I would like to propose to extend taskqueue API with taskqueue_drain_all.
A potential use case: I have a private taskqueue, several kinds of tasks get
executed via it and then I want to make sure that all of them are completed.
Obviously, I have a way to ensure that no new ones get enqueued.

Is this a good addition?
Or should like consider looping over all of my tasks externally to taskqueue
implementation?

A quick prototype:

--- a/sys/kern/subr_taskqueue.c
+++ b/sys/kern/subr_taskqueue.c
@@ -316,6 +316,7 @@ taskqueue_run_locked(struct taskqueue *queue)
wakeup(task);
}
TAILQ_REMOVE(queue-tq_active, tb, tb_link);
+   wakeup(queue-tq_active);
 }

 void
@@ -402,6 +403,22 @@ taskqueue_drain(struct taskqueue *queue, struct task *task)
 }

 void
+taskqueue_drain_all(struct taskqueue *queue)
+{
+   struct task *task;
+
+   TQ_LOCK(queue);
+   while ((task = STAILQ_FIRST(queue-tq_queue)) != NULL) {
+   while (task-ta_pending != 0 || task_is_running(queue, task))
+   TQ_SLEEP(queue, task, queue-tq_mutex, PWAIT, -, 0);
+   }
+   while (TAILQ_FIRST(queue-tq_active) != NULL)
+   TQ_SLEEP(queue, queue-tq_active,
+   queue-tq_mutex, PWAIT, -, 0);
+   TQ_UNLOCK(queue);
+}
+
+void
 taskqueue_drain_timeout(struct taskqueue *queue,
 struct timeout_task *timeout_task)
 {


-- 
Andriy Gapon
___
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: amdtemp need help with testing

2013-10-09 Thread Willem Jan Withagen

On 2013-10-07 3:24, rozhuk...@gmail.com wrote:

I updated amdtemp and now I need your help with testing.

Now the driver should support all AMD processors.
For a family of 15h and 16h, not all sensors are available - for my system
does not find drivers for ati SMBus, and other systems based on the AMD I
have not.


CPU: AMD Phenom(tm) II X6 1075T Processor (3013.83-MHz K8-class CPU)
  Origin = AuthenticAMD  Id = 0x100fa0  Family = 0x10  Model = 0xa 
Stepping = 0

Features=0x178bfbffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT
  Features2=0x802009SSE3,MON,CX16,POPCNT
  AMD 
Features=0xee500800SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM,3DNow!+,3DNow!
  AMD 
Features2=0x37ffLAHF,CMP,SVM,ExtAPIC,CR8,ABM,SSE4A,MAS,Prefetch,OSVW,IBS,SKINIT,WDT

  TSC: P-state invariant, performance statistics
L1 2MB data TLB: 48 entries, fully associative
L1 2MB instruction TLB: 16 entries, fully associative
L1 4KB data TLB: 48 entries, fully associative
L1 4KB instruction TLB: 32 entries, fully associative
L1 data cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
L1 instruction cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way 
associative

L2 2MB data TLB: 128 entries, 2-way associative
L2 2MB instruction TLB: 0 entries, 2-way associative

This is what I get with the 10.0-ALPHA4 driver.

sysctl -a | grep amd
machine amd64
hw.machine: amd64
hw.machine_arch: amd64
hw.snd.version: 2009061500/amd64
hw.mca.amd10h_L1TP: 1
dev.amdtemp.0.%desc: AMD CPU On-Die Thermal Sensors
dev.amdtemp.0.%driver: amdtemp
dev.amdtemp.0.%parent: hostb4
dev.amdtemp.0.sensor_offset: 0
dev.amdtemp.0.core0.sensor0: 58.0C

This is what I get when I try to compile the new module:
freetest# cd /usr/src/sys/modules/amdtemp/
freetest# make
Warning: Object directory not changed from original 
/usr/src/sys/modules/amdtemp
cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE 
-nostdinc   -I. -I@ -I@/contrib/altq -fno-common 
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer  -mno-aes -mno-avx 
-mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float 
-fno-asynchronous-unwind-tables -ffreestanding -fstack-protector 
-std=iso9899:1999 -Qunused-arguments -fstack-protector -Wall 
-Wredundant-decls -Wnested-externs -Wstrict-prototypes 
-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef 
-Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs 
-fdiagnostics-show-option  -Wno-error-tautological-compare 
-Wno-error-empty-body  -Wno-error-parentheses-equality  -c 
/usr/src/sys/modules/amdtemp/../../dev/amdtemp/amdtemp.c
/usr/src/sys/modules/amdtemp/../../dev/amdtemp/amdtemp.c:453:9: error: 
implicit declaration of function 'pci_cfgregread' is invalid in

  C99 [-Werror,-Wimplicit-function-declaration]
if ((pci_cfgregread(pci_get_bus(dev), 
pci_get_slot(dev), 2,

 ^
1 error generated.
*** Error code 1

Stop.
make: stopped in /usr/src/sys/modules/amdtemp

FreeBSD freetest.digiware.nl 10.0-ALPHA4 FreeBSD 10.0-ALPHA4 #1 r256062: 
Tue Oct  8 11:05:54 CEST 2013 
r...@freetest.digiware.nl:/usr/obj/usr/src/sys/FREETEST  amd64


--WjW



___
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


mmap() question

2013-10-09 Thread Dmitry Sivachenko
Hello!

I have a program which mmap()s a lot of large files (total size more that RAM 
and I have no swap), but it needs only small parts of that files at a time.

My understanding is that when using mmap when I access some memory region OS 
reads the relevant portion of that file from disk and caches the result in 
memory.  If there is no free memory, OS will purge previously read part of 
mmap'ed file to free memory for the new chunk.

But this is not the case.  I use the following simple program which gets list 
of files as command line arguments, mmap()s them all and then selects random 
file and random 1K parts of that file and computes a XOR of bytes from that 
region.
After some time the program dies:
pid 63251 (a.out), uid 1232, was killed: out of swap space

It seems I incorrectly understand how mmap() works, can you please clarify 
what's going wrong?

I expect that program to run indefinitely, purging some regions out of RAM and 
reading the relevant parts of files.

Thanks!

#include err.h
#include fcntl.h
#include math.h
#include stdio.h
#include stdlib.h
#include sys/mman.h
#include sys/stat.h
#include sys/types.h
#include unistd.h

struct f_data {
char *beg;
off_t size;
};

int
main(int argc, char* argv[]) {
if (argc  2) {
fprintf(stderr, Usage: %s file ...\n, argv[0]);
exit(0);
}
int i, j, fd;
struct stat st;
struct f_data FILES[500];
int NUM_FILES;
void *p;
NUM_FILES = argc - 1;
for (i=1; i  argc; i++) {
printf(%s... , argv[i]);
if ((fd = open(argv[i], O_RDONLY))  0)
errx(1, open);
if (fstat(fd, st) != 0)
errx(1, fstat);
if ((p = mmap(NULL, st.st_size, PROT_READ, MAP_NOCORE, fd, 0)) == 
MAP_FAILED)
errx(1, mmap);
FILES[i-1].beg = (char*)p;
FILES[i-1].size = st.st_size;
if (msync(p, st.st_size, MS_INVALIDATE) != 0)
errx(1, msync);
printf(Ok.\n);
}
char chk = 0;
while(1) {
int rf = floor((double)random() / 2147483647 * NUM_FILES);
off_t offs = floor((double)random() / 2147483647 * (FILES[rf].size - 
1024));
for (j=0; j1024; j++)
chk ^= *(FILES[rf].beg + offs + j);
}
return 0;
}

___
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: amdtemp need help with testing

2013-10-09 Thread Willem Jan Withagen

On 2013-10-09 13:34, Willem Jan Withagen wrote:

On 2013-10-07 3:24, rozhuk...@gmail.com wrote:

I updated amdtemp and now I need your help with testing.

Now the driver should support all AMD processors.
For a family of 15h and 16h, not all sensors are available - for my
system
does not find drivers for ati SMBus, and other systems based on the AMD I
have not.


CPU: AMD Phenom(tm) II X6 1075T Processor (3013.83-MHz K8-class CPU)
   Origin = AuthenticAMD  Id = 0x100fa0  Family = 0x10  Model = 0xa
Stepping = 0
Features=0x178bfbffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT

   Features2=0x802009SSE3,MON,CX16,POPCNT
   AMD
Features=0xee500800SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM,3DNow!+,3DNow!
   AMD
Features2=0x37ffLAHF,CMP,SVM,ExtAPIC,CR8,ABM,SSE4A,MAS,Prefetch,OSVW,IBS,SKINIT,WDT

   TSC: P-state invariant, performance statistics
L1 2MB data TLB: 48 entries, fully associative
L1 2MB instruction TLB: 16 entries, fully associative
L1 4KB data TLB: 48 entries, fully associative
L1 4KB instruction TLB: 32 entries, fully associative
L1 data cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
L1 instruction cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way
associative
L2 2MB data TLB: 128 entries, 2-way associative
L2 2MB instruction TLB: 0 entries, 2-way associative

This is what I get with the 10.0-ALPHA4 driver.

sysctl -a | grep amd
machine amd64
hw.machine: amd64
hw.machine_arch: amd64
hw.snd.version: 2009061500/amd64
hw.mca.amd10h_L1TP: 1
dev.amdtemp.0.%desc: AMD CPU On-Die Thermal Sensors
dev.amdtemp.0.%driver: amdtemp
dev.amdtemp.0.%parent: hostb4
dev.amdtemp.0.sensor_offset: 0
dev.amdtemp.0.core0.sensor0: 58.0C

After bruteforce fixing the compile error by deleting the #ifdef around 
the definition...


--WjW

freetest# sysctl -a | grep amd
machine amd64
Giant,amdtemp
hw.machine: amd64
hw.machine_arch: amd64
hw.snd.version: 2009061500/amd64
hw.mca.amd10h_L1TP: 1
dev.amdtemp.0.%desc: AMD CPU On-Die Thermal Sensors
dev.amdtemp.0.%driver: amdtemp
dev.amdtemp.0.%parent: hostb4
dev.amdtemp.0.rtc.CurTmp: 36.6C
dev.amdtemp.0.rtc.CurTmpTjSel: -12.5C
dev.amdtemp.0.rtc.TmpSlewDnEn: 1
dev.amdtemp.0.rtc.TmpMaxDiffUp: 3
dev.amdtemp.0.rtc.PerStepTimeDn: 15
dev.amdtemp.0.rtc.PerStepTimeUp: 15
dev.amdtemp.0.rtc.sensor_offset: 0
dev.amdtemp.0.tsi.sensor0.cpu_temperature: 36.6C
dev.amdtemp.0.tsi.sensor0.high_temperature_threshold: 70.0C
dev.amdtemp.0.tsi.sensor0.low_temperature_threshold: 0.0C
dev.amdtemp.0.tsi.sensor0.cpu_temperature_offset_hi: 0
dev.amdtemp.0.tsi.sensor0.cpu_temperature_offset_lo: 0
dev.amdtemp.0.tsi.sensor0.status: 0
dev.amdtemp.0.tsi.sensor0.cfg3: 0
dev.amdtemp.0.tsi.sensor0.cfg9: 0
dev.amdtemp.0.tsi.sensor0.upd_rate: 8
dev.amdtemp.0.tsi.sensor0.timeout_cfg: 128
dev.amdtemp.0.tsi.sensor0.alert_threshold: 0
dev.amdtemp.0.tsi.sensor0.alert_cfg: 0
dev.amdtemp.0.tsi.sensor0.manufacture_id: 0
dev.amdtemp.0.tsi.sensor0.revision: 1
dev.amdtemp.0.tsi.sensor0.sensor_offset: 0
dev.amdtemp.0.tsi.sensor1.cpu_temperature: 36.6C
dev.amdtemp.0.tsi.sensor1.high_temperature_threshold: 70.0C
dev.amdtemp.0.tsi.sensor1.low_temperature_threshold: 0.0C
dev.amdtemp.0.tsi.sensor1.cpu_temperature_offset_hi: 0
dev.amdtemp.0.tsi.sensor1.cpu_temperature_offset_lo: 0
dev.amdtemp.0.tsi.sensor1.status: 0
dev.amdtemp.0.tsi.sensor1.cfg3: 0
dev.amdtemp.0.tsi.sensor1.cfg9: 0
dev.amdtemp.0.tsi.sensor1.upd_rate: 8
dev.amdtemp.0.tsi.sensor1.timeout_cfg: 128
dev.amdtemp.0.tsi.sensor1.alert_threshold: 0
dev.amdtemp.0.tsi.sensor1.alert_cfg: 0
dev.amdtemp.0.tsi.sensor1.manufacture_id: 0
dev.amdtemp.0.tsi.sensor1.revision: 1
dev.amdtemp.0.tsi.sensor1.sensor_offset: 0
dev.amdtemp.0.tsi.sensor2.cpu_temperature: 36.6C
dev.amdtemp.0.tsi.sensor2.high_temperature_threshold: 70.0C
dev.amdtemp.0.tsi.sensor2.low_temperature_threshold: 0.0C
dev.amdtemp.0.tsi.sensor2.cpu_temperature_offset_hi: 0
dev.amdtemp.0.tsi.sensor2.cpu_temperature_offset_lo: 0
dev.amdtemp.0.tsi.sensor2.status: 0
dev.amdtemp.0.tsi.sensor2.cfg3: 0
dev.amdtemp.0.tsi.sensor2.cfg9: 0
dev.amdtemp.0.tsi.sensor2.upd_rate: 8
dev.amdtemp.0.tsi.sensor2.timeout_cfg: 128
dev.amdtemp.0.tsi.sensor2.alert_threshold: 0
dev.amdtemp.0.tsi.sensor2.alert_cfg: 0
dev.amdtemp.0.tsi.sensor2.manufacture_id: 0
dev.amdtemp.0.tsi.sensor2.revision: 1
dev.amdtemp.0.tsi.sensor2.sensor_offset: 0
dev.amdtemp.0.tsi.sensor3.cpu_temperature: 36.6C
dev.amdtemp.0.tsi.sensor3.high_temperature_threshold: 70.0C
dev.amdtemp.0.tsi.sensor3.low_temperature_threshold: 0.0C
dev.amdtemp.0.tsi.sensor3.cpu_temperature_offset_hi: 0
dev.amdtemp.0.tsi.sensor3.cpu_temperature_offset_lo: 0
dev.amdtemp.0.tsi.sensor3.status: 0
dev.amdtemp.0.tsi.sensor3.cfg3: 0
dev.amdtemp.0.tsi.sensor3.cfg9: 0
dev.amdtemp.0.tsi.sensor3.upd_rate: 8
dev.amdtemp.0.tsi.sensor3.timeout_cfg: 128
dev.amdtemp.0.tsi.sensor3.alert_threshold: 0
dev.amdtemp.0.tsi.sensor3.alert_cfg: 0
dev.amdtemp.0.tsi.sensor3.manufacture_id: 0
dev.amdtemp.0.tsi.sensor3.revision: 1

Re: Call fo comments - raising vfs.ufs.dirhash_reclaimage?

2013-10-09 Thread RW
On Tue, 8 Oct 2013 16:01:25 -0700
Davide Italiano wrote:


 This could be probably changed -- from what | see even under high
 memory pressure this wasn't a problem but all in all I agree with you
 that we shouldn't loop forever but limit the number of pass on the
 list to a somewhat constant number, to prevent pathological cases.

I don't see any need to loop.


  I don't believe that's true. Under most circustances the existing
  scheme free more memory. The only case when yours frees more is
  when 90% of the entries are locked.
 
 Well, no. Here you can set the threshold to a more aggressive value so
 that you reclaim more memory every time. Note that this was not
 possible in the previous version, so, if you could have a situation
 where all your cache entries were not touched for 15 or even 30
 seconds they would have kept around, and you can destroy up to 10% of
 them everytime lowmem event is called.

Outside of contrived stress tests I think it's very rare for a
significant fraction of the cache to have been accessed in the last
minute - particularly on large caches where this matters most. 
___
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: mmap() question

2013-10-09 Thread RW
On Wed, 9 Oct 2013 15:42:27 +0400
Dmitry Sivachenko wrote:

 Hello!
 
 I have a program which mmap()s a lot of large files (total size more
 that RAM and I have no swap), but it needs only small parts of that
 files at a time.
 
 My understanding is that when using mmap when I access some memory
 region OS reads the relevant portion of that file from disk and
 caches the result in memory.  If there is no free memory, OS will
 purge previously read part of mmap'ed file to free memory for the new
 chunk.
 
...

 It seems I incorrectly understand how mmap() works, can you please
 clarify what's going wrong?
 
 I expect that program to run indefinitely, purging some regions out
 of RAM and reading the relevant parts of files.

I think your problem is that you are accessing the memory so rapidly
that the pages can't even get out of the active queue. The VM system
isn't optimized for this kind of abnormal access. 
___
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: openjdk7 dtrace support

2013-10-09 Thread Patrick Dung
Hello, 


I would like to know it there is dtrace support in the openjdk7?

Thanks,
Patrick Dung




On Tuesday, October 8, 2013 1:26 PM, Patrick Dung patrick_...@yahoo.com.hk 
wrote:
 
Hi all,

I would like to know it there is dtrace support in the openjdk7?

Thanks,
Patrick
___
freebsd-j...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to freebsd-java-unsubscr...@freebsd.org
___
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: taskqueue_drain_all

2013-10-09 Thread Adrian Chadd
+1

Very useful :)


-a


On 9 October 2013 01:55, Andriy Gapon a...@freebsd.org wrote:


 I would like to propose to extend taskqueue API with taskqueue_drain_all.
 A potential use case: I have a private taskqueue, several kinds of tasks
 get
 executed via it and then I want to make sure that all of them are
 completed.
 Obviously, I have a way to ensure that no new ones get enqueued.

 Is this a good addition?
 Or should like consider looping over all of my tasks externally to
 taskqueue
 implementation?

 A quick prototype:

 --- a/sys/kern/subr_taskqueue.c
 +++ b/sys/kern/subr_taskqueue.c
 @@ -316,6 +316,7 @@ taskqueue_run_locked(struct taskqueue *queue)
 wakeup(task);
 }
 TAILQ_REMOVE(queue-tq_active, tb, tb_link);
 +   wakeup(queue-tq_active);
  }

  void
 @@ -402,6 +403,22 @@ taskqueue_drain(struct taskqueue *queue, struct task
 *task)
  }

  void
 +taskqueue_drain_all(struct taskqueue *queue)
 +{
 +   struct task *task;
 +
 +   TQ_LOCK(queue);
 +   while ((task = STAILQ_FIRST(queue-tq_queue)) != NULL) {
 +   while (task-ta_pending != 0 || task_is_running(queue,
 task))
 +   TQ_SLEEP(queue, task, queue-tq_mutex, PWAIT,
 -, 0);
 +   }
 +   while (TAILQ_FIRST(queue-tq_active) != NULL)
 +   TQ_SLEEP(queue, queue-tq_active,
 +   queue-tq_mutex, PWAIT, -, 0);
 +   TQ_UNLOCK(queue);
 +}
 +
 +void
  taskqueue_drain_timeout(struct taskqueue *queue,
  struct timeout_task *timeout_task)
  {


 --
 Andriy Gapon

 ___
 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

___
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: patch(1) depends on RCS - should it?

2013-10-09 Thread Benjamin Kaduk
I guess I'm late to the party (catching up on the whole thread took a 
while...)


On Mon, 7 Oct 2013, Eitan Adler wrote:


patch(1) explicitly tries to use RCS (and SCCS) in certain cases.  Are
we okay with a base system utility that behaves differently depending
on whether a port is installed? Should the relevant code be removed
from patch(1)?

See head/usr.bin/patch/inp.c lines 166 to 240 for details.


It seems like maybe this question should have been answered before rcs was 
removed, instead of after?
(I don't know whether I would have expected you to be able to find every 
use of rcs, everywhere, prior to removing it, but this is what public 
declaration of intent/discussions help with.)


-Ben
___
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: patch(1) depends on RCS - should it?

2013-10-09 Thread Eitan Adler
On Wed, Oct 9, 2013 at 3:26 PM, Benjamin Kaduk ka...@mit.edu wrote:
 I guess I'm late to the party (catching up on the whole thread took a
 while...)


 On Mon, 7 Oct 2013, Eitan Adler wrote:

 patch(1) explicitly tries to use RCS (and SCCS) in certain cases.  Are
 we okay with a base system utility that behaves differently depending
 on whether a port is installed? Should the relevant code be removed
 from patch(1)?

 See head/usr.bin/patch/inp.c lines 166 to 240 for details.


 It seems like maybe this question should have been answered before rcs was
 removed, instead of after?
 (I don't know whether I would have expected you to be able to find every use
 of rcs, everywhere, prior to removing it, but this is what public
 declaration of intent/discussions help with.)

I was asked by members of core@ to expedite the removal to 10.X - it
was not done just because I felt like it.

In any case its been reverted now so the discussion is moot.

-- 
Eitan Adler
___
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: patch(1) depends on RCS - should it?

2013-10-09 Thread Joerg Sonnenberger
On Mon, Oct 07, 2013 at 04:17:03PM -0400, Eitan Adler wrote:
 patch(1) explicitly tries to use RCS (and SCCS) in certain cases.

At the SCCS behavior is part of (the SCCS option in ) POSIX 2008.
So far I haven't seen any reason for messing with it.

Joerg
___
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


git session at BAFUG tomorrow (San Francisco Bay Area FreeBSD User Group).

2013-10-09 Thread Alfred Perlstein
I've been doing a few one-on-one sessions at iXsystems explaining the 
git model to developers and have had much success.


Tomorrow at BAFUG 
(http://www.meetup.com/BAFUG-Bay-Area-FreeBSD-User-Group/events/144351492/) 
I will be doing a quick talk on git and then doing a breakaway session 
on managing large projects using git.



This week Alfred Perlstein will have a GIT talk for FreeBSD users, and 
offer a 1-2 hour demo in a break awayfor people interested in doing a 
hands-on GIT experience managing a large project.


We will cover migration of your FreeBSD customizations based on one 
version of FreeBSD to another FreeBSD version. Specifically, Alfred 
will be doing a hands-on using rebasing, to do this migration.


To participate, all that needs to be done is to have run git clone 
https://github.com/freebsd/freebsd; beforehand (as this takes about 30 
minutes).


In addition, a computer with wi-fi or some internet connection to 
github.com http://github.com/ is needed.


As a prerequisite, it is expected that you have some understanding of 
patch(1) and diff(1).


There will be no recording allowed and the format will allow only for 
short discussion and no derailing. Discussion of other SCM tools is 
only appropriate in the context of understanding what we are doing in 
git. Advocacy of other SCM tools will not be tolerated.  If you can 
not abide by these rules you will be asked to leave the session.





The workshop will mostly focus on git rebase of a large project, 
however we may cover a few other areas depending on how much progress we 
make in the 1-2 hours we set aside.


Again, if you want to participate, show up on time and make sure you 
have a git clone of freebsd already made!


-Alfred

--
Alfred Perlstein

___
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: openjdk7 dtrace support

2013-10-09 Thread Mark Johnston
On Wed, Oct 09, 2013 at 09:55:51PM +0800, Patrick Dung wrote:
 Hello, 
 
 
 I would like to know it there is dtrace support in the openjdk7?

Not yet on FreeBSD, unless there's something I'm missing. Some work
needs to be done on the port in order to get it working.

hotspot/make/bsd/makefiles/dtrace.make only does anything if it detects
that it's running on Darwin; that'd probably be a good place to start
for anyone interested in working on this.

-Mark
___
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