Date: Sat, 24 Apr 2010 20:49:24 GMT From: Ana Kukec <anchie@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 177304 for review Message-ID: <201004242049.o3OKnOrC078080@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@177304?ac=10 Change 177304 by anchie@anchie_malimis on 2010/04/24 20:49:11 There was noise left in net/route.h and net/rtsock.c related to SEND through rtsock. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drmP.h#6 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drm_hashtab.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drm_mm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drm_sman.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_descrip.c#5 integrate .. //depot/projects/soc2009/anchie_send/src/sys/net/route.h#11 edit .. //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#25 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drmP.h#6 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/drm/drmP.h,v 1.44 2010/04/22 18:44:23 rnoland Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/drm/drmP.h,v 1.45 2010/04/23 14:48:30 rnoland Exp $"); #ifndef _DRM_P_H_ #define _DRM_P_H_ @@ -228,7 +228,7 @@ #define DRM_MTRR_WC MDF_WRITECOMBINE #define jiffies ticks -typedef unsigned long dma_addr_t; +typedef vm_paddr_t dma_addr_t; typedef u_int64_t u64; typedef u_int32_t u32; typedef u_int16_t u16; ==== //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drm_hashtab.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ **************************************************************************/ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/drm/drm_hashtab.c,v 1.1 2010/01/31 14:25:29 rnoland Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/drm/drm_hashtab.c,v 1.2 2010/04/23 14:48:30 rnoland Exp $"); /* * Simple open hash tab implementation. @@ -46,7 +46,8 @@ ht->size = 1 << order; ht->order = order; ht->table = NULL; - ht->table = hashinit(ht->size, DRM_MEM_HASHTAB, &ht->mask); + ht->table = hashinit_flags(ht->size, DRM_MEM_HASHTAB, &ht->mask, + HASH_NOWAIT); if (!ht->table) { DRM_ERROR("Out of memory for hash table\n"); return -ENOMEM; ==== //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drm_mm.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ **************************************************************************/ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/drm/drm_mm.c,v 1.1 2010/01/31 14:25:29 rnoland Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/drm/drm_mm.c,v 1.2 2010/04/23 14:48:30 rnoland Exp $"); /* * Generic simple memory manager implementation. Intended to be used as a base @@ -333,7 +333,8 @@ mm->num_unused = 0; mtx_init(&mm->unused_lock, "drm_unused", NULL, MTX_DEF); - return drm_mm_create_tail_node(mm, start, size, 0); + /* XXX This could be non-atomic but gets called from a locked path */ + return drm_mm_create_tail_node(mm, start, size, 1); } void drm_mm_takedown(struct drm_mm * mm) ==== //depot/projects/soc2009/anchie_send/src/sys/dev/drm/drm_sman.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ **************************************************************************/ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/drm/drm_sman.c,v 1.1 2010/01/31 14:25:29 rnoland Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/drm/drm_sman.c,v 1.2 2010/04/23 14:48:30 rnoland Exp $"); /* * Simple memory manager interface that keeps track on allocate regions on a @@ -96,7 +96,8 @@ if (!tmp) { return NULL; } - tmp = drm_mm_get_block(tmp, size, alignment); + /* This could be non-atomic, but we are called from a locked path */ + tmp = drm_mm_get_block_atomic(tmp, size, alignment); return tmp; } @@ -131,7 +132,7 @@ KASSERT(manager < sman->num_managers, ("Invalid manager")); sman_mm = &sman->mm[manager]; - mm = malloc(sizeof(*mm), DRM_MEM_MM, M_WAITOK | M_ZERO); + mm = malloc(sizeof(*mm), DRM_MEM_MM, M_NOWAIT | M_ZERO); if (!mm) { return -ENOMEM; } @@ -174,7 +175,7 @@ owner_hash); } - owner_item = malloc(sizeof(*owner_item), DRM_MEM_MM, M_WAITOK | M_ZERO); + owner_item = malloc(sizeof(*owner_item), DRM_MEM_MM, M_NOWAIT | M_ZERO); if (!owner_item) goto out; @@ -206,12 +207,11 @@ sman_mm = &sman->mm[manager]; tmp = sman_mm->allocate(sman_mm->private, size, alignment); - if (!tmp) { return NULL; } - memblock = malloc(sizeof(*memblock), DRM_MEM_MM, M_WAITOK | M_ZERO); + memblock = malloc(sizeof(*memblock), DRM_MEM_MM, M_NOWAIT | M_ZERO); DRM_DEBUG("allocated mem_block %p\n", memblock); if (!memblock) goto out; ==== //depot/projects/soc2009/anchie_send/src/sys/kern/kern_descrip.c#5 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.359 2009/11/20 22:22:53 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_descrip.c,v 1.360 2010/04/23 14:32:58 bz Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -2896,7 +2896,7 @@ free(sa, M_SONAME); } if (so->so_proto->pr_usrreqs->pru_peeraddr(so, &sa) - == 00 && sa->sa_len <= sizeof(kif->kf_sa_peer)) { + == 0 && sa->sa_len <= sizeof(kif->kf_sa_peer)) { bcopy(sa, &kif->kf_sa_peer, sa->sa_len); free(sa, M_SONAME); } @@ -3149,7 +3149,7 @@ free(sa, M_SONAME); } if (so->so_proto->pr_usrreqs->pru_peeraddr(so, &sa) - == 00 && sa->sa_len <= sizeof(kif->kf_sa_peer)) { + == 0 && sa->sa_len <= sizeof(kif->kf_sa_peer)) { bcopy(sa, &kif->kf_sa_peer, sa->sa_len); free(sa, M_SONAME); } ==== //depot/projects/soc2009/anchie_send/src/sys/net/route.h#11 (text+ko) ==== @@ -257,7 +257,6 @@ #define RTM_DELMADDR 0x10 /* mcast group membership being deleted */ #define RTM_IFANNOUNCE 0x11 /* iface arrival/departure */ #define RTM_IEEE80211 0x12 /* IEEE80211 wireless event */ -#define RTM_SND 0x13 /* SeND event */ /* * Bitmask values for rtm_inits and rmx_locks. ==== //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#25 (text+ko) ==== @@ -499,12 +499,12 @@ senderr(EINVAL); } info.rti_flags = rtm->rtm_flags; - if (info.rti_info[RTAX_DST] == NULL || - info.rti_info[RTAX_DST]->sa_family >= AF_MAX || - (info.rti_info[RTAX_GATEWAY] != NULL && - info.rti_info[RTAX_GATEWAY]->sa_family >= AF_MAX)) { - senderr(EINVAL); - } + if (info.rti_info[RTAX_DST] == NULL || + info.rti_info[RTAX_DST]->sa_family >= AF_MAX || + (info.rti_info[RTAX_GATEWAY] != NULL && + info.rti_info[RTAX_GATEWAY]->sa_family >= AF_MAX)) { + senderr(EINVAL); + } /* * Verify that the caller has the appropriate privilege; RTM_GET * is the only operation the non-superuser is allowed.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201004242049.o3OKnOrC078080>