You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(7) |
Aug
(50) |
Sep
(210) |
Oct
(93) |
Nov
(99) |
Dec
(101) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(283) |
Feb
(42) |
Mar
(148) |
Apr
(94) |
May
(256) |
Jun
(206) |
Jul
(101) |
Aug
(28) |
Sep
(159) |
Oct
(102) |
Nov
(216) |
Dec
(159) |
2003 |
Jan
(112) |
Feb
(149) |
Mar
(332) |
Apr
(261) |
May
(528) |
Jun
(270) |
Jul
(231) |
Aug
(231) |
Sep
(338) |
Oct
(445) |
Nov
(212) |
Dec
(26) |
2004 |
Jan
(179) |
Feb
(109) |
Mar
(20) |
Apr
(20) |
May
(55) |
Jun
(11) |
Jul
(38) |
Aug
(13) |
Sep
(28) |
Oct
(13) |
Nov
(41) |
Dec
(30) |
2005 |
Jan
(17) |
Feb
(4) |
Mar
(62) |
Apr
(176) |
May
(44) |
Jun
(13) |
Jul
(16) |
Aug
(154) |
Sep
(6) |
Oct
(13) |
Nov
(4) |
Dec
(6) |
2006 |
Jan
(12) |
Feb
(11) |
Mar
(9) |
Apr
(1) |
May
(10) |
Jun
(6) |
Jul
(10) |
Aug
(10) |
Sep
(27) |
Oct
(25) |
Nov
(40) |
Dec
(18) |
2007 |
Jan
(13) |
Feb
(25) |
Mar
(6) |
Apr
(14) |
May
(52) |
Jun
(22) |
Jul
(20) |
Aug
(8) |
Sep
(2) |
Oct
(138) |
Nov
(152) |
Dec
(73) |
2008 |
Jan
(52) |
Feb
(31) |
Mar
(5) |
Apr
(48) |
May
(20) |
Jun
(14) |
Jul
(36) |
Aug
(16) |
Sep
(1) |
Oct
(19) |
Nov
(13) |
Dec
(4) |
2009 |
Jan
(2) |
Feb
(13) |
Mar
(10) |
Apr
(28) |
May
(46) |
Jun
(21) |
Jul
(21) |
Aug
(22) |
Sep
(8) |
Oct
(25) |
Nov
(15) |
Dec
(2) |
2010 |
Jan
(12) |
Feb
|
Mar
(8) |
Apr
(3) |
May
(2) |
Jun
(5) |
Jul
(11) |
Aug
(17) |
Sep
|
Oct
(12) |
Nov
(14) |
Dec
(10) |
2011 |
Jan
(6) |
Feb
|
Mar
(8) |
Apr
(6) |
May
(17) |
Jun
(8) |
Jul
(4) |
Aug
(9) |
Sep
(2) |
Oct
(3) |
Nov
(4) |
Dec
(2) |
2012 |
Jan
(4) |
Feb
(7) |
Mar
(16) |
Apr
(9) |
May
(15) |
Jun
(22) |
Jul
(30) |
Aug
(36) |
Sep
(6) |
Oct
(5) |
Nov
(9) |
Dec
(11) |
2013 |
Jan
(17) |
Feb
(11) |
Mar
(7) |
Apr
(8) |
May
(15) |
Jun
(19) |
Jul
(27) |
Aug
(3) |
Sep
(3) |
Oct
(8) |
Nov
(6) |
Dec
(10) |
2014 |
Jan
(15) |
Feb
(16) |
Mar
(4) |
Apr
(3) |
May
(10) |
Jun
(9) |
Jul
(9) |
Aug
(31) |
Sep
(11) |
Oct
(6) |
Nov
(4) |
Dec
(3) |
2015 |
Jan
(2) |
Feb
(1) |
Mar
(2) |
Apr
(3) |
May
(4) |
Jun
(5) |
Jul
(14) |
Aug
(2) |
Sep
(2) |
Oct
(1) |
Nov
(4) |
Dec
(4) |
2016 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
(4) |
May
(2) |
Jun
|
Jul
(2) |
Aug
(1) |
Sep
(1) |
Oct
(3) |
Nov
(1) |
Dec
|
2017 |
Jan
(4) |
Feb
|
Mar
(1) |
Apr
(3) |
May
|
Jun
(9) |
Jul
(11) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(3) |
Jul
(10) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
(6) |
Jun
|
Jul
(2) |
Aug
(2) |
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2020 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
From: John L. <mov...@us...> - 2001-08-16 02:23:04
|
Update of /cvsroot/oprofile/oprofile/gui In directory usw-pr-cvs1:/tmp/cvs-serv28096/gui Modified Files: oprofile Log Message: use op_dump Index: oprofile =================================================================== RCS file: /cvsroot/oprofile/oprofile/gui/oprofile,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- oprofile 2001/07/21 22:53:38 1.9 +++ oprofile 2001/08/16 02:23:01 1.10 @@ -706,19 +706,7 @@ # the user can try to flush even if the driver is not loaded so check for # the file existence before attempting to make a flush. if { [file exists /proc/sys/dev/oprofile/dump] } then { - - # FIXME : apparently there is no way actually to check if dumping has - # been done correctly. - set fd [open /proc/sys/dev/oprofile/dump w] - puts $fd "1" - - # Must be enclosed in a catch clause because the driver return a zero - # file length write (or an error ?), wish interpret this as a write - # error. Take care it is really needed to catch { flush $fd } instead - # of catch { close $fd } else the tcl/tk runtime leaks a file - # descriptor each time this function is called. - catch { flush $fd } - close $fd + exec op_dump } } |
From: John L. <mov...@us...> - 2001-08-16 02:23:04
|
Update of /cvsroot/oprofile/oprofile/doc In directory usw-pr-cvs1:/tmp/cvs-serv28096/doc Modified Files: oprofile.1.in Log Message: use op_dump Index: oprofile.1.in =================================================================== RCS file: /cvsroot/oprofile/oprofile/doc/oprofile.1.in,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- oprofile.1.in 2001/07/22 13:51:06 1.5 +++ oprofile.1.in 2001/08/16 02:23:01 1.6 @@ -239,7 +239,7 @@ .PP Profiles will be collected every ten minutes. You can force a collection at any time : .PP -.I echo 1 >/proc/sys/dev/oprofile/dump +.I op_dump .PP As an alternative you can use the .B oprofile |
From: John L. <mov...@us...> - 2001-08-16 02:23:04
|
Update of /cvsroot/oprofile/oprofile In directory usw-pr-cvs1:/tmp/cvs-serv28096 Modified Files: ChangeLog Log Message: use op_dump Index: ChangeLog =================================================================== RCS file: /cvsroot/oprofile/oprofile/ChangeLog,v retrieving revision 1.80 retrieving revision 1.81 diff -u -d -r1.80 -r1.81 --- ChangeLog 2001/08/16 02:21:19 1.80 +++ ChangeLog 2001/08/16 02:23:01 1.81 @@ -1,3 +1,9 @@ +2001-08-16 Philippe Elie <ph...@cl...> + + * gui/oprofile: + * dae/op_start: + * doc/oprofile.1.in: document and use op_dump + 2001-08-16 John Levon <mo...@co...> * configure.in: bump version to 0.0.5cvs |
From: John L. <mov...@us...> - 2001-08-16 02:23:04
|
Update of /cvsroot/oprofile/oprofile/dae In directory usw-pr-cvs1:/tmp/cvs-serv28096/dae Modified Files: op_start Log Message: use op_dump Index: op_start =================================================================== RCS file: /cvsroot/oprofile/oprofile/dae/op_start,v retrieving revision 1.33 retrieving revision 1.34 diff -u -d -r1.33 -r1.34 --- op_start 2001/08/02 17:55:22 1.33 +++ op_start 2001/08/16 02:23:01 1.34 @@ -451,6 +451,6 @@ exit 1 fi -echo "Daemon started. Remember you may need to" -echo "echo 1 >/proc/sys/dev/oprofile/dump" -echo "to get profiling data ..." +echo "Daemon started. Remember you may need to use" +echo "op_dump" +echo "to get or flush profiling data ..." |
From: John L. <mov...@us...> - 2001-08-16 02:21:22
|
Update of /cvsroot/oprofile/oprofile In directory usw-pr-cvs1:/tmp/cvs-serv27713 Modified Files: ChangeLog configure.in Log Message: bump version Index: ChangeLog =================================================================== RCS file: /cvsroot/oprofile/oprofile/ChangeLog,v retrieving revision 1.79 retrieving revision 1.80 diff -u -d -r1.79 -r1.80 --- ChangeLog 2001/08/16 01:57:58 1.79 +++ ChangeLog 2001/08/16 02:21:19 1.80 @@ -1,5 +1,9 @@ 2001-08-16 John Levon <mo...@co...> + * configure.in: bump version to 0.0.5cvs + +2001-08-16 John Levon <mo...@co...> + * all Makefile.in: mkdir install files 2001-08-15 Philippe Elie <ph...@cl...> Index: configure.in =================================================================== RCS file: /cvsroot/oprofile/oprofile/configure.in,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- configure.in 2001/07/25 02:54:49 1.28 +++ configure.in 2001/08/16 02:21:19 1.29 @@ -16,7 +16,7 @@ AC_SUBST(PACKAGE) AC_SUBST(VERSION) PACKAGE=oprofile -VERSION=0.0.4 +VERSION=0.0.5cvs dnl for the man page DATE="`date '+%a %d %B %Y'`" |
From: John L. <mov...@us...> - 2001-08-16 01:58:03
|
Update of /cvsroot/oprofile/oprofile/dae In directory usw-pr-cvs1:/tmp/cvs-serv23099/dae Modified Files: Makefile.in Log Message: make install fix Index: Makefile.in =================================================================== RCS file: /cvsroot/oprofile/oprofile/dae/Makefile.in,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- Makefile.in 2001/08/11 01:45:54 1.12 +++ Makefile.in 2001/08/16 01:57:58 1.13 @@ -9,8 +9,10 @@ BINDIR=@bindir@ MANDIR=@mandir@ CC=@CC@ +MKDIR_P=mkdir -p install: oprofiled op_start op_dump op_stop op_help + -$(MKDIR_P) $(BINDIR) cp oprofiled $(BINDIR)/oprofiled cp op_start $(BINDIR)/op_start cp op_dump $(BINDIR)/op_dump |
From: John L. <mov...@us...> - 2001-08-16 01:58:03
|
Update of /cvsroot/oprofile/oprofile In directory usw-pr-cvs1:/tmp/cvs-serv23099 Modified Files: ChangeLog Makefile.in Log Message: make install fix Index: ChangeLog =================================================================== RCS file: /cvsroot/oprofile/oprofile/ChangeLog,v retrieving revision 1.78 retrieving revision 1.79 diff -u -d -r1.78 -r1.79 --- ChangeLog 2001/08/15 13:40:23 1.78 +++ ChangeLog 2001/08/16 01:57:58 1.79 @@ -1,3 +1,7 @@ +2001-08-16 John Levon <mo...@co...> + + * all Makefile.in: mkdir install files + 2001-08-15 Philippe Elie <ph...@cl...> * dae/opd_proc.c: fix a FILE* leak in opd_get_ascii_maps() Index: Makefile.in =================================================================== RCS file: /cvsroot/oprofile/oprofile/Makefile.in,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- Makefile.in 2001/07/14 13:37:25 1.21 +++ Makefile.in 2001/08/16 01:57:58 1.22 @@ -2,6 +2,7 @@ BKCFLAGS=@BKCFLAGS@ @MODVERSIONS@ MODINSTALLDIR=@MODINSTALLDIR@/oprofile +MKDIR_P=mkdir -p CC=@CC@ LD=@LD@ @@ -41,7 +42,7 @@ ctags -R install: oprofile.o - mkdir -p $(MODINSTALLDIR) + -$(MKDIR_P) $(MODINSTALLDIR) cp oprofile.o $(MODINSTALLDIR) depmod -a $(MAKE) -C dae install |
From: John L. <mov...@us...> - 2001-08-16 01:58:03
|
Update of /cvsroot/oprofile/oprofile/pp In directory usw-pr-cvs1:/tmp/cvs-serv23099/pp Modified Files: Makefile.in Log Message: make install fix Index: Makefile.in =================================================================== RCS file: /cvsroot/oprofile/oprofile/pp/Makefile.in,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- Makefile.in 2001/07/25 03:51:33 1.12 +++ Makefile.in 2001/08/16 01:57:58 1.13 @@ -10,8 +10,10 @@ exec_prefix=@exec_prefix@ BINDIR=@bindir@ MANDIR=@mandir@ +MKDIR_P=mkdir -p install: oprofpp oprof_convert opf_filter op_to_source + -$(MKDIR_P) $(BINDIR) cp oprofpp $(BINDIR)/oprofpp chmod 755 $(BINDIR)/oprofpp cp oprof_convert $(BINDIR)/oprof_convert |
From: John L. <mov...@us...> - 2001-08-16 01:58:03
|
Update of /cvsroot/oprofile/oprofile/doc In directory usw-pr-cvs1:/tmp/cvs-serv23099/doc Modified Files: Makefile.in Log Message: make install fix Index: Makefile.in =================================================================== RCS file: /cvsroot/oprofile/oprofile/doc/Makefile.in,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Makefile.in 2001/07/27 00:28:44 1.4 +++ Makefile.in 2001/08/16 01:57:58 1.5 @@ -5,6 +5,7 @@ LN_SF=ln -sf RM=rm MKDIR=mkdir +MKDIR_P=$(MKDIR) -p DB2HTML=db2html .PHONY: all clean install @@ -19,6 +20,7 @@ -$(RM) -rf oprofile install: + -$(MKDIR_P) $(MANDIR)/man1 cp oprofile.1 $(MANDIR)/man1/oprofile.1 -$(LN_SF) $(MANDIR)/man1/oprofile.1 $(MANDIR)/man1/oprofiled.1 -$(LN_SF) $(MANDIR)/man1/oprofile.1 $(MANDIR)/man1/op_start.1 |
From: John L. <mov...@us...> - 2001-08-16 01:58:03
|
Update of /cvsroot/oprofile/oprofile/gui In directory usw-pr-cvs1:/tmp/cvs-serv23099/gui Modified Files: Makefile.in Log Message: make install fix Index: Makefile.in =================================================================== RCS file: /cvsroot/oprofile/oprofile/gui/Makefile.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Makefile.in 2001/06/03 19:20:28 1.1 +++ Makefile.in 2001/08/16 01:57:58 1.2 @@ -7,7 +7,9 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ BINDIR=@bindir@ +MKDIR_P=mkdir -p install: oprofile + -$(MKDIR_P) $(BINDIR) cp oprofile $(BINDIR)/oprofile cd $(BINDIR) && chmod 755 oprofile |
From: John L. <mov...@us...> - 2001-08-15 13:40:29
|
Update of /cvsroot/oprofile/oprofile/dae In directory usw-pr-cvs1:/tmp/cvs-serv7885/dae Modified Files: opd_proc.c Log Message: last minute file leak patch from philippe Index: opd_proc.c =================================================================== RCS file: /cvsroot/oprofile/oprofile/dae/opd_proc.c,v retrieving revision 1.61 retrieving revision 1.62 diff -u -d -r1.61 -r1.62 --- opd_proc.c 2001/08/14 18:02:33 1.61 +++ opd_proc.c 2001/08/15 13:40:23 1.62 @@ -1367,6 +1367,8 @@ opd_free(line); } } while (1); + + opd_close_file(fp); } /** |
From: John L. <mov...@us...> - 2001-08-15 13:40:29
|
Update of /cvsroot/oprofile/oprofile In directory usw-pr-cvs1:/tmp/cvs-serv7885 Modified Files: ChangeLog Log Message: last minute file leak patch from philippe Index: ChangeLog =================================================================== RCS file: /cvsroot/oprofile/oprofile/ChangeLog,v retrieving revision 1.77 retrieving revision 1.78 diff -u -d -r1.77 -r1.78 --- ChangeLog 2001/08/14 18:02:33 1.77 +++ ChangeLog 2001/08/15 13:40:23 1.78 @@ -1,3 +1,7 @@ +2001-08-15 Philippe Elie <ph...@cl...> + + * dae/opd_proc.c: fix a FILE* leak in opd_get_ascii_maps() + 2001-08-14 John Levon <mo...@co...> * op_syscalls.c: don't return negative hashes ! @@ -230,7 +234,7 @@ 2001-07-14 John Levon <mo...@co...> * Makefile.in: dist fix - + 2001-07-14 John Levon <mo...@co...> * doc/oprofile.sgml: make it clear we want vmlinux not vmlinuz |
From: John L. <mov...@us...> - 2001-08-14 18:02:38
|
Update of /cvsroot/oprofile/oprofile/dae In directory usw-pr-cvs1:/tmp/cvs-serv25297/dae Modified Files: opd_proc.c Log Message: fixes to the hash map ! Index: opd_proc.c =================================================================== RCS file: /cvsroot/oprofile/oprofile/dae/opd_proc.c,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- opd_proc.c 2001/07/28 19:20:26 1.60 +++ opd_proc.c 2001/08/14 18:02:33 1.61 @@ -1235,12 +1235,12 @@ hash = mapping->hash; while (hash) { - if (hash==-1) { + if (hash == -1) { /* possibly deleted file */ return; } - if (hash >= OP_HASH_MAP_NR) { + if (hash < 0 || hash >= OP_HASH_MAP_NR) { fprintf(stderr,"hash value %u out of range.\n",hash); return; } |
From: John L. <mov...@us...> - 2001-08-14 18:02:38
|
Update of /cvsroot/oprofile/oprofile In directory usw-pr-cvs1:/tmp/cvs-serv25297 Modified Files: ChangeLog op_syscalls.c Log Message: fixes to the hash map ! Index: ChangeLog =================================================================== RCS file: /cvsroot/oprofile/oprofile/ChangeLog,v retrieving revision 1.76 retrieving revision 1.77 diff -u -d -r1.76 -r1.77 --- ChangeLog 2001/08/14 02:38:29 1.76 +++ ChangeLog 2001/08/14 18:02:33 1.77 @@ -1,5 +1,13 @@ 2001-08-14 John Levon <mo...@co...> + * op_syscalls.c: don't return negative hashes ! + revert dname len "fix" + use a much better hash function + + * dae/opd_proc.c: protect against negative hashes + +2001-08-14 John Levon <mo...@co...> + * op_syscalls.c: some small fixes * oprofile.c: add back unmasking code during set_gate, but only Index: op_syscalls.c =================================================================== RCS file: /cvsroot/oprofile/oprofile/op_syscalls.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- op_syscalls.c 2001/08/14 02:38:29 1.15 +++ op_syscalls.c 2001/08/14 18:02:33 1.16 @@ -169,6 +169,7 @@ hash_map = rvmalloc(PAGE_ALIGN(OP_HASH_MAP_SIZE)); if (!hash_map) return -EFAULT; + return 0; } @@ -238,14 +239,14 @@ spinlock_t map_lock = SPIN_LOCK_UNLOCKED; -inline static uint name_hash(const char *name, uint len) +inline static short name_hash(const char *name, uint len) { - uint hash=0; + short hash=0; while (len--) - hash = ((hash << 4) | (hash >> 28)) ^ name[len]; + hash = (hash + (name[len] << 4) + (name[len] >> 4)) * 11; - return hash % OP_HASH_MAP_NR; + return abs(hash % OP_HASH_MAP_NR); } /* empty ascending dname stack */ @@ -279,7 +280,7 @@ /* wind the dentries onto the stack pages */ for (;;) { - if (d->d_name.len >= OP_HASH_LINE) + if (d->d_name.len > OP_HASH_LINE) goto too_large; /* deleted ? */ @@ -322,7 +323,7 @@ goto next; /* nope, find another place in the table */ - value = (value + probe) % OP_HASH_MAP_NR; + value = abs((value + probe) % OP_HASH_MAP_NR); probe *= probe; if (value == firsthash) goto fulltable; |
From: John L. <mov...@us...> - 2001-08-14 02:38:32
|
Update of /cvsroot/oprofile/oprofile In directory usw-pr-cvs1:/tmp/cvs-serv13284 Modified Files: ChangeLog op_syscalls.c oprofile.c Log Message: masking again during set_gate Index: ChangeLog =================================================================== RCS file: /cvsroot/oprofile/oprofile/ChangeLog,v retrieving revision 1.75 retrieving revision 1.76 diff -u -d -r1.75 -r1.76 --- ChangeLog 2001/08/11 12:37:56 1.75 +++ ChangeLog 2001/08/14 02:38:29 1.76 @@ -1,3 +1,10 @@ +2001-08-14 John Levon <mo...@co...> + + * op_syscalls.c: some small fixes + + * oprofile.c: add back unmasking code during set_gate, but only + LVTPC + 2001-08-11 John Levon <mo...@co...> * oprofile.h: 2.4.8 doesn't either. *sigh*. looks like we need Index: op_syscalls.c =================================================================== RCS file: /cvsroot/oprofile/oprofile/op_syscalls.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- op_syscalls.c 2001/08/10 13:36:37 1.14 +++ op_syscalls.c 2001/08/14 02:38:29 1.15 @@ -164,6 +164,7 @@ if (!dname_stack) return -EFAULT; dname_top = 0; + memset(dname_stack, 0, DNAME_STACK_MAX * sizeof(struct qstr *)); hash_map = rvmalloc(PAGE_ALIGN(OP_HASH_MAP_SIZE)); if (!hash_map) @@ -253,6 +254,8 @@ dname_stack[dname_top] = dname; if (dname_top != DNAME_STACK_MAX) dname_top++; + else + printk("oprofile: overflowed dname stack !\n"); } inline static struct qstr *pop_dname(void) @@ -276,7 +279,7 @@ /* wind the dentries onto the stack pages */ for (;;) { - if (d->d_name.len > OP_HASH_LINE) + if (d->d_name.len >= OP_HASH_LINE) goto too_large; /* deleted ? */ Index: oprofile.c =================================================================== RCS file: /cvsroot/oprofile/oprofile/oprofile.c,v retrieving revision 1.70 retrieving revision 1.71 diff -u -d -r1.70 -r1.71 --- oprofile.c 2001/08/11 01:38:29 1.70 +++ oprofile.c 2001/08/14 02:38:29 1.71 @@ -127,13 +127,29 @@ static ulong idt_addr; static ulong kernel_nmi; +static ulong lvtpc_masked; +/* this masking code is unsafe and nasty but might deal with the small + * race when installing the NMI entry into the IDT + */ +void mask_lvtpc(void * e) +{ + ulong v = apic_read(APIC_LVTPC); + lvtpc_masked = v & APIC_LVT_MASKED; + apic_write(APIC_LVTPC, v | APIC_LVT_MASKED); +} + +void unmask_lvtpc(void * e) +{ + if (!lvtpc_masked) + apic_write(APIC_LVTPC, apic_read(APIC_LVTPC) & ~APIC_LVT_MASKED); +} + static void install_nmi(void) { volatile struct _descr descr = { 0, 0,}; volatile struct _idt_descr *de; - __cli(); store_idt(descr); idt_addr = descr.base; de = (struct _idt_descr *)idt_addr; @@ -142,15 +158,20 @@ /* see Intel Vol.3 Figure 5-2, interrupt gate */ kernel_nmi = (de->a & 0xffff) | (de->b & 0xffff0000); + smp_call_function(mask_lvtpc, NULL, 0, 1); + mask_lvtpc(NULL); _set_gate(de, 14, 0, &op_nmi); - __sti(); + smp_call_function(unmask_lvtpc, NULL, 0, 1); + unmask_lvtpc(NULL); } static void restore_nmi(void) { - __cli(); + smp_call_function(mask_lvtpc, NULL, 0, 1); + mask_lvtpc(NULL); _set_gate(((char *)(idt_addr)) + 16, 14, 0, kernel_nmi); - __sti(); + smp_call_function(unmask_lvtpc, NULL, 0, 1); + unmask_lvtpc(NULL); } /* ---------------- APIC setup ------------------ */ |
From: John L. <mov...@us...> - 2001-08-11 12:38:00
|
Update of /cvsroot/oprofile/oprofile In directory usw-pr-cvs1:/tmp/cvs-serv14353 Modified Files: ChangeLog oprofile.h Log Message: 2.4.8 still has up_and_exit Index: ChangeLog =================================================================== RCS file: /cvsroot/oprofile/oprofile/ChangeLog,v retrieving revision 1.74 retrieving revision 1.75 diff -u -d -r1.74 -r1.75 --- ChangeLog 2001/08/11 02:00:05 1.74 +++ ChangeLog 2001/08/11 12:37:56 1.75 @@ -1,5 +1,10 @@ 2001-08-11 John Levon <mo...@co...> + * oprofile.h: 2.4.8 doesn't either. *sigh*. looks like we need + some autoconfery :( + +2001-08-11 John Levon <mo...@co...> + * oprofile.h: 2.4.7-linus doesn't include the Andrew Morton complete_and_exit(). Hopefully this will make it into 2.4.8, I'm banking on this. Index: oprofile.h =================================================================== RCS file: /cvsroot/oprofile/oprofile/oprofile.h,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- oprofile.h 2001/08/11 02:00:05 1.44 +++ oprofile.h 2001/08/11 12:37:56 1.45 @@ -173,8 +173,8 @@ #define release_mmap_sem(mm) up_read(&mm->mmap_sem) #endif -// 2.4.7 introduced completions. -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,8) +// 2.4.9 introduced complete_and_exit +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,9) #define DECLARE_COMPLETION(x) DECLARE_MUTEX_LOCKED(x) #define init_completion(x) #define complete_and_exit(x, y) up_and_exit((x), (y)) |
From: John L. <mov...@us...> - 2001-08-11 02:00:08
|
Update of /cvsroot/oprofile/oprofile In directory usw-pr-cvs1:/tmp/cvs-serv32558 Modified Files: ChangeLog oprofile.h Log Message: argh, versioning nightmare with complete_and_exit Index: ChangeLog =================================================================== RCS file: /cvsroot/oprofile/oprofile/ChangeLog,v retrieving revision 1.73 retrieving revision 1.74 diff -u -d -r1.73 -r1.74 --- ChangeLog 2001/08/11 01:45:53 1.73 +++ ChangeLog 2001/08/11 02:00:05 1.74 @@ -1,5 +1,11 @@ 2001-08-11 John Levon <mo...@co...> + * oprofile.h: 2.4.7-linus doesn't include the Andrew Morton + complete_and_exit(). Hopefully this will make it into 2.4.8, + I'm banking on this. + +2001-08-11 John Levon <mo...@co...> + * dae/op_dump: * doc/oprofile.sgml: * dae/Makefile.in: a little utility for dumping Index: oprofile.h =================================================================== RCS file: /cvsroot/oprofile/oprofile/oprofile.h,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- oprofile.h 2001/08/11 01:38:29 1.43 +++ oprofile.h 2001/08/11 02:00:05 1.44 @@ -15,9 +15,9 @@ * Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include <linux/module.h> #include <linux/config.h> #include <linux/kernel.h> -#include <linux/module.h> #include <linux/init.h> #include <linux/slab.h> #include <linux/delay.h> @@ -174,11 +174,13 @@ #endif // 2.4.7 introduced completions. -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,7) +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,8) #define DECLARE_COMPLETION(x) DECLARE_MUTEX_LOCKED(x) #define init_completion(x) #define complete_and_exit(x, y) up_and_exit((x), (y)) #define wait_for_completion(x) down(x) +#else +#include <linux/completion.h> #endif int oprof_init(void); |
From: John L. <mov...@us...> - 2001-08-11 01:45:56
|
Update of /cvsroot/oprofile/oprofile/dae In directory usw-pr-cvs1:/tmp/cvs-serv30522/dae Modified Files: Makefile.in Added Files: op_dump Log Message: I got bored of typing echo 1 >/proc/sys/dev/oprofile/dump ... --- NEW FILE: op_dump --- #!/bin/sh # useful for dumping ... if [ ! -f /proc/sys/dev/oprofile/dump ]; then echo "You must have the oprofile module loaded to dump data." exit 1 fi echo 1 >/proc/sys/dev/oprofile/dump exit 0 Index: Makefile.in =================================================================== RCS file: /cvsroot/oprofile/oprofile/dae/Makefile.in,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- Makefile.in 2001/07/26 01:39:16 1.11 +++ Makefile.in 2001/08/11 01:45:54 1.12 @@ -10,12 +10,13 @@ MANDIR=@mandir@ CC=@CC@ -install: oprofiled op_start op_stop op_help +install: oprofiled op_start op_dump op_stop op_help cp oprofiled $(BINDIR)/oprofiled cp op_start $(BINDIR)/op_start + cp op_dump $(BINDIR)/op_dump cp op_stop $(BINDIR)/op_stop cp op_help $(BINDIR)/op_help - cd $(BINDIR) && chmod 755 oprofiled op_start op_stop op_help + cd $(BINDIR) && chmod 755 oprofiled op_start op_dump op_stop op_help clean: rm -f oprofiled op_help *.o oprofiled-src.html |
From: John L. <mov...@us...> - 2001-08-11 01:45:56
|
Update of /cvsroot/oprofile/oprofile/doc In directory usw-pr-cvs1:/tmp/cvs-serv30522/doc Modified Files: oprofile.sgml Log Message: I got bored of typing echo 1 >/proc/sys/dev/oprofile/dump ... Index: oprofile.sgml =================================================================== RCS file: /cvsroot/oprofile/oprofile/doc/oprofile.sgml,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- oprofile.sgml 2001/08/02 17:55:22 1.18 +++ oprofile.sgml 2001/08/11 01:45:54 1.19 @@ -210,7 +210,7 @@ <para> Anyway, data will be processed by daemon every ten minutes. I'm too lazy to wait that long, so force the issue with : </para> -<para><command>echo 1 >/proc/sys/dev/oprofile/dump</command></para> +<para><command>op_dump</command></para> <para> which will ask the kernel module to dump as much data as it can to the daemon. <note> @@ -636,7 +636,7 @@ OProfile does a little <emphasis>too</emphasis> good a job of keeping overhead low, and no data reaches the profiler. This can happen on lightly-loaded machines. Remember you can force a dump at any time with : </para> -<para><command>echo 1 >/proc/sys/dev/oprofile/dump</command></para> +<para><command>op_dump</command></para> <para>Remember to do this before complaining there is no profiling data ! Now that we've got some data, it has to be processed. That's the job of <command>oprofpp</command>. This works on a sample file in the <filename>/var/opd/samples/</filename> directory, |
From: John L. <mov...@us...> - 2001-08-11 01:45:56
|
Update of /cvsroot/oprofile/oprofile In directory usw-pr-cvs1:/tmp/cvs-serv30522 Modified Files: ChangeLog Log Message: I got bored of typing echo 1 >/proc/sys/dev/oprofile/dump ... Index: ChangeLog =================================================================== RCS file: /cvsroot/oprofile/oprofile/ChangeLog,v retrieving revision 1.72 retrieving revision 1.73 diff -u -d -r1.72 -r1.73 --- ChangeLog 2001/08/11 01:38:29 1.72 +++ ChangeLog 2001/08/11 01:45:53 1.73 @@ -1,3 +1,9 @@ +2001-08-11 John Levon <mo...@co...> + + * dae/op_dump: + * doc/oprofile.sgml: + * dae/Makefile.in: a little utility for dumping + 2001-08-11 Dave Jones <da...@su...> * oprofile.h: |
From: John L. <mov...@us...> - 2001-08-11 01:38:31
|
Update of /cvsroot/oprofile/oprofile In directory usw-pr-cvs1:/tmp/cvs-serv29470 Modified Files: ChangeLog README oprofile.c oprofile.h Log Message: support 2.4.7 and above Index: ChangeLog =================================================================== RCS file: /cvsroot/oprofile/oprofile/ChangeLog,v retrieving revision 1.71 retrieving revision 1.72 diff -u -d -r1.71 -r1.72 --- ChangeLog 2001/08/11 01:29:07 1.71 +++ ChangeLog 2001/08/11 01:38:29 1.72 @@ -1,3 +1,9 @@ +2001-08-11 Dave Jones <da...@su...> + + * oprofile.h: + * oprofile.c: back-compat code and use of new struct completion + for the thread + 2001-08-11 John Levon <mo...@co...> * oprofile.c: corner case where an a miss against a full count, Index: README =================================================================== RCS file: /cvsroot/oprofile/oprofile/README,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- README 2001/06/29 20:19:28 1.10 +++ README 2001/08/11 01:38:29 1.11 @@ -10,3 +10,6 @@ Philippe Elie <ph...@cl...> contributed many bug fixes, wrote the tcl/tk oprofile interface and the source annotation facility, and more. + +Dave Jones <da...@su...> and Bob Montgomery <bo...@fc...> provided +bug fixes and useful testing. Index: oprofile.c =================================================================== RCS file: /cvsroot/oprofile/oprofile/oprofile.c,v retrieving revision 1.69 retrieving revision 1.70 diff -u -d -r1.69 -r1.70 --- oprofile.c 2001/08/11 01:29:07 1.69 +++ oprofile.c 2001/08/11 01:38:29 1.70 @@ -419,7 +419,8 @@ u32 diethreaddie; pid_t threadpid; -DECLARE_MUTEX_LOCKED(threadstopsem); + +DECLARE_COMPLETION(threadstop); /* we have to have another thread because we can't * do wake_up() from NMI due to no locking @@ -452,12 +453,13 @@ break; } - up_and_exit(&threadstopsem,0); + complete_and_exit(&threadstop,0); return 0; } void oprof_start_thread(void) { + init_completion(&threadstop); diethreaddie = 0; if (kernel_thread(oprof_thread, NULL, CLONE_FS|CLONE_FILES|CLONE_SIGHAND)<0) printk(KERN_ERR "oprofile: couldn't spawn wakeup thread.\n"); @@ -467,7 +469,7 @@ { diethreaddie = 1; kill_proc(SIGKILL, threadpid, 1); - down(&threadstopsem); + wait_for_completion(&threadstop); } #define wrap_nextbuf() do { \ Index: oprofile.h =================================================================== RCS file: /cvsroot/oprofile/oprofile/oprofile.h,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- oprofile.h 2001/08/11 01:29:07 1.42 +++ oprofile.h 2001/08/11 01:38:29 1.43 @@ -19,7 +19,7 @@ #include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h> -#include <linux/malloc.h> +#include <linux/slab.h> #include <linux/delay.h> #include <linux/vmalloc.h> #include <linux/sched.h> @@ -171,6 +171,14 @@ #else #define take_mmap_sem(mm) down_read(&mm->mmap_sem) #define release_mmap_sem(mm) up_read(&mm->mmap_sem) +#endif + +// 2.4.7 introduced completions. +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,7) +#define DECLARE_COMPLETION(x) DECLARE_MUTEX_LOCKED(x) +#define init_completion(x) +#define complete_and_exit(x, y) up_and_exit((x), (y)) +#define wait_for_completion(x) down(x) #endif int oprof_init(void); |
From: John L. <mov...@us...> - 2001-08-11 01:29:10
|
Update of /cvsroot/oprofile/oprofile In directory usw-pr-cvs1:/tmp/cvs-serv27776 Modified Files: ChangeLog oprofile.c oprofile.h Log Message: small corner case fix when we miss a sample against a full count entry Index: ChangeLog =================================================================== RCS file: /cvsroot/oprofile/oprofile/ChangeLog,v retrieving revision 1.70 retrieving revision 1.71 diff -u -d -r1.70 -r1.71 --- ChangeLog 2001/08/11 01:13:37 1.70 +++ ChangeLog 2001/08/11 01:29:07 1.71 @@ -1,8 +1,13 @@ 2001-08-11 John Levon <mo...@co...> + * oprofile.c: corner case where an a miss against a full count, + we were attributing wrong (reported by Bob Montgomery) + +2001-08-11 John Levon <mo...@co...> + * oprofile.c: use a simple cli/sti when installing the NMI handler. It should work and avoids the unmasking problem. - + 2001-08-10 John Levon <mo...@co...> * dae/oprofiled.h: fix header include (from Dave Jones) Index: oprofile.c =================================================================== RCS file: /cvsroot/oprofile/oprofile/oprofile.c,v retrieving revision 1.68 retrieving revision 1.69 diff -u -d -r1.68 -r1.69 --- oprofile.c 2001/08/11 01:13:37 1.68 +++ oprofile.c 2001/08/11 01:29:07 1.69 @@ -95,8 +95,6 @@ return; full_entry: evict_op_entry(data, &data->entries[h].samples[i]); - data->entries[h].samples[i].count = OP_COUNTER*ctr + 1; - goto out; new_entry: fill_op_entry(&data->entries[h].samples[i],regs,ctr); goto out; Index: oprofile.h =================================================================== RCS file: /cvsroot/oprofile/oprofile/oprofile.h,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- oprofile.h 2001/07/25 02:54:49 1.41 +++ oprofile.h 2001/08/11 01:29:07 1.42 @@ -172,7 +172,7 @@ #define take_mmap_sem(mm) down_read(&mm->mmap_sem) #define release_mmap_sem(mm) up_read(&mm->mmap_sem) #endif - + int oprof_init(void); void oprof_exit(void); void my_set_fixmap(void); |
From: John L. <mov...@us...> - 2001-08-11 01:13:41
|
Update of /cvsroot/oprofile/oprofile In directory usw-pr-cvs1:/tmp/cvs-serv25358 Modified Files: ChangeLog oprofile.c Log Message: use cli/sti instead of explicit masking for installing the NMI. Hopefully this should solve SMP problems. Index: ChangeLog =================================================================== RCS file: /cvsroot/oprofile/oprofile/ChangeLog,v retrieving revision 1.69 retrieving revision 1.70 diff -u -d -r1.69 -r1.70 --- ChangeLog 2001/08/10 13:36:37 1.69 +++ ChangeLog 2001/08/11 01:13:37 1.70 @@ -1,3 +1,8 @@ +2001-08-11 John Levon <mo...@co...> + + * oprofile.c: use a simple cli/sti when installing the NMI + handler. It should work and avoids the unmasking problem. + 2001-08-10 John Levon <mo...@co...> * dae/oprofiled.h: fix header include (from Dave Jones) Index: oprofile.c =================================================================== RCS file: /cvsroot/oprofile/oprofile/oprofile.c,v retrieving revision 1.67 retrieving revision 1.68 diff -u -d -r1.67 -r1.68 --- oprofile.c 2001/08/10 02:04:08 1.67 +++ oprofile.c 2001/08/11 01:13:37 1.68 @@ -127,31 +127,6 @@ /* ---------------- NMI handler setup ------------ */ -void mask_LVT_NMIs(void) -{ - ulong v; - - /* LVT0,1,PC can generate NMIs on APIC */ - v = apic_read(APIC_LVT0); - apic_write(APIC_LVT0, v | APIC_LVT_MASKED); - v = apic_read(APIC_LVT1); - apic_write(APIC_LVT1, v | APIC_LVT_MASKED); - v = apic_read(APIC_LVTPC); - apic_write(APIC_LVTPC, v | APIC_LVT_MASKED); -} - -void unmask_LVT_NMIs(void) -{ - ulong v; - - v = apic_read(APIC_LVT0); - apic_write(APIC_LVT0, v & ~APIC_LVT_MASKED); - v = apic_read(APIC_LVT1); - apic_write(APIC_LVT1, v & ~APIC_LVT_MASKED); - v = apic_read(APIC_LVTPC); - apic_write(APIC_LVTPC, v & ~APIC_LVT_MASKED); -} - static ulong idt_addr; static ulong kernel_nmi; @@ -160,7 +135,7 @@ volatile struct _descr descr = { 0, 0,}; volatile struct _idt_descr *de; - mask_LVT_NMIs(); + __cli(); store_idt(descr); idt_addr = descr.base; de = (struct _idt_descr *)idt_addr; @@ -170,14 +145,14 @@ kernel_nmi = (de->a & 0xffff) | (de->b & 0xffff0000); _set_gate(de, 14, 0, &op_nmi); - unmask_LVT_NMIs(); + __sti(); } static void restore_nmi(void) { - mask_LVT_NMIs(); + __cli(); _set_gate(((char *)(idt_addr)) + 16, 14, 0, kernel_nmi); - unmask_LVT_NMIs(); + __sti(); } /* ---------------- APIC setup ------------------ */ |
From: John L. <mov...@us...> - 2001-08-10 13:36:42
|
Update of /cvsroot/oprofile/oprofile/dae In directory usw-pr-cvs1:/tmp/cvs-serv22019/dae Modified Files: oprofiled.h Log Message: compile fixes Index: oprofiled.h =================================================================== RCS file: /cvsroot/oprofile/oprofile/dae/oprofiled.h,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- oprofiled.h 2001/07/26 01:39:16 1.28 +++ oprofiled.h 2001/08/10 13:36:37 1.29 @@ -33,7 +33,7 @@ #include <errno.h> #include <signal.h> #include <dirent.h> -#include <p_module.h> +#include "p_module.h" #include <sys/types.h> #include <sys/stat.h> #include <sys/poll.h> |
From: John L. <mov...@us...> - 2001-08-10 13:36:42
|
Update of /cvsroot/oprofile/oprofile In directory usw-pr-cvs1:/tmp/cvs-serv22019 Modified Files: ChangeLog op_syscalls.c Log Message: compile fixes Index: ChangeLog =================================================================== RCS file: /cvsroot/oprofile/oprofile/ChangeLog,v retrieving revision 1.68 retrieving revision 1.69 diff -u -d -r1.68 -r1.69 --- ChangeLog 2001/08/10 02:04:08 1.68 +++ ChangeLog 2001/08/10 13:36:37 1.69 @@ -1,5 +1,12 @@ 2001-08-10 John Levon <mo...@co...> + * dae/oprofiled.h: fix header include (from Dave Jones) + + * op_syscalls.c: + * oprofile.c: fix undefined symbol (from Dave Jones) + +2001-08-10 John Levon <mo...@co...> + * oprofile.c: small tidy in apic setup 2001-08-02 John Levon <mo...@co...> Index: op_syscalls.c =================================================================== RCS file: /cvsroot/oprofile/oprofile/op_syscalls.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- op_syscalls.c 2001/08/02 17:55:22 1.13 +++ op_syscalls.c 2001/08/10 13:36:37 1.14 @@ -62,7 +62,11 @@ set_pte_phys (address, APIC_DEFAULT_PHYS_BASE); } -#endif /* CONFIG_X86_UP_APIC */ +#else /* !CONFIG_X86_UP_APIC */ +void my_set_fixmap(void) +{ +} +#endif /* !CONFIG_X86_UP_APIC */ /* Given PGD from the address space's page table, return the kernel * virtual mapping of the physical memory mapped at ADR. |