Deleted Added
full compact
hwpmc_mod.c (233628) hwpmc_mod.c (241896)
1/*-
2 * Copyright (c) 2003-2008 Joseph Koshy
3 * Copyright (c) 2007 The FreeBSD Foundation
4 * All rights reserved.
5 *
6 * Portions of this software were developed by A. Joseph Koshy under
7 * sponsorship from the FreeBSD Foundation and Google, Inc.
8 *

--- 16 unchanged lines hidden (view full) ---

25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE.
29 *
30 */
31
32#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2003-2008 Joseph Koshy
3 * Copyright (c) 2007 The FreeBSD Foundation
4 * All rights reserved.
5 *
6 * Portions of this software were developed by A. Joseph Koshy under
7 * sponsorship from the FreeBSD Foundation and Google, Inc.
8 *

--- 16 unchanged lines hidden (view full) ---

25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE.
29 *
30 */
31
32#include <sys/cdefs.h>
33__FBSDID("$FreeBSD: head/sys/dev/hwpmc/hwpmc_mod.c 233628 2012-03-28 20:58:30Z fabient $");
33__FBSDID("$FreeBSD: head/sys/dev/hwpmc/hwpmc_mod.c 241896 2012-10-22 17:50:54Z kib $");
34
35#include <sys/param.h>
36#include <sys/eventhandler.h>
37#include <sys/jail.h>
38#include <sys/kernel.h>
39#include <sys/kthread.h>
40#include <sys/limits.h>
41#include <sys/lock.h>

--- 1585 unchanged lines hidden (view full) ---

1627
1628/*
1629 * Log the mappings for a single process.
1630 */
1631
1632static void
1633pmc_log_process_mappings(struct pmc_owner *po, struct proc *p)
1634{
34
35#include <sys/param.h>
36#include <sys/eventhandler.h>
37#include <sys/jail.h>
38#include <sys/kernel.h>
39#include <sys/kthread.h>
40#include <sys/limits.h>
41#include <sys/lock.h>

--- 1585 unchanged lines hidden (view full) ---

1627
1628/*
1629 * Log the mappings for a single process.
1630 */
1631
1632static void
1633pmc_log_process_mappings(struct pmc_owner *po, struct proc *p)
1634{
1635 int locked;
1636 vm_map_t map;
1637 struct vnode *vp;
1638 struct vmspace *vm;
1639 vm_map_entry_t entry;
1640 vm_offset_t last_end;
1641 u_int last_timestamp;
1642 struct vnode *last_vp;
1643 vm_offset_t start_addr;

--- 93 unchanged lines hidden (view full) ---

1737 VM_OBJECT_UNLOCK(lobj);
1738
1739 VM_OBJECT_UNLOCK(obj);
1740
1741 freepath = NULL;
1742 pmc_getfilename(vp, &fullpath, &freepath);
1743 last_vp = vp;
1744
1635 vm_map_t map;
1636 struct vnode *vp;
1637 struct vmspace *vm;
1638 vm_map_entry_t entry;
1639 vm_offset_t last_end;
1640 u_int last_timestamp;
1641 struct vnode *last_vp;
1642 vm_offset_t start_addr;

--- 93 unchanged lines hidden (view full) ---

1736 VM_OBJECT_UNLOCK(lobj);
1737
1738 VM_OBJECT_UNLOCK(obj);
1739
1740 freepath = NULL;
1741 pmc_getfilename(vp, &fullpath, &freepath);
1742 last_vp = vp;
1743
1745 locked = VFS_LOCK_GIANT(vp->v_mount);
1746 vrele(vp);
1744 vrele(vp);
1747 VFS_UNLOCK_GIANT(locked);
1748
1749 vp = NULL;
1750 pmclog_process_map_in(po, p->p_pid, start_addr, fullpath);
1751 if (freepath)
1752 free(freepath, M_TEMP);
1753
1754 vm_map_lock_read(map);
1755

--- 3387 unchanged lines hidden ---
1745
1746 vp = NULL;
1747 pmclog_process_map_in(po, p->p_pid, start_addr, fullpath);
1748 if (freepath)
1749 free(freepath, M_TEMP);
1750
1751 vm_map_lock_read(map);
1752

--- 3387 unchanged lines hidden ---