svn commit: r303070 - in head/sys/dev/hyperv: include netvsc

2016-07-19 Thread Sepherosa Ziehau
Author: sephe
Date: Wed Jul 20 05:48:52 2016
New Revision: 303070
URL: https://svnweb.freebsd.org/changeset/base/303070

Log:
  hyperv/vmbus: Deprecate the device private data in channel struct
  
  They are neither flexible nor extensible.
  
  MFC after:1 week
  Sponsored by: Microsoft OSTC
  Differential Revision:https://reviews.freebsd.org/D7244

Modified:
  head/sys/dev/hyperv/include/hyperv.h
  head/sys/dev/hyperv/netvsc/hv_net_vsc.c
  head/sys/dev/hyperv/netvsc/hv_net_vsc.h
  head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
  head/sys/dev/hyperv/netvsc/hv_rndis.h
  head/sys/dev/hyperv/netvsc/hv_rndis_filter.c
  head/sys/dev/hyperv/netvsc/hv_rndis_filter.h

Modified: head/sys/dev/hyperv/include/hyperv.h
==
--- head/sys/dev/hyperv/include/hyperv.hWed Jul 20 05:34:28 2016
(r303069)
+++ head/sys/dev/hyperv/include/hyperv.hWed Jul 20 05:48:52 2016
(r303070)
@@ -168,13 +168,6 @@ typedef struct hv_vmbus_channel {
TAILQ_ENTRY(hv_vmbus_channel)   ch_sublink; /* sub-channel link */
struct hv_vmbus_channel *ch_prichan;/* owner primary chan */
 
-   /*
-* Driver private data
-*/
-   void*ch_dev_priv1;
-   void*ch_dev_priv2;
-   void*ch_dev_priv3;
-
void*ch_bufring;/* TX+RX bufrings */
struct hyperv_dma   ch_bufring_dma;
uint32_tch_bufring_gpadl;

Modified: head/sys/dev/hyperv/netvsc/hv_net_vsc.c
==
--- head/sys/dev/hyperv/netvsc/hv_net_vsc.c Wed Jul 20 05:34:28 2016
(r303069)
+++ head/sys/dev/hyperv/netvsc/hv_net_vsc.c Wed Jul 20 05:48:52 2016
(r303070)
@@ -49,15 +49,13 @@
 #include "hv_rndis.h"
 #include "hv_rndis_filter.h"
 
-/* priv1 and priv2 are consumed by the main driver */
-#define ch_dev_rdbuf   ch_dev_priv3
-
 MALLOC_DEFINE(M_NETVSC, "netvsc", "Hyper-V netvsc driver");
 
 /*
  * Forward declarations
  */
-static void hv_nv_on_channel_callback(struct hv_vmbus_channel *chan, void 
*arg);
+static void hv_nv_on_channel_callback(struct hv_vmbus_channel *chan,
+void *xrxr);
 static int  hv_nv_init_send_buffer_with_net_vsp(struct hn_softc *sc);
 static int  hv_nv_init_rx_buffer_with_net_vsp(struct hn_softc *);
 static int  hv_nv_destroy_send_buffer(netvsc_dev *net_dev);
@@ -68,7 +66,7 @@ static void hv_nv_on_send_completion(net
 static void hv_nv_on_receive_completion(struct hv_vmbus_channel *chan,
 uint64_t tid, uint32_t status);
 static void hv_nv_on_receive(netvsc_dev *net_dev,
-struct hn_softc *sc, struct hv_vmbus_channel *chan,
+struct hn_rx_ring *rxr, struct hv_vmbus_channel *chan,
 const struct vmbus_chanpkt_hdr *pkt);
 
 /*
@@ -641,13 +639,14 @@ hv_nv_disconnect_from_vsp(netvsc_dev *ne
 }
 
 void
-hv_nv_subchan_attach(struct hv_vmbus_channel *chan)
+hv_nv_subchan_attach(struct hv_vmbus_channel *chan, struct hn_rx_ring *rxr)
 {
-
-   chan->ch_dev_rdbuf = malloc(NETVSC_PACKET_SIZE, M_NETVSC, M_WAITOK);
+   KASSERT(rxr->hn_rx_idx == chan->ch_subidx,
+   ("chan%u subidx %u, rxr%d mismatch",
+chan->ch_id, chan->ch_subidx, rxr->hn_rx_idx));
vmbus_chan_open(chan, NETVSC_DEVICE_RING_BUFFER_SIZE,
NETVSC_DEVICE_RING_BUFFER_SIZE, NULL, 0,
-   hv_nv_on_channel_callback, NULL);
+   hv_nv_on_channel_callback, rxr);
 }
 
 /*
@@ -656,7 +655,8 @@ hv_nv_subchan_attach(struct hv_vmbus_cha
  * Callback when the device belonging to this driver is added
  */
 netvsc_dev *
-hv_nv_on_device_add(struct hn_softc *sc, void *additional_info)
+hv_nv_on_device_add(struct hn_softc *sc, void *additional_info,
+struct hn_rx_ring *rxr)
 {
struct hv_vmbus_channel *chan = sc->hn_prichan;
netvsc_dev *net_dev;
@@ -670,18 +670,17 @@ hv_nv_on_device_add(struct hn_softc *sc,
 
sema_init(_dev->channel_init_sema, 0, "netdev_sema");
 
-   chan->ch_dev_rdbuf = malloc(NETVSC_PACKET_SIZE, M_NETVSC, M_WAITOK);
-
/*
 * Open the channel
 */
+   KASSERT(rxr->hn_rx_idx == chan->ch_subidx,
+   ("chan%u subidx %u, rxr%d mismatch",
+chan->ch_id, chan->ch_subidx, rxr->hn_rx_idx));
ret = vmbus_chan_open(chan,
NETVSC_DEVICE_RING_BUFFER_SIZE, NETVSC_DEVICE_RING_BUFFER_SIZE,
-   NULL, 0, hv_nv_on_channel_callback, NULL);
-   if (ret != 0) {
-   free(chan->ch_dev_rdbuf, M_NETVSC);
+   NULL, 0, hv_nv_on_channel_callback, rxr);
+   if (ret != 0)
goto cleanup;
-   }
 
/*
 * Connect with the NetVsp
@@ -694,7 +693,6 @@ hv_nv_on_device_add(struct hn_softc *sc,
 
 close:
/* Now, we can close the channel safely */
-   free(chan->ch_dev_rdbuf, 

svn commit: r303069 - in head/sys/dev/hyperv: include netvsc storvsc utilities vmbus

2016-07-19 Thread Sepherosa Ziehau
Author: sephe
Date: Wed Jul 20 05:34:28 2016
New Revision: 303069
URL: https://svnweb.freebsd.org/changeset/base/303069

Log:
  hyperv/vmbus: Pass channel as the first argument for channel callback
  
  The prepares to kill device private fields in channel struct, which
  are not flexible and extensible.
  
  MFC after:1 week
  Sponsored by: Microsoft OSTC
  Differential Revision:https://reviews.freebsd.org/D7243

Modified:
  head/sys/dev/hyperv/include/hyperv.h
  head/sys/dev/hyperv/netvsc/hv_net_vsc.c
  head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
  head/sys/dev/hyperv/utilities/hv_heartbeat.c
  head/sys/dev/hyperv/utilities/hv_kvp.c
  head/sys/dev/hyperv/utilities/hv_shutdown.c
  head/sys/dev/hyperv/utilities/hv_timesync.c
  head/sys/dev/hyperv/utilities/hv_util.c
  head/sys/dev/hyperv/utilities/hv_util.h
  head/sys/dev/hyperv/vmbus/vmbus_chan.c

Modified: head/sys/dev/hyperv/include/hyperv.h
==
--- head/sys/dev/hyperv/include/hyperv.hWed Jul 20 05:26:04 2016
(r303068)
+++ head/sys/dev/hyperv/include/hyperv.hWed Jul 20 05:34:28 2016
(r303069)
@@ -113,7 +113,9 @@ typedef struct {
uint32_tring_data_size; /* ring_size */
 } hv_vmbus_ring_buffer_info;
 
-typedef void   (*vmbus_chan_callback_t)(void *);
+struct hv_vmbus_channel;
+
+typedef void   (*vmbus_chan_callback_t)(struct hv_vmbus_channel *, void *);
 
 typedef struct hv_vmbus_channel {
device_tch_dev;

Modified: head/sys/dev/hyperv/netvsc/hv_net_vsc.c
==
--- head/sys/dev/hyperv/netvsc/hv_net_vsc.c Wed Jul 20 05:26:04 2016
(r303068)
+++ head/sys/dev/hyperv/netvsc/hv_net_vsc.c Wed Jul 20 05:34:28 2016
(r303069)
@@ -57,7 +57,7 @@ MALLOC_DEFINE(M_NETVSC, "netvsc", "Hyper
 /*
  * Forward declarations
  */
-static void hv_nv_on_channel_callback(void *xchan);
+static void hv_nv_on_channel_callback(struct hv_vmbus_channel *chan, void 
*arg);
 static int  hv_nv_init_send_buffer_with_net_vsp(struct hn_softc *sc);
 static int  hv_nv_init_rx_buffer_with_net_vsp(struct hn_softc *);
 static int  hv_nv_destroy_send_buffer(netvsc_dev *net_dev);
@@ -647,7 +647,7 @@ hv_nv_subchan_attach(struct hv_vmbus_cha
chan->ch_dev_rdbuf = malloc(NETVSC_PACKET_SIZE, M_NETVSC, M_WAITOK);
vmbus_chan_open(chan, NETVSC_DEVICE_RING_BUFFER_SIZE,
NETVSC_DEVICE_RING_BUFFER_SIZE, NULL, 0,
-   hv_nv_on_channel_callback, chan);
+   hv_nv_on_channel_callback, NULL);
 }
 
 /*
@@ -677,7 +677,7 @@ hv_nv_on_device_add(struct hn_softc *sc,
 */
ret = vmbus_chan_open(chan,
NETVSC_DEVICE_RING_BUFFER_SIZE, NETVSC_DEVICE_RING_BUFFER_SIZE,
-   NULL, 0, hv_nv_on_channel_callback, chan);
+   NULL, 0, hv_nv_on_channel_callback, NULL);
if (ret != 0) {
free(chan->ch_dev_rdbuf, M_NETVSC);
goto cleanup;
@@ -973,9 +973,8 @@ hv_nv_send_table(struct hn_softc *sc, co
  * Net VSC on channel callback
  */
 static void
-hv_nv_on_channel_callback(void *xchan)
+hv_nv_on_channel_callback(struct hv_vmbus_channel *chan, void *arg __unused)
 {
-   struct hv_vmbus_channel *chan = xchan;
device_t dev = chan->ch_dev;
struct hn_softc *sc = device_get_softc(dev);
netvsc_dev *net_dev;

Modified: head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
==
--- head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.cWed Jul 20 
05:26:04 2016(r303068)
+++ head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.cWed Jul 20 
05:34:28 2016(r303069)
@@ -274,7 +274,7 @@ static int create_storvsc_request(union 
 static void storvsc_free_request(struct storvsc_softc *sc, struct 
hv_storvsc_request *reqp);
 static enum hv_storage_type storvsc_get_storage_type(device_t dev);
 static void hv_storvsc_rescan_target(struct storvsc_softc *sc);
-static void hv_storvsc_on_channel_callback(void *xchan);
+static void hv_storvsc_on_channel_callback(struct hv_vmbus_channel *chan, void 
*xsc);
 static void hv_storvsc_on_iocompletion( struct storvsc_softc *sc,
struct vstor_packet *vstor_packet,
struct hv_storvsc_request *request);
@@ -316,15 +316,13 @@ storvsc_subchan_attach(struct storvsc_so
 
memset(, 0, sizeof(props));
 
-   new_channel->ch_dev_priv1 = sc;
vmbus_chan_cpu_rr(new_channel);
ret = vmbus_chan_open(new_channel,
sc->hs_drv_props->drv_ringbuffer_size,
sc->hs_drv_props->drv_ringbuffer_size,
(void *),
sizeof(struct vmstor_chan_props),
-   hv_storvsc_on_channel_callback,
-   new_channel);
+   hv_storvsc_on_channel_callback, sc);
 }
 
 /**
@@ 

svn commit: r303068 - in head/sys/dev/hyperv: include netvsc storvsc vmbus

2016-07-19 Thread Sepherosa Ziehau
Author: sephe
Date: Wed Jul 20 05:26:04 2016
New Revision: 303068
URL: https://svnweb.freebsd.org/changeset/base/303068

Log:
  hyperv/vmbus: Channel struct field rename
  
  MFC after:1 week
  Sponsored by: Microsoft OSTC
  Differential Revision:https://reviews.freebsd.org/D7242

Modified:
  head/sys/dev/hyperv/include/hyperv.h
  head/sys/dev/hyperv/netvsc/hv_net_vsc.c
  head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
  head/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
  head/sys/dev/hyperv/vmbus/vmbus.c
  head/sys/dev/hyperv/vmbus/vmbus_chan.c

Modified: head/sys/dev/hyperv/include/hyperv.h
==
--- head/sys/dev/hyperv/include/hyperv.hWed Jul 20 05:16:23 2016
(r303067)
+++ head/sys/dev/hyperv/include/hyperv.hWed Jul 20 05:26:04 2016
(r303068)
@@ -117,7 +117,7 @@ typedef void(*vmbus_chan_callback_t)(vo
 
 typedef struct hv_vmbus_channel {
device_tch_dev;
-   struct vmbus_softc  *vmbus_sc;
+   struct vmbus_softc  *ch_vmbus;
uint32_tch_flags;   /* VMBUS_CHAN_FLAG_ */
uint32_tch_id;  /* channel id */
 
@@ -129,13 +129,13 @@ typedef struct hv_vmbus_channel {
uint32_tch_montrig_mask;/* MNF trig mask */
 
/*
-* send to parent
+* TX bufring; at the beginning of ch_bufring.
 */
-   hv_vmbus_ring_buffer_info   outbound;
+   hv_vmbus_ring_buffer_info   ch_txbr;
/*
-* receive from parent
+* RX bufring; immediately following ch_txbr.
 */
-   hv_vmbus_ring_buffer_info   inbound;
+   hv_vmbus_ring_buffer_info   ch_rxbr;
 
struct taskqueue*ch_tq;
struct task ch_task;
@@ -169,9 +169,9 @@ typedef struct hv_vmbus_channel {
/*
 * Driver private data
 */
-   void*hv_chan_priv1;
-   void*hv_chan_priv2;
-   void*hv_chan_priv3;
+   void*ch_dev_priv1;
+   void*ch_dev_priv2;
+   void*ch_dev_priv3;
 
void*ch_bufring;/* TX+RX bufrings */
struct hyperv_dma   ch_bufring_dma;

Modified: head/sys/dev/hyperv/netvsc/hv_net_vsc.c
==
--- head/sys/dev/hyperv/netvsc/hv_net_vsc.c Wed Jul 20 05:16:23 2016
(r303067)
+++ head/sys/dev/hyperv/netvsc/hv_net_vsc.c Wed Jul 20 05:26:04 2016
(r303068)
@@ -50,7 +50,7 @@
 #include "hv_rndis_filter.h"
 
 /* priv1 and priv2 are consumed by the main driver */
-#define hv_chan_rdbuf  hv_chan_priv3
+#define ch_dev_rdbuf   ch_dev_priv3
 
 MALLOC_DEFINE(M_NETVSC, "netvsc", "Hyper-V netvsc driver");
 
@@ -644,7 +644,7 @@ void
 hv_nv_subchan_attach(struct hv_vmbus_channel *chan)
 {
 
-   chan->hv_chan_rdbuf = malloc(NETVSC_PACKET_SIZE, M_NETVSC, M_WAITOK);
+   chan->ch_dev_rdbuf = malloc(NETVSC_PACKET_SIZE, M_NETVSC, M_WAITOK);
vmbus_chan_open(chan, NETVSC_DEVICE_RING_BUFFER_SIZE,
NETVSC_DEVICE_RING_BUFFER_SIZE, NULL, 0,
hv_nv_on_channel_callback, chan);
@@ -670,7 +670,7 @@ hv_nv_on_device_add(struct hn_softc *sc,
 
sema_init(_dev->channel_init_sema, 0, "netdev_sema");
 
-   chan->hv_chan_rdbuf = malloc(NETVSC_PACKET_SIZE, M_NETVSC, M_WAITOK);
+   chan->ch_dev_rdbuf = malloc(NETVSC_PACKET_SIZE, M_NETVSC, M_WAITOK);
 
/*
 * Open the channel
@@ -679,7 +679,7 @@ hv_nv_on_device_add(struct hn_softc *sc,
NETVSC_DEVICE_RING_BUFFER_SIZE, NETVSC_DEVICE_RING_BUFFER_SIZE,
NULL, 0, hv_nv_on_channel_callback, chan);
if (ret != 0) {
-   free(chan->hv_chan_rdbuf, M_NETVSC);
+   free(chan->ch_dev_rdbuf, M_NETVSC);
goto cleanup;
}
 
@@ -694,7 +694,7 @@ hv_nv_on_device_add(struct hn_softc *sc,
 
 close:
/* Now, we can close the channel safely */
-   free(chan->hv_chan_rdbuf, M_NETVSC);
+   free(chan->ch_dev_rdbuf, M_NETVSC);
vmbus_chan_close(chan);
 
 cleanup:
@@ -725,7 +725,7 @@ hv_nv_on_device_remove(struct hn_softc *
 
/* Now, we can close the channel safely */
 
-   free(sc->hn_prichan->hv_chan_rdbuf, M_NETVSC);
+   free(sc->hn_prichan->ch_dev_rdbuf, M_NETVSC);
vmbus_chan_close(sc->hn_prichan);
 
sema_destroy(_dev->channel_init_sema);
@@ -986,7 +986,7 @@ hv_nv_on_channel_callback(void *xchan)
if (net_dev == NULL)
return;
 
-   buffer = chan->hv_chan_rdbuf;
+   buffer = chan->ch_dev_rdbuf;
do {
struct vmbus_chanpkt_hdr *pkt = buffer;

svn commit: r303067 - in head/sys/dev/hyperv: include utilities

2016-07-19 Thread Sepherosa Ziehau
Author: sephe
Date: Wed Jul 20 05:16:23 2016
New Revision: 303067
URL: https://svnweb.freebsd.org/changeset/base/303067

Log:
  hyperv/vmbus: Move IC register definition to Hyper-V utilities
  
  MFC after:1 week
  Sponsored by: Microsoft OSTC
  Differential Revision:https://reviews.freebsd.org/D7241

Added:
  head/sys/dev/hyperv/utilities/hv_utilreg.h   (contents, props changed)
Modified:
  head/sys/dev/hyperv/include/hyperv.h
  head/sys/dev/hyperv/utilities/hv_heartbeat.c
  head/sys/dev/hyperv/utilities/hv_kvp.c
  head/sys/dev/hyperv/utilities/hv_shutdown.c
  head/sys/dev/hyperv/utilities/hv_timesync.c
  head/sys/dev/hyperv/utilities/hv_util.c

Modified: head/sys/dev/hyperv/include/hyperv.h
==
--- head/sys/dev/hyperv/include/hyperv.hWed Jul 20 05:03:04 2016
(r303066)
+++ head/sys/dev/hyperv/include/hyperv.hWed Jul 20 05:16:23 2016
(r303067)
@@ -58,11 +58,6 @@
 #include 
 #include 
 
-#define HV_S_OK0x
-#define HV_E_FAIL  0x80004005
-#define HV_ERROR_NOT_SUPPORTED 0x80070032
-#define HV_ERROR_MACHINE_LOCKED0x800704F7
-
 /*
  * VMBUS version is 32 bit, upper 16 bit for major_number and lower
  * 16 bit for minor_number.
@@ -88,60 +83,6 @@ struct hyperv_guid {
 
 inthyperv_guid2str(const struct hyperv_guid *, char *, size_t);
 
-/*
- * Common defines for Hyper-V ICs
- */
-#define HV_ICMSGTYPE_NEGOTIATE 0
-#define HV_ICMSGTYPE_HEARTBEAT 1
-#define HV_ICMSGTYPE_KVPEXCHANGE   2
-#define HV_ICMSGTYPE_SHUTDOWN  3
-#define HV_ICMSGTYPE_TIMESYNC  4
-#define HV_ICMSGTYPE_VSS   5
-
-#define HV_ICMSGHDRFLAG_TRANSACTION1
-#define HV_ICMSGHDRFLAG_REQUEST2
-#define HV_ICMSGHDRFLAG_RESPONSE   4
-
-typedef struct hv_vmbus_pipe_hdr {
-   uint32_t flags;
-   uint32_t msgsize;
-} __packed hv_vmbus_pipe_hdr;
-
-typedef struct hv_vmbus_ic_version {
-   uint16_t major;
-   uint16_t minor;
-} __packed hv_vmbus_ic_version;
-
-typedef struct hv_vmbus_icmsg_hdr {
-   hv_vmbus_ic_version icverframe;
-   uint16_ticmsgtype;
-   hv_vmbus_ic_version icvermsg;
-   uint16_ticmsgsize;
-   uint32_tstatus;
-   uint8_t ictransaction_id;
-   uint8_t icflags;
-   uint8_t reserved[2];
-} __packed hv_vmbus_icmsg_hdr;
-
-typedef struct hv_vmbus_icmsg_negotiate {
-   uint16_ticframe_vercnt;
-   uint16_ticmsg_vercnt;
-   uint32_treserved;
-   hv_vmbus_ic_version icversion_data[1]; /* any size array */
-} __packed hv_vmbus_icmsg_negotiate;
-
-typedef struct hv_vmbus_shutdown_msg_data {
-   uint32_treason_code;
-   uint32_ttimeout_seconds;
-   uint32_tflags;
-   uint8_t display_message[2048];
-} __packed hv_vmbus_shutdown_msg_data;
-
-typedef struct hv_vmbus_heartbeat_msg_data {
-   uint64_tseq_num;
-   uint32_treserved[8];
-} __packed hv_vmbus_heartbeat_msg_data;
-
 typedef struct {
/*
 * offset in bytes from the start of ring data below

Modified: head/sys/dev/hyperv/utilities/hv_heartbeat.c
==
--- head/sys/dev/hyperv/utilities/hv_heartbeat.cWed Jul 20 05:03:04 
2016(r303066)
+++ head/sys/dev/hyperv/utilities/hv_heartbeat.cWed Jul 20 05:16:23 
2016(r303067)
@@ -36,6 +36,7 @@
 
 #include 
 #include 
+#include 
 #include "hv_util.h"
 #include "vmbus_if.h"
 

Modified: head/sys/dev/hyperv/utilities/hv_kvp.c
==
--- head/sys/dev/hyperv/utilities/hv_kvp.c  Wed Jul 20 05:03:04 2016
(r303066)
+++ head/sys/dev/hyperv/utilities/hv_kvp.c  Wed Jul 20 05:16:23 2016
(r303067)
@@ -65,6 +65,7 @@ __FBSDID("$FreeBSD$");
 
 #include 
 #include 
+#include 
 
 #include "hv_util.h"
 #include "unicode.h"

Modified: head/sys/dev/hyperv/utilities/hv_shutdown.c
==
--- head/sys/dev/hyperv/utilities/hv_shutdown.c Wed Jul 20 05:03:04 2016
(r303066)
+++ head/sys/dev/hyperv/utilities/hv_shutdown.c Wed Jul 20 05:16:23 2016
(r303067)
@@ -41,6 +41,7 @@
 
 #include 
 #include 
+#include 
 #include "hv_util.h"
 #include "vmbus_if.h"
 

Modified: head/sys/dev/hyperv/utilities/hv_timesync.c
==
--- head/sys/dev/hyperv/utilities/hv_timesync.c Wed Jul 20 05:03:04 2016
(r303066)
+++ head/sys/dev/hyperv/utilities/hv_timesync.c Wed Jul 20 05:16:23 2016
(r303067)
@@ -41,6 +41,7 @@
 
 #include 
 #include 
+#include 
 

Re: svn commit: r303033 - head/share/man/man7

2016-07-19 Thread Warner Losh
On Tue, Jul 19, 2016 at 9:01 PM, Jan Beich  wrote:
> Ed Maste  writes:
>
>> +.It Sy Architecture Ta Sy Page Sizes
>> +.It amd64   Ta 4K, 2M, 1G
>
> Does FreeBSD support 1G pages nowadays?
>
> $ sysctl hw.pagesizes
> hw.pagesizes: 4096 2097152 0
>
> $ dmesg | fgrep -i 1gb
>   AMD Features=0x2c100800
>
>> +.Ss Predefined Macros
>> +The compiler provides a number of predefined macros.
>> +Some of these provide architecture-specific details and are explained below.
>> +Other macros, including those required by the language standard, are not
>> +included here.
> [...]
>> +cc -x c -Dm -E /dev/null
>
> Typo: -Dm vs. -dM
>
>> +.It Dv BYTE_ORDER Ta Either Dv BIG_ENDIAN or Dv LITTLE_ENDIAN .
>
> Are these really compiler macros? I think,  defines them.

sys/endian.h defines them (and it implements that by including machine/endian.h
in part).

> $ clang38 -x c -dM -E /dev/null | fgrep ENDIAN
> #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
> #define __LITTLE_ENDIAN__ 1
> #define __ORDER_BIG_ENDIAN__ 4321
> #define __ORDER_LITTLE_ENDIAN__ 1234
> #define __ORDER_PDP_ENDIAN__ 3412
>
> $ gcc5 -x c -dM -E /dev/null | fgrep ENDIAN
> #define __ORDER_LITTLE_ENDIAN__ 1234
> #define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
> #define __ORDER_PDP_ENDIAN__ 3412
> #define __ORDER_BIG_ENDIAN__ 4321
> #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__

This is why they are defined in machine/endian.h. Compilers have been
somewhat inconsistent in the past.

Warner
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303066 - in head/sys/dev/hyperv: include netvsc

2016-07-19 Thread Sepherosa Ziehau
Author: sephe
Date: Wed Jul 20 05:03:04 2016
New Revision: 303066
URL: https://svnweb.freebsd.org/changeset/base/303066

Log:
  hyperv/vmbus: Get rid of unnecessary definition.
  
  MFC after:1 week
  Sponsored by: Microsoft OSTC
  Differential Revision:https://reviews.freebsd.org/D7240

Modified:
  head/sys/dev/hyperv/include/hyperv.h
  head/sys/dev/hyperv/netvsc/hv_net_vsc.h
  head/sys/dev/hyperv/netvsc/hv_rndis_filter.c
  head/sys/dev/hyperv/netvsc/hv_rndis_filter.h

Modified: head/sys/dev/hyperv/include/hyperv.h
==
--- head/sys/dev/hyperv/include/hyperv.hWed Jul 20 04:49:01 2016
(r303065)
+++ head/sys/dev/hyperv/include/hyperv.hWed Jul 20 05:03:04 2016
(r303066)
@@ -58,8 +58,6 @@
 #include 
 #include 
 
-typedef uint8_thv_bool_uint8_t;
-
 #define HV_S_OK0x
 #define HV_E_FAIL  0x80004005
 #define HV_ERROR_NOT_SUPPORTED 0x80070032
@@ -90,8 +88,6 @@ struct hyperv_guid {
 
 inthyperv_guid2str(const struct hyperv_guid *, char *, size_t);
 
-#define HW_MACADDR_LEN 6
-
 /*
  * Common defines for Hyper-V ICs
  */

Modified: head/sys/dev/hyperv/netvsc/hv_net_vsc.h
==
--- head/sys/dev/hyperv/netvsc/hv_net_vsc.h Wed Jul 20 04:49:01 2016
(r303065)
+++ head/sys/dev/hyperv/netvsc/hv_net_vsc.h Wed Jul 20 05:03:04 2016
(r303066)
@@ -53,6 +53,7 @@
 #include 
 #include 
 
+#include 
 #include 
 #include 
 
@@ -1065,12 +1066,12 @@ typedef struct netvsc_dev_ {
nvsp_msgchannel_init_packet;
 
nvsp_msgrevoke_packet;
-   /*uint8_t   hw_mac_addr[HW_MACADDR_LEN];*/
+   /*uint8_t   hw_mac_addr[ETHER_ADDR_LEN];*/
 
/* Holds rndis device info */
void*extension;
 
-   hv_bool_uint8_t destroy;
+   uint8_t destroy;
/* Negotiated NVSP version */
uint32_tnvsp_version;
 
@@ -1109,7 +1110,7 @@ typedef void (*pfn_on_send_rx_completion
 #endif
 
 typedef struct netvsc_packet_ {
-   hv_bool_uint8_tis_data_pkt;  /* One byte */
+   uint8_tis_data_pkt;  /* One byte */
uint16_t   vlan_tci;
uint32_t status;
 
@@ -1140,7 +1141,7 @@ typedef struct netvsc_packet_ {
 
 typedef struct {
uint8_t mac_addr[6];  /* Assumption unsigned long */
-   hv_bool_uint8_t link_state;
+   uint8_t link_state;
 } netvsc_device_info;
 
 #ifndef HN_USE_TXDESC_BUFRING

Modified: head/sys/dev/hyperv/netvsc/hv_rndis_filter.c
==
--- head/sys/dev/hyperv/netvsc/hv_rndis_filter.cWed Jul 20 04:49:01 
2016(r303065)
+++ head/sys/dev/hyperv/netvsc/hv_rndis_filter.cWed Jul 20 05:03:04 
2016(r303066)
@@ -699,7 +699,7 @@ cleanup:
 static inline int
 hv_rf_query_device_mac(rndis_device *device)
 {
-   uint32_t size = HW_MACADDR_LEN;
+   uint32_t size = ETHER_ADDR_LEN;
 
return (hv_rf_query_device(device,
RNDIS_OID_802_3_PERMANENT_ADDRESS, device->hw_mac_addr, ));
@@ -1126,7 +1126,7 @@ hv_rf_on_device_add(struct hn_softc *sc,
"hv_rf_send_offload_request failed, ret=%d\n", ret);
}

-   memcpy(dev_info->mac_addr, rndis_dev->hw_mac_addr, HW_MACADDR_LEN);
+   memcpy(dev_info->mac_addr, rndis_dev->hw_mac_addr, ETHER_ADDR_LEN);
 
hv_rf_query_device_link_status(rndis_dev);


Modified: head/sys/dev/hyperv/netvsc/hv_rndis_filter.h
==
--- head/sys/dev/hyperv/netvsc/hv_rndis_filter.hWed Jul 20 04:49:01 
2016(r303065)
+++ head/sys/dev/hyperv/netvsc/hv_rndis_filter.hWed Jul 20 05:03:04 
2016(r303066)
@@ -31,6 +31,8 @@
 #ifndef __HV_RNDIS_FILTER_H__
 #define __HV_RNDIS_FILTER_H__
 
+#include 
+#include 
 
 /*
  * Defines
@@ -103,7 +105,7 @@ typedef struct rndis_device_ {
 
STAILQ_HEAD(RQ, rndis_request_) myrequest_list;
 
-   uint8_t hw_mac_addr[HW_MACADDR_LEN];
+   uint8_t hw_mac_addr[ETHER_ADDR_LEN];
 } rndis_device;
 
 /*
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303065 - stable/10/usr.bin/sed

2016-07-19 Thread Pedro F. Giffuni
Author: pfg
Date: Wed Jul 20 04:49:01 2016
New Revision: 303065
URL: https://svnweb.freebsd.org/changeset/base/303065

Log:
  MFC r302973:
  sed(1): Fix off by one introduced in r299211.
  
  Detected by running the gsed tests.
  
  Submitted by: Mikhail Teterin
  PR:   195929

Modified:
  stable/10/usr.bin/sed/process.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/usr.bin/sed/process.c
==
--- stable/10/usr.bin/sed/process.c Wed Jul 20 04:45:59 2016
(r303064)
+++ stable/10/usr.bin/sed/process.c Wed Jul 20 04:49:01 2016
(r303065)
@@ -440,7 +440,7 @@ substitute(struct s_command *cp)
regexec_e(re, ps, REG_NOTBOL, 0, le, psl));
 
/* Did not find the requested number of matches. */
-   if (n > 1)
+   if (n > 0)
return (0);
 
/* Copy the trailing retained string. */
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303064 - stable/11/usr.bin/sed

2016-07-19 Thread Pedro F. Giffuni
Author: pfg
Date: Wed Jul 20 04:45:59 2016
New Revision: 303064
URL: https://svnweb.freebsd.org/changeset/base/303064

Log:
  MFC r302973:
  sed(1): Fix off by one introduced in r299211.
  
  Detected by running the gsed tests.
  
  Submitted by: Mikhail Teterin
  PR:   195929
  Approved by:  re (gjb)

Modified:
  stable/11/usr.bin/sed/process.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/usr.bin/sed/process.c
==
--- stable/11/usr.bin/sed/process.c Wed Jul 20 04:25:09 2016
(r303063)
+++ stable/11/usr.bin/sed/process.c Wed Jul 20 04:45:59 2016
(r303064)
@@ -450,7 +450,7 @@ substitute(struct s_command *cp)
regexec_e(re, ps, REG_NOTBOL, 0, le, psl));
 
/* Did not find the requested number of matches. */
-   if (n > 1)
+   if (n > 0)
return (0);
 
/* Copy the trailing retained string. */
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303063 - head/share/misc

2016-07-19 Thread Stephen J. Kiernan
Author: stevek
Date: Wed Jul 20 04:25:09 2016
New Revision: 303063
URL: https://svnweb.freebsd.org/changeset/base/303063

Log:
  Add myself (stevek) as a src committer and mentor (sjg) to committers-src.dot
  
  Approved by:  sjg (mentor)

Modified:
  head/share/misc/committers-src.dot

Modified: head/share/misc/committers-src.dot
==
--- head/share/misc/committers-src.dot  Wed Jul 20 03:52:04 2016
(r303062)
+++ head/share/misc/committers-src.dot  Wed Jul 20 04:25:09 2016
(r303063)
@@ -303,6 +303,7 @@ sobomax [label="Maxim Sobolev\nsobomax@F
 sos [label="Soren Schmidt\n...@freebsd.org\n/??/??"]
 sson [label="Stacey Son\ns...@freebsd.org\n2008/07/08"]
 stas [label="Stanislav Sedov\ns...@freebsd.org\n2008/08/22"]
+stevek [label="Stephen J. Kiernan\nste...@freebsd.org\n2016/07/18"]
 suz [label="SUZUKI Shinsuke\n...@freebsd.org\n2002/03/26"]
 syrinx [label="Shteryana Shopova\nsyr...@freebsd.org\n2006/10/07"]
 takawata [label="Takanori Watanabe\ntakaw...@freebsd.org\n2000/07/06"]
@@ -754,6 +755,7 @@ shin -> ume
 simon -> benl
 
 sjg -> phil
+sjg -> stevek
 
 sos -> marcel
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r303033 - head/share/man/man7

2016-07-19 Thread Konstantin Belousov
On Wed, Jul 20, 2016 at 05:01:03AM +0200, Jan Beich wrote:
> Ed Maste  writes:
> 
> > +.It Sy Architecture Ta Sy Page Sizes
> > +.It amd64   Ta 4K, 2M, 1G
> 
> Does FreeBSD support 1G pages nowadays?
Define what do you mean by 'support'.  The direct map is mapped with 1G
pages where possible, and the mappings are demoted when page attributes
change.

Neither kernel nor userspace mappings are promoted to 1G superpages
in the current pmap.
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r303062 - head/contrib/openresolv

2016-07-19 Thread Pedro Giffuni



On 07/19/16 22:52, Pedro F. Giffuni wrote:

Author: pfg
Date: Wed Jul 20 03:52:04 2016
New Revision: 303062
URL: https://svnweb.freebsd.org/changeset/base/303062

Log:
  MFV r298167, r300962, r303048:
  openresolv: update to version 3.8.1.

  Among the new features it attempts to support alternative init systems.

  MFC after:1 month



In case it's not clear ... While I am running this and I don't see any
issue, I don't have sufficient confidence yet to merge it into a release.

Pedro.
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303062 - head/contrib/openresolv

2016-07-19 Thread Pedro F. Giffuni
Author: pfg
Date: Wed Jul 20 03:52:04 2016
New Revision: 303062
URL: https://svnweb.freebsd.org/changeset/base/303062

Log:
  MFV r298167, r300962, r303048:
  openresolv: update to version 3.8.1.
  
  Among the new features it attempts to support alternative init systems.
  
  MFC after:1 month

Modified:
  head/contrib/openresolv/Makefile
  head/contrib/openresolv/configure
  head/contrib/openresolv/dnsmasq.in
  head/contrib/openresolv/libc.in
  head/contrib/openresolv/named.in
  head/contrib/openresolv/resolvconf.8.in
  head/contrib/openresolv/resolvconf.conf.5.in
  head/contrib/openresolv/resolvconf.in
  head/contrib/openresolv/unbound.in
Directory Properties:
  head/contrib/openresolv/   (props changed)

Modified: head/contrib/openresolv/Makefile
==
--- head/contrib/openresolv/MakefileWed Jul 20 03:13:02 2016
(r303061)
+++ head/contrib/openresolv/MakefileWed Jul 20 03:52:04 2016
(r303062)
@@ -1,5 +1,4 @@
 PKG=   openresolv
-VERSION=   3.7.3
 
 # Nasty hack so that make clean works without configure being run
 _CONFIG_MK!=   test -e config.mk && echo config.mk || echo config-null.mk
@@ -10,14 +9,12 @@ SBINDIR?=/sbin
 SYSCONFDIR?=   /etc
 LIBEXECDIR?=   /libexec/resolvconf
 VARDIR?=   /var/run/resolvconf
-RCDIR?=/etc/rc.d
-RESTARTCMD?=   if ${RCDIR}/\1 status >/dev/null 2>\&1; then \
-   ${RCDIR}/\1 restart; \
-   fi
 
 INSTALL?=  install
 SED?=  sed
 
+VERSION!=  ${SED} -n 's/OPENRESOLV_VERSION="\(.*\)".*/\1/p' resolvconf.in
+
 BINMODE?=  0755
 DOCMODE?=  0644
 MANMODE?=  0444
@@ -33,7 +30,9 @@ SED_SYSCONFDIR=   -e 's:@SYSCONFDIR@:${SY
 SED_LIBEXECDIR=-e 's:@LIBEXECDIR@:${LIBEXECDIR}:g'
 SED_VARDIR=-e 's:@VARDIR@:${VARDIR}:g'
 SED_RCDIR= -e 's:@RCDIR@:${RCDIR}:g'
-SED_RESTARTCMD=-e 's:@RESTARTCMD \(.*\)@:${RESTARTCMD}:g'
+SED_RESTARTCMD=-e 's:@RESTARTCMD@:${RESTARTCMD}:g'
+SED_RCDIR= -e 's:@RCDIR@:${RCDIR}:g'
+SED_STATUSARG= -e 's:@STATUSARG@:${STATUSARG}:g'
 
 DISTPREFIX?=   ${PKG}-${VERSION}
 DISTFILEGZ?=   ${DISTPREFIX}.tar.gz
@@ -44,9 +43,10 @@ FOSSILID?=   current
 
 all: ${TARGET}
 
-.in:
+.in: Makefile ${CONFIG_MK}
${SED}  ${SED_SBINDIR} ${SED_SYSCONFDIR} ${SED_LIBEXECDIR} \
-   ${SED_VARDIR} ${SED_RCDIR} ${SED_RESTARTCMD} \
+   ${SED_VARDIR} \
+   ${SED_RCDIR} ${SED_RESTARTCMD} ${SED_RCDIR} ${SED_STATUSARG} \
$< > $@
 
 clean:

Modified: head/contrib/openresolv/configure
==
--- head/contrib/openresolv/configure   Wed Jul 20 03:13:02 2016
(r303061)
+++ head/contrib/openresolv/configure   Wed Jul 20 03:52:04 2016
(r303062)
@@ -8,6 +8,7 @@ HOST=
 TARGET=
 RESTARTCMD=
 RCDIR=
+STATUSARG=
 
 for x do
opt=${x%%=*}
@@ -33,6 +34,8 @@ for x do
--target) TARGET=$var;;
--libdir) LIBDIR=$var;;
--restartcmd) RESTARTCMD=$var;;
+   --rcdir) RCDIR=$var;;
+   --statusarg) STATUSARG=$var;;
--includedir) eval INCLUDEDIR="$INCLUDEDIR${INCLUDEDIR:+ }$var";;
--datadir|--infodir) ;; # ignore autotools
--disable-maintainer-mode|--disable-dependency-tracking) ;;
@@ -117,7 +120,17 @@ echo "Configuring openresolv for ... $OS
 rm -rf $CONFIG_MK
 echo "# $OS" >$CONFIG_MK
 
-for x in SYSCONFDIR SBINDIR LIBEXECDIR VARDIR MANDIR; do
+# On FreeBSD, /etc/init.d/foo status returns 0 if foo is not enabled
+# regardless of if it's not running.
+# So we force onestatus to work around this silly bug.
+if [ -z "$STATUSARG" ]; then
+   case "$OS" in
+   freebsd*)   STATUSARG="onestatus";;
+   esac
+fi
+
+for x in SYSCONFDIR SBINDIR LIBEXECDIR VARDIR MANDIR RESTARTCMD RCDIR STATUSARG
+do
eval v=\$$x
# Make files look nice for import
l=$((10 - ${#x}))
@@ -126,96 +139,6 @@ for x in SYSCONFDIR SBINDIR LIBEXECDIR V
echo "$x=$t $v" >>$CONFIG_MK
 done
 
-if [ -z "$RESTARTCMD" ]; then
-   printf "Checking for systemd ... "
-   if [ -x /bin/systemctl ]; then
-   RESTARTCMD="/bin/systemctl try-restart \1"
-   echo "yes"
-   elif [ -x /usr/bin/systemctl ]; then
-   RESTARTCMD="/usr/bin/systemctl try-restart \1"
-   echo "yes"
-   else
-   echo "no"
-   fi
-fi
-
-# Arch upgraded to systemd, so this check has to be just after systemd
-# but higher than the others
-if [ -z "$RESTARTCMD" ]; then
-   printf "Checking for Arch ... "
-   if [ -e /etc/arch-release -a -d /etc/rc.d ]; then
-   RCDIR=/etc/rc.d
-   RESTARTCMD="[ -e /var/run/daemons/\1 ] \&\& /etc/rc.d/\1 
restart"
-   echo "yes"
-   else
-   echo "no"
-   fi
-fi
-
-if [ -z "$RESTARTCMD" 

svn commit: r303061 - head/contrib/llvm/projects/libunwind/include

2016-07-19 Thread Ed Maste
Author: emaste
Date: Wed Jul 20 03:13:02 2016
New Revision: 303061
URL: https://svnweb.freebsd.org/changeset/base/303061

Log:
  libunwind: Properly align _Unwind_Exception.
  
  _Unwind_Exception is required to be double word aligned.  GCC has
  interpreted this to mean "use the maximum useful alignment for the
  target" so follow that lead.
  
  Obtained from:LLVM review D22543

Modified:
  head/contrib/llvm/projects/libunwind/include/unwind.h

Modified: head/contrib/llvm/projects/libunwind/include/unwind.h
==
--- head/contrib/llvm/projects/libunwind/include/unwind.h   Wed Jul 20 
02:21:54 2016(r303060)
+++ head/contrib/llvm/projects/libunwind/include/unwind.h   Wed Jul 20 
03:13:02 2016(r303061)
@@ -128,7 +128,7 @@ struct _Unwind_Exception {
   // added for binary compatibility.
   uint32_t reserved[3];
 #endif
-};
+} __attribute__((__aligned__));
 
 typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn)
 (int version,
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r303033 - head/share/man/man7

2016-07-19 Thread Jan Beich
Ed Maste  writes:

> +.It Sy Architecture Ta Sy Page Sizes
> +.It amd64   Ta 4K, 2M, 1G

Does FreeBSD support 1G pages nowadays?

$ sysctl hw.pagesizes
hw.pagesizes: 4096 2097152 0

$ dmesg | fgrep -i 1gb
  AMD Features=0x2c100800

> +.Ss Predefined Macros
> +The compiler provides a number of predefined macros.
> +Some of these provide architecture-specific details and are explained below.
> +Other macros, including those required by the language standard, are not
> +included here.
[...]
> +cc -x c -Dm -E /dev/null

Typo: -Dm vs. -dM

> +.It Dv BYTE_ORDER Ta Either Dv BIG_ENDIAN or Dv LITTLE_ENDIAN .

Are these really compiler macros? I think,  defines them.

$ clang38 -x c -dM -E /dev/null | fgrep ENDIAN
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __LITTLE_ENDIAN__ 1
#define __ORDER_BIG_ENDIAN__ 4321
#define __ORDER_LITTLE_ENDIAN__ 1234
#define __ORDER_PDP_ENDIAN__ 3412

$ gcc5 -x c -dM -E /dev/null | fgrep ENDIAN
#define __ORDER_LITTLE_ENDIAN__ 1234
#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
#define __ORDER_PDP_ENDIAN__ 3412
#define __ORDER_BIG_ENDIAN__ 4321
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__


signature.asc
Description: PGP signature


svn commit: r303060 - svnadmin/conf

2016-07-19 Thread Simon J. Gerraty
Author: sjg
Date: Wed Jul 20 02:21:54 2016
New Revision: 303060
URL: https://svnweb.freebsd.org/changeset/base/303060

Log:
  Add Steve Kiernan as src committer
  
  Approved by:  core

Modified:
  svnadmin/conf/access
  svnadmin/conf/mentors

Modified: svnadmin/conf/access
==
--- svnadmin/conf/accessWed Jul 20 01:01:50 2016(r303059)
+++ svnadmin/conf/accessWed Jul 20 02:21:54 2016(r303060)
@@ -223,6 +223,7 @@ smh
 sobomax
 stas
 stefanf
+stevek
 syrinx
 syuu
 takawata

Modified: svnadmin/conf/mentors
==
--- svnadmin/conf/mentors   Wed Jul 20 01:01:50 2016(r303059)
+++ svnadmin/conf/mentors   Wed Jul 20 02:21:54 2016(r303060)
@@ -32,6 +32,7 @@ peterjjhb Co-mentor: grog
 phil   theravenCo-mentor: sjg
 slmken Co-mentor: scottl, ambrisko
 snbdwmalone
+stevek sjg
 torek  rpaulo
 venkat delphij Co-mentor: luigi, jhb
 versus gavin   Co-mentor: fjoe
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303059 - head/sys/vm

2016-07-19 Thread Mark Johnston
Author: markj
Date: Wed Jul 20 01:01:50 2016
New Revision: 303059
URL: https://svnweb.freebsd.org/changeset/base/303059

Log:
  Release the second critical section in uma_zfree_arg() slightly earlier.
  
  It is only needed when removing a full bucket from the per-CPU cache. The
  bucket cache (uz_buckets) is protected by the zone mutex and thus the
  critical section can be released before inserting into that list.
  
  MFC after:1 week

Modified:
  head/sys/vm/uma_core.c

Modified: head/sys/vm/uma_core.c
==
--- head/sys/vm/uma_core.c  Wed Jul 20 00:53:21 2016(r303058)
+++ head/sys/vm/uma_core.c  Wed Jul 20 01:01:50 2016(r303059)
@@ -2744,6 +2744,8 @@ zfree_start:
goto zfree_start;
}
cache->uc_freebucket = NULL;
+   /* We are no longer associated with this CPU. */
+   critical_exit();
 
/* Can we throw this on the zone full list? */
if (bucket != NULL) {
@@ -2756,9 +2758,6 @@ zfree_start:
LIST_INSERT_HEAD(>uz_buckets, bucket, ub_link);
}
 
-   /* We are no longer associated with this CPU. */
-   critical_exit();
-
/*
 * We bump the uz count when the cache size is insufficient to
 * handle the working set.
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303058 - stable/10/usr.bin/gcore

2016-07-19 Thread Mark Johnston
Author: markj
Date: Wed Jul 20 00:53:21 2016
New Revision: 303058
URL: https://svnweb.freebsd.org/changeset/base/303058

Log:
  MFC r302179:
  gcore: Forward pending signals when detaching from the target.

Modified:
  stable/10/usr.bin/gcore/elfcore.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/usr.bin/gcore/elfcore.c
==
--- stable/10/usr.bin/gcore/elfcore.c   Wed Jul 20 00:52:11 2016
(r303057)
+++ stable/10/usr.bin/gcore/elfcore.c   Wed Jul 20 00:53:21 2016
(r303058)
@@ -123,6 +123,7 @@ static vm_map_entry_t readmap(pid_t);
 static void *procstat_sysctl(void *, int, size_t, size_t *sizep);
 
 static pid_t g_pid;/* Pid being dumped, global for elf_detach */
+static int g_status;   /* proc status after ptrace attach */
 
 static int
 elf_ident(int efd, pid_t pid __unused, char *binfile __unused)
@@ -156,9 +157,18 @@ elf_ident(int efd, pid_t pid __unused, c
 static void
 elf_detach(void)
 {
+   int sig;
 
-   if (g_pid != 0)
-   ptrace(PT_DETACH, g_pid, (caddr_t)1, 0);
+   if (g_pid != 0) {
+   /*
+* Forward any pending signals. SIGSTOP is generated by ptrace
+* itself, so ignore it.
+*/
+   sig = WIFSTOPPED(g_status) ? WSTOPSIG(g_status) : 0;
+   if (sig == SIGSTOP)
+   sig = 0;
+   ptrace(PT_DETACH, g_pid, (caddr_t)1, sig);
+   }
 }
 
 /*
@@ -184,7 +194,7 @@ elf_coredump(int efd __unused, int fd, p
ptrace(PT_ATTACH, pid, NULL, 0);
if (errno)
err(1, "PT_ATTACH");
-   if (waitpid(pid, NULL, 0) == -1)
+   if (waitpid(pid, _status, 0) == -1)
err(1, "waitpid");
 
/* Get the program's memory map. */
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303057 - stable/10/sys/geom/mirror

2016-07-19 Thread Mark Johnston
Author: markj
Date: Wed Jul 20 00:52:11 2016
New Revision: 303057
URL: https://svnweb.freebsd.org/changeset/base/303057

Log:
  MFC r302091:
  Do not complete pending gmirror BIOs when tearing down the provider.

Modified:
  stable/10/sys/geom/mirror/g_mirror.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/geom/mirror/g_mirror.c
==
--- stable/10/sys/geom/mirror/g_mirror.cWed Jul 20 00:51:09 2016
(r303056)
+++ stable/10/sys/geom/mirror/g_mirror.cWed Jul 20 00:52:11 2016
(r303057)
@@ -2127,8 +2127,21 @@ g_mirror_destroy_provider(struct g_mirro
g_topology_lock();
g_error_provider(sc->sc_provider, ENXIO);
mtx_lock(>sc_queue_mtx);
-   while ((bp = bioq_takefirst(>sc_queue)) != NULL)
-   g_io_deliver(bp, ENXIO);
+   while ((bp = bioq_takefirst(>sc_queue)) != NULL) {
+   /*
+* Abort any pending I/O that wasn't generated by us.
+* Synchronization requests and requests destined for individual
+* mirror components can be destroyed immediately.
+*/
+   if (bp->bio_to == sc->sc_provider &&
+   bp->bio_from->geom != sc->sc_sync.ds_geom) {
+   g_io_deliver(bp, ENXIO);
+   } else {
+   if ((bp->bio_cflags & G_MIRROR_BIO_FLAG_SYNC) != 0)
+   free(bp->bio_data, M_MIRROR);
+   g_destroy_bio(bp);
+   }
+   }
mtx_unlock(>sc_queue_mtx);
G_MIRROR_DEBUG(0, "Device %s: provider %s destroyed.", sc->sc_name,
sc->sc_provider->name);
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303056 - stable/10/share/man/man4

2016-07-19 Thread Mark Johnston
Author: markj
Date: Wed Jul 20 00:51:09 2016
New Revision: 303056
URL: https://svnweb.freebsd.org/changeset/base/303056

Log:
  MFC r302797:
  Document DDB's "alltrace" and "show all trace" commands.

Modified:
  stable/10/share/man/man4/ddb.4
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/share/man/man4/ddb.4
==
--- stable/10/share/man/man4/ddb.4  Wed Jul 20 00:43:26 2016
(r303055)
+++ stable/10/share/man/man4/ddb.4  Wed Jul 20 00:51:09 2016
(r303056)
@@ -60,7 +60,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd November 5, 2015
+.Dd July 13, 2016
 .Dt DDB 4
 .Os
 .Sh NAME
@@ -547,6 +547,11 @@ modifier will alter the display to show 
 addresses for the process and not show other information.
 .\"
 .Pp
+.It Ic show Cm all trace
+.It Ic alltrace
+.Xc
+Show a stack trace for every thread in the system.
+.Pp
 .It Ic show Cm all ttys
 Show all TTY's within the system.
 Output is similar to
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303052 - in head/sys: sys vm

2016-07-19 Thread Mark Johnston
Author: markj
Date: Wed Jul 20 00:09:22 2016
New Revision: 303052
URL: https://svnweb.freebsd.org/changeset/base/303052

Log:
  Make vm_pageout_wakeup_thresh a u_int rather than an int.
  
  It's a threshold for v_free_count, which is of type u_int. This also lets
  us get rid of a cast in vm_paging_needed().
  
  Reviewed by:  alc
  MFC after:1 week

Modified:
  head/sys/sys/vmmeter.h
  head/sys/vm/vm_pageout.c

Modified: head/sys/sys/vmmeter.h
==
--- head/sys/sys/vmmeter.h  Wed Jul 20 00:06:03 2016(r303051)
+++ head/sys/sys/vmmeter.h  Wed Jul 20 00:09:22 2016(r303052)
@@ -117,7 +117,7 @@ struct vmmeter {
 
 extern struct vmmeter vm_cnt;
 
-extern int vm_pageout_wakeup_thresh;
+extern u_int vm_pageout_wakeup_thresh;
 
 /*
  * Return TRUE if we are under our severe low-free-pages threshold
@@ -181,7 +181,7 @@ vm_paging_needed(void)
 {
 
return (vm_cnt.v_free_count + vm_cnt.v_cache_count <
-   (u_int)vm_pageout_wakeup_thresh);
+   vm_pageout_wakeup_thresh);
 }
 
 #endif

Modified: head/sys/vm/vm_pageout.c
==
--- head/sys/vm/vm_pageout.cWed Jul 20 00:06:03 2016(r303051)
+++ head/sys/vm/vm_pageout.cWed Jul 20 00:09:22 2016(r303052)
@@ -157,7 +157,7 @@ SYSINIT(vmdaemon, SI_SUB_KTHREAD_VM, SI_
 
 
 int vm_pageout_deficit;/* Estimated number of pages deficit */
-int vm_pageout_wakeup_thresh;
+u_int vm_pageout_wakeup_thresh;
 static int vm_pageout_oom_seq = 12;
 bool vm_pageout_wanted;/* Event on which pageout daemon sleeps 
*/
 bool vm_pages_needed;  /* Are threads waiting for free pages? */
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303051 - head/usr.bin/mandoc

2016-07-19 Thread Bryan Drewery
Author: bdrewery
Date: Wed Jul 20 00:06:03 2016
New Revision: 303051
URL: https://svnweb.freebsd.org/changeset/base/303051

Log:
  Only build makewhatis(1)/apropos(1) with MAN_UTILS.
  
  This is what src.conf(5) documents and is what the older non-mandoc
  versions respected.
  
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/usr.bin/mandoc/Makefile

Modified: head/usr.bin/mandoc/Makefile
==
--- head/usr.bin/mandoc/MakefileWed Jul 20 00:02:10 2016
(r303050)
+++ head/usr.bin/mandoc/MakefileWed Jul 20 00:06:03 2016
(r303051)
@@ -8,7 +8,7 @@ MDOCMLDIR=  ${.CURDIR}/../../contrib/mdoc
 PROG=  mandoc
 MAN=   mandoc.1 eqn.7 mandoc_char.7 tbl.7 man.7 mdoc.7 # roff.7
 MLINKS=mandoc.1 mdocml.1
-.if ${MK_MANDOCDB} != no
+.if ${MK_MANDOCDB} != no && ${MK_MAN_UTILS} != no
 MAN+=  apropos.1 makewhatis.8
 MLINKS+=   apropos.1 whatis.1
 LINKS= ${BINDIR}/mandoc ${BINDIR}/whatis \
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303050 - in head/sys: cddl/dev/dtrace/amd64 cddl/dev/dtrace/i386 cddl/dev/dtrace/x86 conf

2016-07-19 Thread Mark Johnston
Author: markj
Date: Wed Jul 20 00:02:10 2016
New Revision: 303050
URL: https://svnweb.freebsd.org/changeset/base/303050

Log:
  Merge {amd64,i386}/instr_size.c into x86_instr_size.c.
  
  Also reduce the diff between us and upstream: the input data model will
  always be DATAMODEL_NATIVE because of a bug (p_model is never set but is
  always initialized to 0), so we don't need to override the caller anyway.
  This change is also necessary to support the pid provider for 32-bit
  processes on amd64.
  
  MFC after:2 weeks

Added:
  head/sys/cddl/dev/dtrace/x86/instr_size.c
 - copied, changed from r303049, head/sys/cddl/dev/dtrace/i386/instr_size.c
Deleted:
  head/sys/cddl/dev/dtrace/amd64/instr_size.c
  head/sys/cddl/dev/dtrace/i386/instr_size.c
Modified:
  head/sys/conf/files.amd64
  head/sys/conf/files.i386

Copied and modified: head/sys/cddl/dev/dtrace/x86/instr_size.c (from r303049, 
head/sys/cddl/dev/dtrace/i386/instr_size.c)
==
--- head/sys/cddl/dev/dtrace/i386/instr_size.c  Tue Jul 19 23:25:45 2016
(r303049, copy source)
+++ head/sys/cddl/dev/dtrace/x86/instr_size.c   Wed Jul 20 00:02:10 2016
(r303050)
@@ -44,6 +44,9 @@
 #include 
 #include 
 #else
+#include 
+#include 
+
 typedefu_int   model_t;
 #defineDATAMODEL_NATIVE0
 int dtrace_instr_size(uchar_t *);
@@ -104,9 +107,7 @@ dtrace_dis_isize(uchar_t *instr, dis_isi
dis86_t x;
uint_t mode = SIZE32;
 
-#ifdef illumos
mode = (model == DATAMODEL_LP64) ? SIZE64 : SIZE32;
-#endif
 
x.d86_data = (void **)
x.d86_get_byte = dtrace_dis_get_byte;

Modified: head/sys/conf/files.amd64
==
--- head/sys/conf/files.amd64   Tue Jul 19 23:25:45 2016(r303049)
+++ head/sys/conf/files.amd64   Wed Jul 20 00:02:10 2016(r303050)
@@ -142,7 +142,7 @@ cddl/dev/dtrace/amd64/dtrace_asm.S  opt
 cddl/dev/dtrace/amd64/dtrace_subr.coptional dtrace 
compile-with "${DTRACE_C}"
 cddl/dev/fbt/x86/fbt_isa.c optional dtrace_fbt | 
dtraceall compile-with "${FBT_C}"
 cddl/dev/dtrace/x86/dis_tables.c   optional dtrace_fbt | 
dtraceall compile-with "${DTRACE_C}"
-cddl/dev/dtrace/amd64/instr_size.c optional dtrace_fbt | 
dtraceall compile-with "${DTRACE_C}"
+cddl/dev/dtrace/x86/instr_size.c   optional dtrace_fbt | 
dtraceall compile-with "${DTRACE_C}"
 crypto/aesni/aeskeys_amd64.S   optional aesni
 crypto/aesni/aesni.c   optional aesni
 aesni_ghash.o  optional aesni  \

Modified: head/sys/conf/files.i386
==
--- head/sys/conf/files.i386Tue Jul 19 23:25:45 2016(r303049)
+++ head/sys/conf/files.i386Wed Jul 20 00:02:10 2016(r303050)
@@ -83,7 +83,7 @@ cddl/dev/dtrace/i386/dtrace_asm.S opti
 cddl/dev/dtrace/i386/dtrace_subr.c optional dtrace 
compile-with "${DTRACE_C}"
 cddl/dev/fbt/x86/fbt_isa.c optional dtrace_fbt | 
dtraceall compile-with "${FBT_C}"
 cddl/dev/dtrace/x86/dis_tables.c   optional dtrace_fbt | 
dtraceall compile-with "${DTRACE_C}"
-cddl/dev/dtrace/i386/instr_size.c  optional dtrace_fbt | 
dtraceall compile-with "${DTRACE_C}"
+cddl/dev/dtrace/x86/instr_size.c   optional dtrace_fbt | 
dtraceall compile-with "${DTRACE_C}"
 compat/linprocfs/linprocfs.c   optional linprocfs
 compat/linsysfs/linsysfs.c optional linsysfs
 compat/linux/linux_event.c optional compat_linux
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303049 - vendor/openresolv/3.8.1

2016-07-19 Thread Pedro F. Giffuni
Author: pfg
Date: Tue Jul 19 23:25:45 2016
New Revision: 303049
URL: https://svnweb.freebsd.org/changeset/base/303049

Log:
  Tag openresolv 3.8.1
  
  Obtained from:http://roy.marples.name/projects/openresolv

Added:
  vendor/openresolv/3.8.1/
 - copied from r303047, vendor/openresolv/dist/
Replaced:
  vendor/openresolv/3.8.1/resolvconf.8.in
 - copied unchanged from r303048, vendor/openresolv/dist/resolvconf.8.in
  vendor/openresolv/3.8.1/resolvconf.conf.5.in
 - copied unchanged from r303048, 
vendor/openresolv/dist/resolvconf.conf.5.in
  vendor/openresolv/3.8.1/resolvconf.in
 - copied unchanged from r303048, vendor/openresolv/dist/resolvconf.in

Copied: vendor/openresolv/3.8.1/resolvconf.8.in (from r303048, 
vendor/openresolv/dist/resolvconf.8.in)
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ vendor/openresolv/3.8.1/resolvconf.8.in Tue Jul 19 23:25:45 2016
(r303049, copy of r303048, vendor/openresolv/dist/resolvconf.8.in)
@@ -0,0 +1,318 @@
+.\" Copyright (c) 2007-2016 Roy Marples
+.\" All rights reserved
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"notice, this list of conditions and the following disclaimer in the
+.\"documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.Dd May 7, 2016
+.Dt RESOLVCONF 8
+.Os
+.Sh NAME
+.Nm resolvconf
+.Nd a framework for managing multiple DNS configurations
+.Sh SYNOPSIS
+.Nm
+.Fl I
+.Nm
+.Op Fl m Ar metric
+.Op Fl p
+.Op Fl x
+.Fl a Ar interface Ns Op Ar .protocol
+.No < Ns Pa file
+.Nm
+.Op Fl f
+.Fl d Ar interface Ns Op Ar .protocol
+.Nm
+.Op Fl x
+.Fl il Ar pattern
+.Nm
+.Fl u
+.Sh DESCRIPTION
+.Nm
+manages
+.Xr resolv.conf 5
+files from multiple sources, such as DHCP and VPN clients.
+Traditionally, the host runs just one client and that updates
+.Pa /etc/resolv.conf .
+More modern systems frequently have wired and wireless interfaces and there is
+no guarantee both are on the same network.
+With the advent of VPN and other
+types of networking daemons, many things now contend for the contents of
+.Pa /etc/resolv.conf .
+.Pp
+.Nm
+solves this by letting the daemon send their
+.Xr resolv.conf 5
+file to
+.Nm
+via
+.Xr stdin 4
+with the argument
+.Fl a Ar interface Ns Op Ar .protocol
+instead of the filesystem.
+.Nm
+then updates
+.Pa /etc/resolv.conf
+as it thinks best.
+When a local resolver other than libc is installed, such as
+.Xr dnsmasq 8
+or
+.Xr named 8 ,
+then
+.Nm
+will supply files that the resolver should be configured to include.
+.Pp
+.Nm
+assumes it has a job to do.
+In some situations
+.Nm
+needs to act as a deterrent to writing to
+.Pa /etc/resolv.conf .
+Where this file cannot be made immutable or you just need to toggle this
+behaviour,
+.Nm
+can be disabled by adding
+.Sy resolvconf Ns = Ns NO
+to
+.Xr resolvconf.conf 5 .
+.Pp
+.Nm
+can mark an interfaces
+.Pa resolv.conf
+as private.
+This means that the name servers listed in that
+.Pa resolv.conf
+are only used for queries against the domain/search listed in the same file.
+This only works when a local resolver other than libc is installed.
+See
+.Xr resolvconf.conf 5
+for how to configure
+.Nm
+to use a local name server.
+.Pp
+.Nm
+can mark an interfaces
+.Pa resolv.conf
+as exclusive.
+Only the latest exclusive interface is used for processing, otherwise all are.
+.Pp
+When an interface goes down, it should then call
+.Nm
+with
+.Fl d Ar interface.*
+arguments to delete the
+.Pa resolv.conf
+file(s) for all the
+.Ar protocols
+on the
+.Ar interface .
+.Pp
+Here are some options for the above commands:-
+.Bl -tag -width indent
+.It Fl f
+Ignore non existent interfaces.
+Only really useful for deleting interfaces.
+.It Fl m Ar metric
+Set the metric of the interface when adding it, default of 0.
+Lower metrics 

svn commit: r303048 - vendor/openresolv/dist

2016-07-19 Thread Pedro F. Giffuni
Author: pfg
Date: Tue Jul 19 23:22:06 2016
New Revision: 303048
URL: https://svnweb.freebsd.org/changeset/base/303048

Log:
  Import openresolv 3.8.1
  
  Obtained from:http://roy.marples.name/projects/openresolv

Modified:
  vendor/openresolv/dist/resolvconf.8.in
  vendor/openresolv/dist/resolvconf.conf.5.in
  vendor/openresolv/dist/resolvconf.in

Modified: vendor/openresolv/dist/resolvconf.8.in
==
--- vendor/openresolv/dist/resolvconf.8.in  Tue Jul 19 22:56:40 2016
(r303047)
+++ vendor/openresolv/dist/resolvconf.8.in  Tue Jul 19 23:22:06 2016
(r303048)
@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd February 23, 2016
+.Dd May 7, 2016
 .Dt RESOLVCONF 8
 .Os
 .Sh NAME
@@ -64,7 +64,7 @@ solves this by letting the daemon send t
 file to
 .Nm
 via
-.Xr stdin 3
+.Xr stdin 4
 with the argument
 .Fl a Ar interface Ns Op Ar .protocol
 instead of the filesystem.
@@ -101,7 +101,7 @@ as private.
 This means that the name servers listed in that
 .Pa resolv.conf
 are only used for queries against the domain/search listed in the same file.
-This only works when a local resolver other than libc is installed. 
+This only works when a local resolver other than libc is installed.
 See
 .Xr resolvconf.conf 5
 for how to configure
@@ -290,16 +290,16 @@ Directory of subscribers which are run a
 State directory for
 .Nm .
 .El
+.Sh SEE ALSO
+.Xr resolver 3 ,
+.Xr stdin 4 ,
+.Xr resolv.conf 5 ,
+.Xr resolvconf.conf 5
 .Sh HISTORY
 This implementation of
 .Nm
 is called openresolv and is fully command line compatible with Debian's
 resolvconf, as written by Thomas Hood.
-.Sh SEE ALSO
-.Xr resolv.conf 5 ,
-.Xr resolvconf.conf 5 ,
-.Xr resolver 3 ,
-.Xr stdin 3
 .Sh AUTHORS
 .An Roy Marples Aq Mt r...@marples.name
 .Sh BUGS

Modified: vendor/openresolv/dist/resolvconf.conf.5.in
==
--- vendor/openresolv/dist/resolvconf.conf.5.in Tue Jul 19 22:56:40 2016
(r303047)
+++ vendor/openresolv/dist/resolvconf.conf.5.in Tue Jul 19 23:22:06 2016
(r303048)
@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd February 23, 2016
+.Dd April 28, 2016
 .Dt RESOLVCONF.CONF 5
 .Os
 .Sh NAME
@@ -103,7 +103,8 @@ This is equivalent to the
 .Nm resolvconf -p
 option.
 .It Sy replace
-Is a space separated list of replacement keywords. The syntax is this:
+Is a space separated list of replacement keywords.
+The syntax is this:
 .Va $keyword Ns / Ns Va $match Ns / Ns Va $replacement
 .Pp
 Example, given this resolv.conf:
@@ -307,10 +308,9 @@ Command to restart the unbound service.
 Location of the unbound pidfile.
 .El
 .Sh SEE ALSO
+.Xr sh 1 ,
 .Xr resolv.conf 5 ,
 .Xr resolvconf 8
-and
-.Xr sh 1 .
 .Sh AUTHORS
 .An Roy Marples Aq Mt r...@marples.name
 .Sh BUGS

Modified: vendor/openresolv/dist/resolvconf.in
==
--- vendor/openresolv/dist/resolvconf.inTue Jul 19 22:56:40 2016
(r303047)
+++ vendor/openresolv/dist/resolvconf.inTue Jul 19 23:22:06 2016
(r303048)
@@ -25,7 +25,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 RESOLVCONF="$0"
-OPENRESOLV_VERSION="3.8.0"
+OPENRESOLV_VERSION="3.8.1"
 SYSCONFDIR=@SYSCONFDIR@
 LIBEXECDIR=@LIBEXECDIR@
 VARDIR=@VARDIR@
@@ -152,7 +152,10 @@ parse_resolv()
private=false
for p in $private_interfaces; do
case "$iface" in
-   "$p"|"$p":*) private=true; 
break;;
+   "$p"|"$p":*)
+   private=true
+   break
+   ;;
esac
done
fi
@@ -270,11 +273,11 @@ detect_init()
local status="@STATUSARG@"
: ${status:=status}
if [ -x /bin/systemctl -a -S /run/systemd/private ]; then
-   RESTARTCMD="if /bin/systemctl --quiet is-active; then
+   RESTARTCMD="if /bin/systemctl --quiet is-active \$1.service; 
then
/bin/systemctl restart \$1.service;
 fi"
elif [ -x /usr/bin/systemctl -a -S /run/systemd/private ]; then
-   RESTARTCMD="if /usr/bin/systemctl --quiet is-active; then
+   RESTARTCMD="if /usr/bin/systemctl --quiet is-active 
\$1.service; then
/usr/bin/systemctl restart \$1.service;
 fi"
elif [ -x /sbin/rc-service -a \
___

svn commit: r303047 - head/usr.bin/sed

2016-07-19 Thread Pedro F. Giffuni
Author: pfg
Date: Tue Jul 19 22:56:40 2016
New Revision: 303047
URL: https://svnweb.freebsd.org/changeset/base/303047

Log:
  sed(1):   Assorted cleanups and simplifications.
  
  Const-ify several variables, make it build cleanly with WARNS level 5.
  
  Submitted by: mi
  PR:   195929
  MFC after:1 month

Modified:
  head/usr.bin/sed/Makefile
  head/usr.bin/sed/compile.c
  head/usr.bin/sed/defs.h
  head/usr.bin/sed/extern.h
  head/usr.bin/sed/main.c
  head/usr.bin/sed/misc.c
  head/usr.bin/sed/process.c

Modified: head/usr.bin/sed/Makefile
==
--- head/usr.bin/sed/Makefile   Tue Jul 19 20:22:13 2016(r303046)
+++ head/usr.bin/sed/Makefile   Tue Jul 19 22:56:40 2016(r303047)
@@ -6,7 +6,7 @@
 PROG=  sed
 SRCS=  compile.c main.c misc.c process.c
 
-WARNS?=2
+WARNS?=5
 
 .if ${MK_TESTS} != "no"
 SUBDIR+= tests

Modified: head/usr.bin/sed/compile.c
==
--- head/usr.bin/sed/compile.c  Tue Jul 19 20:22:13 2016(r303046)
+++ head/usr.bin/sed/compile.c  Tue Jul 19 22:56:40 2016(r303047)
@@ -64,21 +64,21 @@ static struct labhash {
int lh_ref;
 } *labels[LHSZ];
 
-static char *compile_addr(char *, struct s_addr *);
-static char *compile_ccl(char **, char *);
-static char *compile_delimited(char *, char *, int);
-static char *compile_flags(char *, struct s_subst *);
-static regex_t  *compile_re(char *, int);
-static char *compile_subst(char *, struct s_subst *);
-static char *compile_text(void);
-static char *compile_tr(char *, struct s_tr **);
+static const char   *compile_addr(const char *, struct s_addr *);
+static   char   *compile_ccl(const char **, char *);
+static const char   *compile_delimited(const char *, char *, int);
+static const char   *compile_flags(const char *, struct s_subst *);
+static const regex_t*compile_re(const char *, int);
+static const char   *compile_subst(const char *, struct s_subst *);
+static   char   *compile_text(size_t *);
+static const char   *compile_tr(const char *, struct s_tr **);
 static struct s_command
**compile_stream(struct s_command **);
-static char *duptoeol(char *, const char *);
+static char *duptoeol(const char *, const char *, size_t *);
 static void  enterlabel(struct s_command *);
 static struct s_command
-*findlabel(char *);
-static void  fixuplabel(struct s_command *, struct s_command *);
+*findlabel(const char *);
+static void  fixuplabel(struct s_command *, const struct s_command *);
 static void  uselabel(void);
 
 /*
@@ -144,17 +144,20 @@ compile(void)
err(1, "malloc");
 }
 
-#define EATSPACE() do {
\
-   if (p)  \
-   while (*p && isspace((unsigned char)*p))\
-   p++;\
+#defineEATSPACE() do { \
+   while (*p && isspace((unsigned char)*p))\
+   p++;\
+   } while (0)
+
+#defineEATSPACEN() do {\
+   while (*p && *p != '\n' && isspace((unsigned char)*p))  \
+   p++;\
} while (0)
 
 static struct s_command **
 compile_stream(struct s_command **link)
 {
-   char *p;
-   static char lbuf[_POSIX2_LINE_MAX + 1]; /* To save stack */
+   const char *p;
struct s_command *cmd, *cmd2, *stack;
struct s_format *fp;
char re[_POSIX2_LINE_MAX + 1];
@@ -162,22 +165,22 @@ compile_stream(struct s_command **link)
 
stack = NULL;
for (;;) {
-   if ((p = cu_fgets(lbuf, sizeof(lbuf), NULL)) == NULL) {
+   if ((p = cu_fgets(NULL)) == NULL) {
if (stack != NULL)
errx(1, "%lu: %s: unexpected EOF (pending }'s)",
linenum, fname);
return (link);
}
 
-semicolon: EATSPACE();
-   if (p) {
-   if (*p == '#' || *p == '\0')
-   continue;
-   else if (*p == ';') {
-   p++;
-   goto semicolon;
-   }
+semicolon: EATSPACEN();
+   switch (*p) {
+   case '#': case '\0': case '\n':
+   continue;   /* to next command-unit */
+   case ';':
+   p++;
+   goto semicolon;
}
+

Re: svn commit: r303046 - head/lib/libc/locale

2016-07-19 Thread Pedro Giffuni



On 07/19/16 16:22, Pedro Giffuni wrote:

Hi;

On 07/19/16 15:46, Ed Schouten wrote:

Hi Pedro,

2016-07-19 22:22 GMT+02:00 Pedro F. Giffuni :

Author: pfg
Date: Tue Jul 19 20:22:13 2016
New Revision: 303046
URL: https://svnweb.freebsd.org/changeset/base/303046

Log:
  libc: tag the Rune initialization function prototypes visibility as
hidden.


How does this interact with symbol versioning/mapping? Wouldn't our C
library's symbol map already make these symbols hidden without any
explicit annotation?



It shouldn't hurt at all, this is not the first use that we make of the
visibility attributes in libc. I do notice we tend to put them at the
end of the prototype, while I followed the Apple notation of setting
them in front. No idea if that is worthwhile to change.

It is true that these symbols should already be hidden but in the case
some port is using -fvisibility= compiler flag this will prevent the
symbols from getting exported by accident.



Hmm... actually, you probably can't unhide the regular functions with
-fvisibility. It just doesn't hurt to have the extra insurance, plus
it's generally not wrong to be compatible with Apple ;).

Pedro.
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r303046 - head/lib/libc/locale

2016-07-19 Thread Jilles Tjoelker
On Tue, Jul 19, 2016 at 10:46:36PM +0200, Ed Schouten wrote:
> 2016-07-19 22:22 GMT+02:00 Pedro F. Giffuni :
> > Author: pfg
> > Date: Tue Jul 19 20:22:13 2016
> > New Revision: 303046
> > URL: https://svnweb.freebsd.org/changeset/base/303046

> > Log:
> >   libc: tag the Rune initialization function prototypes visibility
> >   as hidden.

> How does this interact with symbol versioning/mapping? Wouldn't our C
> library's symbol map already make these symbols hidden without any
> explicit annotation?

Trying to export (using a version script) a symbol with hidden
visibility attribute is an error, but GNU ld might accept it and fix it
up using text relocations or by not exporting the symbol.

Although both version scripts and visibility attributes can be used to
prevent exporting symbols, the goals are different. The goal of version
scripts is to enforce that no symbol is exported that is not in the
version script. The goal of visibility attributes is to optimize
performance and code size.

For example, on i386, a function without visibility attributes that is
not exported is called directly but still has %ebx set up for the PLT
entry. This not only adds extra instructions and stack usage but also
prevents tail calls (clang called the GOT entry indirectly for a while
to allow tail calls but this was removed because some code depended on
lazy resolution which requires PLT entries).

-- 
Jilles Tjoelker
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r303046 - head/lib/libc/locale

2016-07-19 Thread Pedro Giffuni

Hi;

On 07/19/16 15:46, Ed Schouten wrote:

Hi Pedro,

2016-07-19 22:22 GMT+02:00 Pedro F. Giffuni :

Author: pfg
Date: Tue Jul 19 20:22:13 2016
New Revision: 303046
URL: https://svnweb.freebsd.org/changeset/base/303046

Log:
  libc: tag the Rune initialization function prototypes visibility as hidden.


How does this interact with symbol versioning/mapping? Wouldn't our C
library's symbol map already make these symbols hidden without any
explicit annotation?



It shouldn't hurt at all, this is not the first use that we make of the 
visibility attributes in libc. I do notice we tend to put them at the

end of the prototype, while I followed the Apple notation of setting
them in front. No idea if that is worthwhile to change.

It is true that these symbols should already be hidden but in the case
some port is using -fvisibility= compiler flag this will prevent the
symbols from getting exported by accident.

Pedro.

___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r303046 - head/lib/libc/locale

2016-07-19 Thread Ed Schouten
Hi Pedro,

2016-07-19 22:22 GMT+02:00 Pedro F. Giffuni :
> Author: pfg
> Date: Tue Jul 19 20:22:13 2016
> New Revision: 303046
> URL: https://svnweb.freebsd.org/changeset/base/303046
>
> Log:
>   libc: tag the Rune initialization function prototypes visibility as hidden.

How does this interact with symbol versioning/mapping? Wouldn't our C
library's symbol map already make these symbols hidden without any
explicit annotation?

-- 
Ed Schouten 
Nuxi, 's-Hertogenbosch, the Netherlands
KvK-nr.: 62051717
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303044 - head/share/man/man7

2016-07-19 Thread Ed Maste
Author: emaste
Date: Tue Jul 19 19:50:30 2016
New Revision: 303044
URL: https://svnweb.freebsd.org/changeset/base/303044

Log:
  arch.7: we also use 1M page mappings on armv6
  
  Submitted by: alc

Modified:
  head/share/man/man7/arch.7

Modified: head/share/man/man7/arch.7
==
--- head/share/man/man7/arch.7  Tue Jul 19 19:20:47 2016(r303043)
+++ head/share/man/man7/arch.7  Tue Jul 19 19:50:30 2016(r303044)
@@ -90,7 +90,7 @@ On all supported architectures,
 .It amd64   Ta 4K, 2M, 1G
 .It arm Ta 4K
 .It armeb   Ta 4K
-.It armv6   Ta 4K
+.It armv6   Ta 4K, 1M
 .It arm64   Ta 4K, 2M, 1G
 .It i386Ta 4K, 2M (PAE), 4M
 .It mipsTa 4K
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303046 - head/lib/libc/locale

2016-07-19 Thread Pedro F. Giffuni
Author: pfg
Date: Tue Jul 19 20:22:13 2016
New Revision: 303046
URL: https://svnweb.freebsd.org/changeset/base/303046

Log:
  libc: tag the Rune initialization function prototypes visibility as hidden.
  
  It is good practice to export as few symbols as possible from your shared
  libraries, so use the GCC visibility attribute in this case, matching what
  Apple's libc does.
  
  Reference:
  
https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/CppRuntimeEnv/Articles/SymbolVisibility.html
  
  Hinted by:Apple's libc 1082.20.4
  MFC after:1 week

Modified:
  head/lib/libc/locale/mblocal.h

Modified: head/lib/libc/locale/mblocal.h
==
--- head/lib/libc/locale/mblocal.h  Tue Jul 19 20:11:50 2016
(r303045)
+++ head/lib/libc/locale/mblocal.h  Tue Jul 19 20:22:13 2016
(r303046)
@@ -65,18 +65,18 @@ extern struct xlocale_ctype __xlocale_gl
 /*
  * Rune initialization function prototypes.
  */
-int_none_init(struct xlocale_ctype *, _RuneLocale *);
-int_UTF8_init(struct xlocale_ctype *, _RuneLocale *);
-int_EUC_CN_init(struct xlocale_ctype *, _RuneLocale *);
-int_EUC_JP_init(struct xlocale_ctype *, _RuneLocale *);
-int_EUC_KR_init(struct xlocale_ctype *, _RuneLocale *);
-int_EUC_TW_init(struct xlocale_ctype *, _RuneLocale *);
-int_GB18030_init(struct xlocale_ctype *, _RuneLocale *);
-int_GB2312_init(struct xlocale_ctype *, _RuneLocale *);
-int_GBK_init(struct xlocale_ctype *, _RuneLocale *);
-int_BIG5_init(struct xlocale_ctype *, _RuneLocale *);
-int_MSKanji_init(struct xlocale_ctype *, _RuneLocale *);
-int_ascii_init(struct xlocale_ctype *, _RuneLocale *);
+__hidden int   _none_init(struct xlocale_ctype *, _RuneLocale *);
+__hidden int   _ascii_init(struct xlocale_ctype *, _RuneLocale *);
+__hidden int   _UTF8_init(struct xlocale_ctype *, _RuneLocale *);
+__hidden int   _EUC_CN_init(struct xlocale_ctype *, _RuneLocale *);
+__hidden int   _EUC_JP_init(struct xlocale_ctype *, _RuneLocale *);
+__hidden int   _EUC_KR_init(struct xlocale_ctype *, _RuneLocale *);
+__hidden int   _EUC_TW_init(struct xlocale_ctype *, _RuneLocale *);
+__hidden int   _GB18030_init(struct xlocale_ctype *, _RuneLocale *);
+__hidden int   _GB2312_init(struct xlocale_ctype *, _RuneLocale *);
+__hidden int   _GBK_init(struct xlocale_ctype *, _RuneLocale *);
+__hidden int   _BIG5_init(struct xlocale_ctype *, _RuneLocale *);
+__hidden int   _MSKanji_init(struct xlocale_ctype *, _RuneLocale *);
 
 typedef size_t (*mbrtowc_pfn_t)(wchar_t * __restrict,
 const char * __restrict, size_t, mbstate_t * __restrict);
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r303033 - head/share/man/man7

2016-07-19 Thread Conrad Meyer
On Tue, Jul 19, 2016 at 12:51 PM, Ed Maste  wrote:
> On 19 July 2016 at 15:37, Conrad Meyer  wrote:
>>
>> ILP32 was only added on CURRENT during the 11 timeframe (the r276479
>> 3.5.0 import), and can't be relied upon for stable/10 or 9, FWIW.
>> (Not useful for ports, for example.)
>>
>> Sure, it's probably okay that this manual page only describes the
>> release it is present in.
>
> Good point; I should add a note to clarify this in the page itself.

Alternatively, it looks like a pretty trivial backport.  But I'm not
volunteering :-).

Best,
Conrad
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303045 - head/share/man/man7

2016-07-19 Thread Ed Maste
Author: emaste
Date: Tue Jul 19 20:11:50 2016
New Revision: 303045
URL: https://svnweb.freebsd.org/changeset/base/303045

Log:
  arch.7: correct MIPS endianness transcription error
  
  Submitted by: Nikolai Lifanov 

Modified:
  head/share/man/man7/arch.7

Modified: head/share/man/man7/arch.7
==
--- head/share/man/man7/arch.7  Tue Jul 19 19:50:30 2016(r303044)
+++ head/share/man/man7/arch.7  Tue Jul 19 20:11:50 2016(r303045)
@@ -74,10 +74,10 @@ On all supported architectures,
 .It armv6   Ta little Ta unsigned
 .It arm64   Ta little Ta unsigned
 .It i386Ta little Ta   signed
-.It mipsTa little Ta   signed
-.It mipsel  Ta bigTa   signed
-.It mipsn32 Ta little Ta   signed
-.It mips64  Ta little Ta   signed
+.It mipsTa bigTa   signed
+.It mipsel  Ta little Ta   signed
+.It mipsn32 Ta bigTa   signed
+.It mips64  Ta bigTa   signed
 .It mips64elTa little Ta   signed
 .It powerpc Ta bigTa unsigned
 .It powerpc64   Ta bigTa unsigned
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r303033 - head/share/man/man7

2016-07-19 Thread Ed Maste
On 19 July 2016 at 15:37, Conrad Meyer  wrote:
>
> ILP32 was only added on CURRENT during the 11 timeframe (the r276479
> 3.5.0 import), and can't be relied upon for stable/10 or 9, FWIW.
> (Not useful for ports, for example.)
>
> Sure, it's probably okay that this manual page only describes the
> release it is present in.

Good point; I should add a note to clarify this in the page itself.
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r303033 - head/share/man/man7

2016-07-19 Thread Conrad Meyer
On Tue, Jul 19, 2016 at 10:46 AM, Ed Maste  wrote:
> Author: emaste
> Date: Tue Jul 19 17:46:09 2016
> New Revision: 303033
> URL: https://svnweb.freebsd.org/changeset/base/303033
>
> Log:
>   add an arch.7 man page with architecture-specific details
>
>   Based on details collected on the wiki, at
>   https://wiki.freebsd.org/EdMaste/ArchitectureSpecifics
>   Further details to be added over time.
>
>   Sponsored by: The FreeBSD Foundation
>   Differential Revision:https://reviews.freebsd.org/D7096
>
> Added:
>   head/share/man/man7/arch.7   (contents, props changed)
> Modified:
>   head/share/man/man7/Makefile
>
> ...
> Added: head/share/man/man7/arch.7
> ==
> --- /dev/null   00:00:00 1970   (empty, because file is newly added)
> +++ head/share/man/man7/arch.7  Tue Jul 19 17:46:09 2016(r303033)
> @@ -0,0 +1,171 @@
> ...
> +.Ss Predefined Macros
> +The compiler provides a number of predefined macros.
> +Some of these provide architecture-specific details and are explained below.
> +Other macros, including those required by the language standard, are not
> +included here.
> +.Pp
> +The full set of predefined macros can be obtained with this command:
> +.Bd -literal -offset indent
> +cc -x c -Dm -E /dev/null
> +.Ed
> +.Pp
> +Common type size and endianness macros:
> +.Bl -column -offset indent "BYTE_ORDER" ".Sy Meaning"
> +.It Sy Macro Ta Sy Meaning
> +.It Dv __LP64__ Ta 64-bit (8-byte) long and pointer, 32-bit (4-byte) int
> +.It Dv __ILP32__ Ta 32-bit (4-byte) int, long and pointer

ILP32 was only added on CURRENT during the 11 timeframe (the r276479
3.5.0 import), and can't be relied upon for stable/10 or 9, FWIW.
(Not useful for ports, for example.)

Sure, it's probably okay that this manual page only describes the
release it is present in.

Best,
Conrad
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303043 - in head: share/man/man4 sys/dev/vt sys/dev/vt/hw/fb

2016-07-19 Thread Conrad E. Meyer
Author: cem
Date: Tue Jul 19 19:20:47 2016
New Revision: 303043
URL: https://svnweb.freebsd.org/changeset/base/303043

Log:
  Increase vt(4) framebuffer maximum size
  
  And rename "DEFAULT" constants to the more accurate "MAX."
  
  PR:   210382
  Submitted by: Felix 
  Reviewed by:  wblock, cem
  Tested by:Dave Cottlehuber 

Modified:
  head/share/man/man4/vt.4
  head/sys/dev/vt/hw/fb/vt_fb.c
  head/sys/dev/vt/vt.h
  head/sys/dev/vt/vt_core.c

Modified: head/share/man/man4/vt.4
==
--- head/share/man/man4/vt.4Tue Jul 19 19:19:03 2016(r303042)
+++ head/share/man/man4/vt.4Tue Jul 19 19:20:47 2016(r303043)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd June 21, 2016
+.Dd July 19, 2016
 .Dt "VIRTUAL TERMINALS" 4
 .Os
 .Sh NAME
@@ -36,8 +36,8 @@
 .Cd "options VT_MAXWINDOWS=N"
 .Cd "options VT_ALT_TO_ESC_HACK=1"
 .Cd "options VT_TWOBUTTON_MOUSE"
-.Cd "options VT_FB_DEFAULT_WIDTH=X"
-.Cd "options VT_FB_DEFAULT_HEIGHT=Y"
+.Cd "options VT_FB_MAX_WIDTH=X"
+.Cd "options VT_FB_MAX_HEIGHT=Y"
 .Cd "options SC_NO_CUTPASTE"
 .Cd "device vt"
 .Pp

Modified: head/sys/dev/vt/hw/fb/vt_fb.c
==
--- head/sys/dev/vt/hw/fb/vt_fb.c   Tue Jul 19 19:19:03 2016
(r303042)
+++ head/sys/dev/vt/hw/fb/vt_fb.c   Tue Jul 19 19:20:47 2016
(r303043)
@@ -416,10 +416,10 @@ vt_fb_init(struct vt_device *vd)
int err;
 
info = vd->vd_softc;
-   vd->vd_height = MIN(VT_FB_DEFAULT_HEIGHT, info->fb_height);
+   vd->vd_height = MIN(VT_FB_MAX_HEIGHT, info->fb_height);
margin = (info->fb_height - vd->vd_height) >> 1;
vd->vd_transpose = margin * info->fb_stride;
-   vd->vd_width = MIN(VT_FB_DEFAULT_WIDTH, info->fb_width);
+   vd->vd_width = MIN(VT_FB_MAX_WIDTH, info->fb_width);
margin = (info->fb_width - vd->vd_width) >> 1;
vd->vd_transpose += margin * (info->fb_bpp / NBBY);
vd->vd_video_dev = info->fb_video_dev;

Modified: head/sys/dev/vt/vt.h
==
--- head/sys/dev/vt/vt.hTue Jul 19 19:19:03 2016(r303042)
+++ head/sys/dev/vt/vt.hTue Jul 19 19:20:47 2016(r303043)
@@ -377,11 +377,11 @@ void vt_upgrade(struct vt_device *vd);
 #definePIXEL_WIDTH(w)  ((w) / 8)
 #definePIXEL_HEIGHT(h) ((h) / 16)
 
-#ifndef VT_FB_DEFAULT_WIDTH
-#defineVT_FB_DEFAULT_WIDTH 2048
+#ifndef VT_FB_MAX_WIDTH
+#defineVT_FB_MAX_WIDTH 4096
 #endif
-#ifndef VT_FB_DEFAULT_HEIGHT
-#defineVT_FB_DEFAULT_HEIGHT1200
+#ifndef VT_FB_MAX_HEIGHT
+#defineVT_FB_MAX_HEIGHT2400
 #endif
 
 /* name argument is not used yet. */

Modified: head/sys/dev/vt/vt_core.c
==
--- head/sys/dev/vt/vt_core.c   Tue Jul 19 19:19:03 2016(r303042)
+++ head/sys/dev/vt/vt_core.c   Tue Jul 19 19:20:47 2016(r303043)
@@ -181,8 +181,8 @@ static void vt_resume_handler(void *priv
 
 SET_DECLARE(vt_drv_set, struct vt_driver);
 
-#define_VTDEFH MAX(100, PIXEL_HEIGHT(VT_FB_DEFAULT_HEIGHT))
-#define_VTDEFW MAX(200, PIXEL_WIDTH(VT_FB_DEFAULT_WIDTH))
+#define_VTDEFH MAX(100, PIXEL_HEIGHT(VT_FB_MAX_HEIGHT))
+#define_VTDEFW MAX(200, PIXEL_WIDTH(VT_FB_MAX_WIDTH))
 
 struct terminalvt_consterm;
 static struct vt_windowvt_conswindow;
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303042 - head/sys/dev/nvd

2016-07-19 Thread Scott Long
Author: scottl
Date: Tue Jul 19 19:19:03 2016
New Revision: 303042
URL: https://svnweb.freebsd.org/changeset/base/303042

Log:
  Remove unused variable from last commit.

Modified:
  head/sys/dev/nvd/nvd.c

Modified: head/sys/dev/nvd/nvd.c
==
--- head/sys/dev/nvd/nvd.c  Tue Jul 19 19:13:01 2016(r303041)
+++ head/sys/dev/nvd/nvd.c  Tue Jul 19 19:19:03 2016(r303042)
@@ -232,7 +232,6 @@ nvd_dump(void *arg, void *virt, vm_offse
 {
struct nvd_disk *ndisk;
struct disk *dp;
-   int error;
 
dp = arg;
ndisk = dp->d_drv1;
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303041 - head/share/misc

2016-07-19 Thread Rene Ladan
Author: rene (doc,ports committer)
Date: Tue Jul 19 19:13:01 2016
New Revision: 303041
URL: https://svnweb.freebsd.org/changeset/base/303041

Log:
  erwin stepped down from portmgr, update the graph.

Modified:
  head/share/misc/organization.dot

Modified: head/share/misc/organization.dot
==
--- head/share/misc/organization.dotTue Jul 19 19:09:23 2016
(r303040)
+++ head/share/misc/organization.dotTue Jul 19 19:13:01 2016
(r303041)
@@ -30,7 +30,7 @@ coresecretary [label="Core Team Secretar
 doccommitters [label="Doc/www Committers\ndoc-committ...@freebsd.org"]
 doceng [label="Documentation Engineering Team\ndoc...@freebsd.org\ngjb, 
blackend,\ngabor, hrs"]
 portscommitters [label="Ports Committers\nports-committ...@freebsd.org"]
-portmgr [label="Port Management Team\nport...@freebsd.org\nantoine, bapt, 
bdrewery,\nerwin, mat, swills,\nmiwi"]
+portmgr [label="Port Management Team\nport...@freebsd.org\nantoine, bapt, 
bdrewery,\nmat, swills, miwi"]
 portmgrsecretary [label="Port Management Team 
Secretary\nportmgr-secret...@freebsd.org\nrene"]
 re [label="Primary Release Engineering Team\n...@freebsd.org\nkib, blackend, 
jpaetzel, hrs, kensmith"]
 secteam [label="Security Team\nsect...@freebsd.org\ndelphij,\ndes, gavin, 
gjb,\nglebius, remko"]
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303040 - in head/sys/dev: nvd nvme

2016-07-19 Thread Scott Long
Author: scottl
Date: Tue Jul 19 19:09:23 2016
New Revision: 303040
URL: https://svnweb.freebsd.org/changeset/base/303040

Log:
  Supporting flushing the dump before returning, and simplify/combine the
  logic.  Switch to a 5us delay since most NVME devices can easily do 200,000
  iops.
  
  Submitted by: imp
  MFC after:3 days
  Sponsored by: Netflix, Inc.

Modified:
  head/sys/dev/nvd/nvd.c
  head/sys/dev/nvme/nvme_ns_cmd.c

Modified: head/sys/dev/nvd/nvd.c
==
--- head/sys/dev/nvd/nvd.c  Tue Jul 19 19:00:22 2016(r303039)
+++ head/sys/dev/nvd/nvd.c  Tue Jul 19 19:09:23 2016(r303040)
@@ -237,14 +237,7 @@ nvd_dump(void *arg, void *virt, vm_offse
dp = arg;
ndisk = dp->d_drv1;
 
-   if (len > 0) {
-   if ((error = nvme_ns_dump(ndisk->ns, virt, offset, len)) != 0)
-   return (error);
-   } else {
-   /* XXX sync to stable storage */
-   }
-
-   return (0);
+   return (nvme_ns_dump(ndisk->ns, virt, offset, len));
 }
 
 static void

Modified: head/sys/dev/nvme/nvme_ns_cmd.c
==
--- head/sys/dev/nvme/nvme_ns_cmd.c Tue Jul 19 19:00:22 2016
(r303039)
+++ head/sys/dev/nvme/nvme_ns_cmd.c Tue Jul 19 19:09:23 2016
(r303040)
@@ -153,7 +153,7 @@ nvme_ns_cmd_flush(struct nvme_namespace 
 }
 
 /* Timeout = 1 sec */
-#define NVD_DUMP_TIMEOUT   10
+#define NVD_DUMP_TIMEOUT   20
 
 int
 nvme_ns_dump(struct nvme_namespace *ns, void *virt, off_t offset, size_t len)
@@ -171,14 +171,13 @@ nvme_ns_dump(struct nvme_namespace *ns, 
return (ENOMEM);
 
cmd = >cmd;
-   cmd->opc = NVME_OPC_WRITE;
-   cmd->nsid = ns->id;
 
-   lba = offset / nvme_ns_get_sector_size(ns);
-   lba_count = len / nvme_ns_get_sector_size(ns);
-
-   *(uint64_t *)>cdw10 = lba;
-   cmd->cdw12 = lba_count - 1;
+   if (len > 0) {
+   lba = offset / nvme_ns_get_sector_size(ns);
+   lba_count = len / nvme_ns_get_sector_size(ns);
+   nvme_ns_write_cmd(cmd, ns->id, lba, lba_count);
+   } else
+   nvme_ns_flush_cmd(cmd, ns->id);
 
nvme_ctrlr_submit_io_request(ns->ctrlr, req);
if (req->qpair == NULL)
@@ -186,7 +185,7 @@ nvme_ns_dump(struct nvme_namespace *ns, 
 
i = 0;
while ((i++ < NVD_DUMP_TIMEOUT) && (status.done == FALSE)) {
-   DELAY(10);
+   DELAY(5);
nvme_qpair_process_completions(req->qpair);
}
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303039 - head/sys/boot/efi/libefi

2016-07-19 Thread Emmanuel Vadot
Author: manu
Date: Tue Jul 19 19:00:22 2016
New Revision: 303039
URL: https://svnweb.freebsd.org/changeset/base/303039

Log:
  Do not use TERM_EMU on arm and arm64 as it doesn't behave well with serial 
console.
  
  Reviewed by:  andrew, emaste
  MFC after:1 week
  Differential Revision:https://reviews.freebsd.org/D6783

Modified:
  head/sys/boot/efi/libefi/Makefile

Modified: head/sys/boot/efi/libefi/Makefile
==
--- head/sys/boot/efi/libefi/Makefile   Tue Jul 19 18:40:54 2016
(r303038)
+++ head/sys/boot/efi/libefi/Makefile   Tue Jul 19 19:00:22 2016
(r303039)
@@ -35,6 +35,10 @@ CFLAGS+= -I${.CURDIR}/../../common
 
 # Handle FreeBSD specific %b and %D printf format specifiers
 CFLAGS+= ${FORMAT_EXTENSIONS}
+
+# Do not use TERM_EMU on arm and arm64 as it doesn't behave well with serial 
console
+.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "aarch64"
 CFLAGS+= -DTERM_EMU
+.endif
 
 .include 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303038 - in head/usr.sbin/makefs: . ffs

2016-07-19 Thread Ed Maste
Author: emaste
Date: Tue Jul 19 18:40:54 2016
New Revision: 303038
URL: https://svnweb.freebsd.org/changeset/base/303038

Log:
  makefs: sync NetBSD IDs with upstream for changes that we already have
  
  May 22 21:51:39 2011 + (christos):
  
  From Nathan Whitehorn (nwhitehorn at freebsd dot org):
  Add code to generate bootable ISOs on Powermac and CHRP systems.
  Synthesize some partition maps (APM and MBR, respectively) pointing
  to (a) the whole disk, and (b) relevant El Torito boot images that
  have been added by other code. These partition maps are a little
  bit funny looking, but they seem to work. FreeBSD has been using
  this successfully in their release generation on powerpc, as well
  as generating all non-SPARC install media. SPARC support could
  probably be added as an extension of this patch.
  
  makefs.8 1.33
  
  Tue Aug 23 17:09:11 2011 + (christos):
  
  PR/45285: Martin Matuska: makefs does not properly convert ISO level 1 
and 2
  filenames (buffer overflow)
  
  makefs does not properly verify the maximum filename length in the
  special "." case for both ISO level 1 and ISO level 2 filename
  conversion.  This creates broken images or causes a buffer overflow
  (ISO level 2).
  
  ISO level 1:
  If a filename contains only dots or up to 8 characters followed by
  dots the 8+3 limit check doesn't work.
  
  ISO level 2:
  If a filename contains a dot in the first 30 characters and a dot
  on the 30th character, the length limit check doesn't work and the
  buffer is overflowed.
  
  $ mkdir level1
  $ touch level1/12345
  $ makefs -t cd9660 -o isolevel=1 test.iso level1
  
  $ mkdir level2
  $ touch level2/1234567890.2345678901234567.34567890123456789012345
  $ makefs -t cd9660 -o isolevel=2 test.iso level2
  
  cd9660.c 1.32
  
  Sun Oct 9 21:33:43 2011 + (christos):
  
  add support for setting the ufs label. (Nathan Whitehorn)
  
  ffs.c 1.45
  ffs.h 1.2
  mkfs.c 1.22
  makefs.8 1.37
  
  Obtained from:NetBSD

Modified:
  head/usr.sbin/makefs/cd9660.c
  head/usr.sbin/makefs/ffs.c
  head/usr.sbin/makefs/ffs.h
  head/usr.sbin/makefs/ffs/mkfs.c
  head/usr.sbin/makefs/makefs.8

Modified: head/usr.sbin/makefs/cd9660.c
==
--- head/usr.sbin/makefs/cd9660.c   Tue Jul 19 18:31:19 2016
(r303037)
+++ head/usr.sbin/makefs/cd9660.c   Tue Jul 19 18:40:54 2016
(r303038)
@@ -1,4 +1,4 @@
-/* $NetBSD: cd9660.c,v 1.31 2011/08/06 23:25:19 christos Exp $ */
+/* $NetBSD: cd9660.c,v 1.32 2011/08/23 17:09:11 christos Exp $ */
 
 /*
  * Copyright (c) 2005 Daniel Watt, Walter Deignan, Ryan Gabrys, Alan

Modified: head/usr.sbin/makefs/ffs.c
==
--- head/usr.sbin/makefs/ffs.c  Tue Jul 19 18:31:19 2016(r303037)
+++ head/usr.sbin/makefs/ffs.c  Tue Jul 19 18:40:54 2016(r303038)
@@ -1,4 +1,4 @@
-/* $NetBSD: ffs.c,v 1.44 2009/04/28 22:49:26 joerg Exp $   */
+/* $NetBSD: ffs.c,v 1.45 2011/10/09 22:49:26 christos Exp $*/
 
 /*
  * Copyright (c) 2001 Wasabi Systems, Inc.

Modified: head/usr.sbin/makefs/ffs.h
==
--- head/usr.sbin/makefs/ffs.h  Tue Jul 19 18:31:19 2016(r303037)
+++ head/usr.sbin/makefs/ffs.h  Tue Jul 19 18:40:54 2016(r303038)
@@ -1,4 +1,4 @@
-/* $NetBSD: ffs.h,v 1.1 2004/12/20 20:51:42 jmc Exp $  */
+/* $NetBSD: ffs.h,v 1.2 2004/12/20 20:51:42 jmc Exp $  */
 
 /*
  * Copyright (c) 2001-2003 Wasabi Systems, Inc.

Modified: head/usr.sbin/makefs/ffs/mkfs.c
==
--- head/usr.sbin/makefs/ffs/mkfs.c Tue Jul 19 18:31:19 2016
(r303037)
+++ head/usr.sbin/makefs/ffs/mkfs.c Tue Jul 19 18:40:54 2016
(r303038)
@@ -1,4 +1,4 @@
-/* $NetBSD: mkfs.c,v 1.20 2004/06/24 22:30:13 lukem Exp $  */
+/* $NetBSD: mkfs.c,v 1.22 2011/10/09 22:30:13 christos Exp $   */
 
 /*
  * Copyright (c) 2002 Networks Associates Technology, Inc.

Modified: head/usr.sbin/makefs/makefs.8
==
--- head/usr.sbin/makefs/makefs.8   Tue Jul 19 18:31:19 2016
(r303037)
+++ head/usr.sbin/makefs/makefs.8   Tue Jul 19 18:40:54 2016
(r303038)
@@ -1,4 +1,4 @@
-.\"$NetBSD: makefs.8,v 1.32 2009/01/20 20:47:25 bjh21 Exp $
+.\"$NetBSD: makefs.8,v 1.33 2011/05/22 21:51:39 christos Exp $
 .\"
 .\" Copyright (c) 2001-2003 Wasabi Systems, Inc.
 .\" All rights reserved.
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to 

Re: svn commit: r303033 - head/share/man/man7

2016-07-19 Thread Nathan Whitehorn

Thank you! This is super useful.
-Nathan

On 07/19/16 10:46, Ed Maste wrote:

Author: emaste
Date: Tue Jul 19 17:46:09 2016
New Revision: 303033
URL: https://svnweb.freebsd.org/changeset/base/303033

Log:
   add an arch.7 man page with architecture-specific details
   
   Based on details collected on the wiki, at

   https://wiki.freebsd.org/EdMaste/ArchitectureSpecifics
   Further details to be added over time.
   
   Sponsored by:	The FreeBSD Foundation

   Differential Revision:   https://reviews.freebsd.org/D7096

Added:
   head/share/man/man7/arch.7   (contents, props changed)
Modified:
   head/share/man/man7/Makefile

Modified: head/share/man/man7/Makefile
==
--- head/share/man/man7/MakefileTue Jul 19 17:31:48 2016
(r303032)
+++ head/share/man/man7/MakefileTue Jul 19 17:46:09 2016
(r303033)
@@ -7,6 +7,7 @@ PACKAGE=runtime-manuals
  
  #MISSING: eqnchar.7 ms.7 term.7

  MAN=  adding_user.7 \
+   arch.7 \
ascii.7 \
bsd.snmpmod.mk.7 \
build.7 \

Added: head/share/man/man7/arch.7
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/share/man/man7/arch.7  Tue Jul 19 17:46:09 2016(r303033)
@@ -0,0 +1,171 @@
+.\" Copyright (c) 2016 The FreeBSD Foundation. All rights reserved.
+.\"
+.\" This documentation was created by Ed Maste under sponsorship of
+.\" The FreeBSD Foundation.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"notice, this list of conditions and the following disclaimer in the
+.\"documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd July 19, 2016
+.Dt ARCH 7
+.Os
+.Sh NAME
+.Nm arch
+.Nd Architecture-specific details
+.Sh DESCRIPTION
+Differences between CPU architectures and platforms supported by
+.Fx .
+.Pp
+.Ss Type sizes
+On all supported architectures,
+.Bl -column -offset -indent "long long" "Size"
+.It Sy Type Ta Sy Size
+.It short Ta 2
+.It int Ta 4
+.It long Ta sizeof(void*)
+.It long long Ta 8
+.It float Ta 4
+.It double Ta 8
+.El
+.Bl -column -offset indent ".Sy Architecture" ".Sy sizeof(void *)" ".Sy 
"sizeof(long double)"
+.It Sy Architecture Ta Sy sizeof(void *) Ta Sy sizeof(long double)
+.It amd64   Ta 8 Ta 16
+.It arm Ta 4 Ta  8
+.It armeb   Ta 4 Ta  8
+.It armv6   Ta 4 Ta  8
+.It arm64   Ta 8 Ta 16
+.It i386Ta 4 Ta 12
+.It mipsTa 4 Ta  8
+.It mipsel  Ta 4 Ta  8
+.It mipsn32 Ta 4 Ta  8
+.It mips64  Ta 8 Ta  8
+.It mips64elTa 8 Ta  8
+.It powerpc Ta 4 Ta  8
+.It powerpc64   Ta 8 Ta  8
+.It riscv   Ta 8 Ta
+.It sparc64 Ta 8 Ta 16
+.El
+.Ss Endianness and Char Signedness
+.Bl -column -offset indent ".Sy Architecture" ".Sy Endianness" ".Sy "char 
Signedness"
+.It Sy Architecture Ta Sy Endianness Ta Sy char Signedness
+.It amd64   Ta little Ta   signed
+.It arm Ta little Ta unsigned
+.It armeb   Ta bigTa unsigned
+.It armv6   Ta little Ta unsigned
+.It arm64   Ta little Ta unsigned
+.It i386Ta little Ta   signed
+.It mipsTa little Ta   signed
+.It mipsel  Ta bigTa   signed
+.It mipsn32 Ta little Ta   signed
+.It mips64  Ta little Ta   signed
+.It mips64elTa little Ta   signed
+.It powerpc Ta bigTa unsigned
+.It powerpc64   Ta bigTa unsigned
+.It riscv   Ta little Ta   signed
+.It sparc64 Ta bigTa   signed
+.El
+.Ss Page Size
+.Bl -column -offset indent ".Sy Architecture" ".Sy Page Sizes"
+.It Sy Architecture Ta Sy Page Sizes
+.It amd64   Ta 4K, 2M, 1G
+.It arm Ta 4K
+.It armeb   Ta 4K
+.It armv6   Ta 4K
+.It arm64   Ta 4K, 2M, 1G
+.It i386Ta 4K, 2M (PAE), 4M
+.It mipsTa 4K
+.It mipsel

Re: svn commit: r303037 - head/sys/kern

2016-07-19 Thread Ngie Cooper (yaneurabeya)

> On Jul 19, 2016, at 11:31, Randall Stewart  wrote:
> 
> Author: rrs
> Date: Tue Jul 19 18:31:19 2016
> New Revision: 303037
> URL: https://svnweb.freebsd.org/changeset/base/303037
> 
> Log:
>  This reverts out Gleb's changes and adds three small
>  fixes that I think closes up the races Gleb was
>  looking for. This is running quite nicely in Netflix and
>  now no longer causes TCP-tcb leaks.
> 
>  Differential Revision:   7135

This needs to be MFCed to ^/stable/11.
Thanks,
-Ngie


signature.asc
Description: Message signed with OpenPGP using GPGMail


svn commit: r303037 - head/sys/kern

2016-07-19 Thread Randall Stewart
Author: rrs
Date: Tue Jul 19 18:31:19 2016
New Revision: 303037
URL: https://svnweb.freebsd.org/changeset/base/303037

Log:
  This reverts out Gleb's changes and adds three small
  fixes that I think closes up the races Gleb was
  looking for. This is running quite nicely in Netflix and
  now no longer causes TCP-tcb leaks.
  
  Differential Revision:7135

Modified:
  head/sys/kern/kern_timeout.c

Modified: head/sys/kern/kern_timeout.c
==
--- head/sys/kern/kern_timeout.cTue Jul 19 18:15:22 2016
(r303036)
+++ head/sys/kern/kern_timeout.cTue Jul 19 18:31:19 2016
(r303037)
@@ -1050,7 +1050,7 @@ callout_reset_sbt_on(struct callout *c, 
 */
if (c->c_lock != NULL && !cc_exec_cancel(cc, direct))
cancelled = cc_exec_cancel(cc, direct) = true;
-   if (cc_exec_waiting(cc, direct)) {
+   if (cc_exec_waiting(cc, direct) || cc_exec_drain(cc, direct)) {
/*
 * Someone has called callout_drain to kill this
 * callout.  Don't reschedule.
@@ -1166,7 +1166,7 @@ _callout_stop_safe(struct callout *c, in
struct callout_cpu *cc, *old_cc;
struct lock_class *class;
int direct, sq_locked, use_lock;
-   int cancelled, not_on_a_list;
+   int not_on_a_list;
 
if ((flags & CS_DRAIN) != 0)
WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, c->c_lock,
@@ -1234,17 +1234,47 @@ again:
panic("migration should not happen");
 #endif
}
-
+   if ((drain != NULL) && (c->c_iflags & CALLOUT_PENDING) &&
+   (cc_exec_curr(cc, direct) != c)) {
+   /* 
+* This callout is executing and we are draining.
+* The only way this can happen is if its also
+* been rescheduled to run on one thread *and* asked to drain
+* on this thread (at the same time it is waiting to execute).
+*/
+   if ((c->c_iflags & CALLOUT_PROCESSED) == 0) {
+   if (cc_exec_next(cc) == c)
+   cc_exec_next(cc) = LIST_NEXT(c, c_links.le);
+   LIST_REMOVE(c, c_links.le);
+   } else {
+   TAILQ_REMOVE(>cc_expireq, c, c_links.tqe);
+   }
+   c->c_iflags &= ~CALLOUT_PENDING;
+   c->c_flags &= ~CALLOUT_ACTIVE;
+   }
/*
-* If the callout is running, try to stop it or drain it.
+* If the callout isn't pending, it's not on the queue, so
+* don't attempt to remove it from the queue.  We can try to
+* stop it by other means however.
 */
-   if (cc_exec_curr(cc, direct) == c) {
+   if (!(c->c_iflags & CALLOUT_PENDING)) {
/*
-* Succeed we to stop it or not, we must clear the
-* active flag - this is what API users expect.
+* If it wasn't on the queue and it isn't the current
+* callout, then we can't stop it, so just bail.
+* It probably has already been run (if locking
+* is properly done). You could get here if the caller
+* calls stop twice in a row for example. The second
+* call would fall here without CALLOUT_ACTIVE set.
 */
c->c_flags &= ~CALLOUT_ACTIVE;
-
+   if (cc_exec_curr(cc, direct) != c) {
+   CTR3(KTR_CALLOUT, "failed to stop %p func %p arg %p",
+   c, c->c_func, c->c_arg);
+   CC_UNLOCK(cc);
+   if (sq_locked)
+   sleepq_release(_exec_waiting(cc, direct));
+   return (-1);
+   }
if ((flags & CS_DRAIN) != 0) {
/*
 * The current callout is running (or just
@@ -1278,7 +1308,6 @@ again:
old_cc = cc;
goto again;
}
-
/*
 * Migration could be cancelled here, but
 * as long as it is still not sure when it
@@ -1362,6 +1391,8 @@ again:
cc_exec_drain(cc, direct) = drain;
}
CC_UNLOCK(cc);
+   if (drain)
+   return(0);
return ((flags & CS_EXECUTING) != 0);
}
CTR3(KTR_CALLOUT, "failed to stop %p func %p arg %p",
@@ -1369,20 +1400,12 @@ again:
if (drain) {
cc_exec_drain(cc, direct) = drain;
}
-   KASSERT(!sq_locked, 

Re: svn commit: r297023 - head/sbin/kldstat

2016-07-19 Thread Ken Merry

> On Mar 18, 2016, at 10:49 AM, Julian Elischer  wrote:
> 
> Author: julian
> Date: Fri Mar 18 14:49:11 2016
> New Revision: 297023
> URL: https://svnweb.freebsd.org/changeset/base/297023
> 
> Log:
>   Add the ability to print out ht emodule specific information in likely 
> formats.
>  Among other things this gives us the ability to find outthe syscall number 
> of a dynamically loaded syscall that has a dynamicly allocated vector number.
> 
>  MFC after:   1 week
>  Sponsored by:Panzura inc.
> 
> Modified:
>  head/sbin/kldstat/kldstat.8
>  head/sbin/kldstat/kldstat.c
> 
> Modified: head/sbin/kldstat/kldstat.8
> ==
> --- head/sbin/kldstat/kldstat.8   Fri Mar 18 13:32:37 2016
> (r297022)
> +++ head/sbin/kldstat/kldstat.8   Fri Mar 18 14:49:11 2016
> (r297023)
> @@ -36,10 +36,12 @@
> .Op Fl h
> .Op Fl q
> .Op Fl v
> +.Op Fl d
> .Op Fl i Ar id
> .Op Fl n Ar filename
> .Nm
> .Op Fl q
> +.Op Fl d
> .Op Fl m Ar modname
> .Sh DESCRIPTION
> The
> @@ -54,6 +56,8 @@ Display the size field in a human-readab
> instead of hex values.
> .It Fl v
> Be more verbose.
> +.It Fl d
> +Show the module specific data (as int, unsigned int and unsigned long)
> .It Fl i Ar id
> Display the status of only the file with this ID.
> .It Fl n Ar filename
> 
> Modified: head/sbin/kldstat/kldstat.c
> ==
> --- head/sbin/kldstat/kldstat.c   Fri Mar 18 13:32:37 2016
> (r297022)
> +++ head/sbin/kldstat/kldstat.c   Fri Mar 18 14:49:11 2016
> (r297023)
> @@ -36,19 +36,28 @@ __FBSDID("$FreeBSD$");
> #include 
> #include 
> #include 
> +#include 
> 
> #define   POINTER_WIDTH   ((int)(sizeof(void *) * 2 + 2))
> 
> +static int showdata = 0;
> +
> static void
> printmod(int modid)
> {
> struct module_stat stat;
> 
> +bzero(, sizeof(stat));
> stat.version = sizeof(struct module_stat);
> if (modstat(modid, ) < 0)
>   warn("can't stat module id %d", modid);
> else
> - printf("\t\t%2d %s\n", stat.id, stat.name);
> + if (showdata) {
> + printf("\t\t%2d %s (%d, %u, 0x%lx)\n", stat.id, stat.name, 
> + stat.data.intval, stat.data.uintval, stat.data.ulongval);
> + } else {
> + printf("\t\t%2d %s\n", stat.id, stat.name);
> + }
> }
> 
> static void
> @@ -88,8 +97,8 @@ printfile(int fileid, int verbose, int h
> static void
> usage(void)
> {
> -fprintf(stderr, "usage: kldstat [-h] [-q] [-v] [-i id] [-n filename]\n");
> -fprintf(stderr, "   kldstat [-q] [-m modname]\n");
> +fprintf(stderr, "usage: kldstata[-d] [-h] [-q] [-v] [-i id] [-n 
> filename]\n");
> +fprintf(stderr, "   kldstat [-d] [-q] [-m modname]\n”);

Looks like there is a typo in the usage.

Ken
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

svn commit: r303036 - head/usr.sbin/makefs

2016-07-19 Thread Ed Maste
Author: emaste
Date: Tue Jul 19 18:15:22 2016
New Revision: 303036
URL: https://svnweb.freebsd.org/changeset/base/303036

Log:
  makefs: reorder 'usage' alphabetically
  
  From NetBSD, Mon Aug 15 14:45:01 2011 + (wiz)
  
  Re-order `usage' alphabetically;
  rename option arguments in the manpage's `SYNOPSIS' section to
  match those from `usage' (not the other way around; the `usage'-line
  (and other parts of makefs.c) contain the correct names);
  minor punctuation improvements.
  
  From Snader_LB.
  
  makefs.8 1.36
  makefs.c 1.30
  
  Obtained from:NetBSD

Modified:
  head/usr.sbin/makefs/makefs.8
  head/usr.sbin/makefs/makefs.c

Modified: head/usr.sbin/makefs/makefs.8
==
--- head/usr.sbin/makefs/makefs.8   Tue Jul 19 18:07:47 2016
(r303035)
+++ head/usr.sbin/makefs/makefs.8   Tue Jul 19 18:15:22 2016
(r303036)
@@ -401,7 +401,8 @@ The
 utility appeared in
 .Nx 1.6 .
 .Sh AUTHORS
-.An Luke Mewburn Aq Mt lu...@netbsd.org
+.An Luke Mewburn
+.Aq Mt lu...@netbsd.org
 (original program),
 .An Daniel Watt ,
 .An Walter Deignan ,

Modified: head/usr.sbin/makefs/makefs.c
==
--- head/usr.sbin/makefs/makefs.c   Tue Jul 19 18:07:47 2016
(r303035)
+++ head/usr.sbin/makefs/makefs.c   Tue Jul 19 18:15:22 2016
(r303036)
@@ -403,10 +403,10 @@ usage(void)
 
prog = getprogname();
fprintf(stderr,
-"usage: %s [-t fs-type] [-o fs-options] [-d debug-mask] [-B endian]\n"
-"\t[-S sector-size] [-M minimum-size] [-m maximum-size] [-R roundup-size]\n"
-"\t[-s image-size] [-b free-blocks] [-f free-files] [-F mtree-specfile]\n"
-"\t[-xZ] [-N userdb-dir] [-T ]\n"
+"usage: %s [-xZ] [-B endian] [-b free-blocks] [-d debug-mask]\n"
+"\t[-F mtree-specfile] [-f free-files] [-M minimum-size] [-m maximum-size]\n"
+"\t[-N userdb-dir] [-o fs-options] [-R roundup-size] [-S sector-size]\n"
+"\t[-s image-size] [-T ] [-t fs-type]\n"
 "\timage-file directory | manifest [extra-directory ...]\n",
prog);
exit(1);
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r303035 - in head/sys: arm/broadcom/bcm2835 boot/fdt/dts/arm sys

2016-07-19 Thread Mark R V Murray
Hi *

I'm going to get a bollicking for the formatting in this. Apologies in advance!

M

> On 19 Jul 2016, at 19:07, Mark Murray  wrote:
> 
> Author: markm
> Date: Tue Jul 19 18:07:47 2016
> New Revision: 303035
> URL: https://svnweb.freebsd.org/changeset/base/303035
> 
> Log:
>  Random bit generator (RBG) driver for RPi and RPi2.
> 
>  Summary:
>  This driver supports the following methods to trigger gathering random bits 
> from the hardware:
>  1. interrupt when the FIFO is full (default) fed into the harvest queue
>  2. callout (when BCM2835_RNG_USE_CALLOUT is defined) every second if hz is 
> less than 100, otherwise hz / 100, feeding the random bits into the harvest 
> queue
> 
>  If the kernel is booted with verbose enabled, the contents of the registers 
> will be dumped after the RBG is started during the attach routine.
> 
>  Author: hackagadget_gmail.com (Stephen J. Kiernan)
> 
>  Test Plan: Built RPI2 kernel and booted on board. Tested the different 
> methods to feed the harvest queue (callout, interrupt) and the interrupt 
> driven approach seems best. However, keeping the other method for people to 
> be able to experiment with.
> 
>  Reviewed By: adrian, delphij, markm
> 
>  Differential Revision: https://reviews.freebsd.org/D6888
> 
> Added:
>  head/sys/arm/broadcom/bcm2835/bcm2835_rng.c   (contents, props changed)
> Modified:
>  head/sys/arm/broadcom/bcm2835/files.bcm283x
>  head/sys/boot/fdt/dts/arm/bcm2835.dtsi
>  head/sys/boot/fdt/dts/arm/bcm2836.dtsi
>  head/sys/sys/random.h
> 
> Added: head/sys/arm/broadcom/bcm2835/bcm2835_rng.c
> ==
> --- /dev/null 00:00:00 1970   (empty, because file is newly added)
> +++ head/sys/arm/broadcom/bcm2835/bcm2835_rng.c   Tue Jul 19 18:07:47 
> 2016(r303035)
> @@ -0,0 +1,534 @@
> +/*
> + * Copyright (c) 2015, 2016, Stephen J. Kiernan
> + * All rights reserved.
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + * 1. Redistributions of source code must retain the above copyright
> + *notice, this list of conditions and the following disclaimer.
> + * 2. Redistributions in binary form must reproduce the above copyright
> + *notice, this list of conditions and the following disclaimer in the
> + *documentation and/or other materials provided with the distribution.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
> + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> + * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
> + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
> + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
> + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
> + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
> + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> + * SUCH DAMAGE.
> + */
> +
> +#include 
> +
> +__FBSDID("$FreeBSD$");
> +
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +#include 
> +
> +#include 
> +#include 
> +
> +#include 
> +#include 
> +#include 
> +
> +#include 
> +#include 
> +
> +#if !defined(BCM2835_RNG_USE_CALLOUT)
> +#define  BCM2835_RNG_USE_INTERRUPT
> +#endif
> +
> +static device_attach_t bcm2835_rng_attach;
> +static device_detach_t bcm2835_rng_detach;
> +static device_probe_t bcm2835_rng_probe;
> +
> +#define  RNG_CTRL0x00/* RNG Control Register 
> */
> +#define  RNG_COMBLK1_OSC 0x003f  /*  Combiner Blk 1 
> Oscillator */
> +#define  RNG_COMBLK1_OSC_SHIFT   16
> +#define  RNG_COMBLK2_OSC 0x0fc0  /*  Combiner Blk 2 
> Oscillator */
> +#define  RNG_COMBLK2_OSC_SHIFT   22
> +#define  RNG_JCLK_BYP_DIV_CNT0xff00  /*  Jitter clk bypass 
> divider
> + count */
> +#define  RNG_JCLK_BYP_DIV_CNT_SHIFT 8
> +#define  RNG_JCLK_BYP_SRC0x0020  /*  Jitter clk bypass 
> source */
> +#define  RNG_JCLK_BYP_SEL0x0010  /*  Jitter clk bypass 
> select */
> +#define  RNG_RBG2X   0x0002  /*  RBG 2X SPEED */
> +#define  RNG_RBGEN_BIT   0x0001  /*  Enable RNG bit */
> +
> +#define  RNG_STATUS  0x04/* RNG status register 
> */
> +#define  RND_VAL_SHIFT   24  /*  Shift for valid 
> words */
> +#define  RND_VAL_MASK0x00ff  /*  Number valid 

svn commit: r303035 - in head/sys: arm/broadcom/bcm2835 boot/fdt/dts/arm sys

2016-07-19 Thread Mark Murray
Author: markm
Date: Tue Jul 19 18:07:47 2016
New Revision: 303035
URL: https://svnweb.freebsd.org/changeset/base/303035

Log:
  Random bit generator (RBG) driver for RPi and RPi2.
  
  Summary:
  This driver supports the following methods to trigger gathering random bits 
from the hardware:
  1. interrupt when the FIFO is full (default) fed into the harvest queue
  2. callout (when BCM2835_RNG_USE_CALLOUT is defined) every second if hz is 
less than 100, otherwise hz / 100, feeding the random bits into the harvest 
queue
  
  If the kernel is booted with verbose enabled, the contents of the registers 
will be dumped after the RBG is started during the attach routine.
  
  Author: hackagadget_gmail.com (Stephen J. Kiernan)
  
  Test Plan: Built RPI2 kernel and booted on board. Tested the different 
methods to feed the harvest queue (callout, interrupt) and the interrupt driven 
approach seems best. However, keeping the other method for people to be able to 
experiment with.
  
  Reviewed By: adrian, delphij, markm
  
  Differential Revision: https://reviews.freebsd.org/D6888

Added:
  head/sys/arm/broadcom/bcm2835/bcm2835_rng.c   (contents, props changed)
Modified:
  head/sys/arm/broadcom/bcm2835/files.bcm283x
  head/sys/boot/fdt/dts/arm/bcm2835.dtsi
  head/sys/boot/fdt/dts/arm/bcm2836.dtsi
  head/sys/sys/random.h

Added: head/sys/arm/broadcom/bcm2835/bcm2835_rng.c
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/arm/broadcom/bcm2835/bcm2835_rng.c Tue Jul 19 18:07:47 2016
(r303035)
@@ -0,0 +1,534 @@
+/*
+ * Copyright (c) 2015, 2016, Stephen J. Kiernan
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include 
+
+__FBSDID("$FreeBSD$");
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+
+#include 
+#include 
+#include 
+
+#include 
+#include 
+
+#if !defined(BCM2835_RNG_USE_CALLOUT)
+#defineBCM2835_RNG_USE_INTERRUPT
+#endif
+
+static device_attach_t bcm2835_rng_attach;
+static device_detach_t bcm2835_rng_detach;
+static device_probe_t bcm2835_rng_probe;
+
+#defineRNG_CTRL0x00/* RNG Control Register 
*/
+#defineRNG_COMBLK1_OSC 0x003f  /*  Combiner Blk 1 
Oscillator */
+#defineRNG_COMBLK1_OSC_SHIFT   16
+#defineRNG_COMBLK2_OSC 0x0fc0  /*  Combiner Blk 2 
Oscillator */
+#defineRNG_COMBLK2_OSC_SHIFT   22
+#defineRNG_JCLK_BYP_DIV_CNT0xff00  /*  Jitter clk bypass 
divider
+   count */
+#defineRNG_JCLK_BYP_DIV_CNT_SHIFT 8
+#defineRNG_JCLK_BYP_SRC0x0020  /*  Jitter clk bypass 
source */
+#defineRNG_JCLK_BYP_SEL0x0010  /*  Jitter clk bypass 
select */
+#defineRNG_RBG2X   0x0002  /*  RBG 2X SPEED */
+#defineRNG_RBGEN_BIT   0x0001  /*  Enable RNG bit */
+
+#defineRNG_STATUS  0x04/* RNG status register 
*/
+#defineRND_VAL_SHIFT   24  /*  Shift for valid 
words */
+#defineRND_VAL_MASK0x00ff  /*  Number valid words 
mask */
+#defineRND_VAL_WARM_CNT0x4 /*  RNG Warm Up count */
+#defineRND_WARM_CNT0xf /*  RNG Warm Up Count 
mask */
+
+#defineRNG_DATA0x08/* RNG Data Register */
+#defineRNG_FF_THRES0x0c
+#defineRNG_FF_THRES_MASK   0x001f
+

svn commit: r303034 - head

2016-07-19 Thread Ed Maste
Author: emaste
Date: Tue Jul 19 18:05:25 2016
New Revision: 303034
URL: https://svnweb.freebsd.org/changeset/base/303034

Log:
  Include makewhatis in ITOOLS when MK_MAN_UTILS is true
  
  Previously it was conditional on MK_MAN. It's possible to build
  FreeBSD with man pages but without man page tools. MK_MAN_UTILS
  is the conditional used in share/man/Makefile for determining whether
  makewhatis is executed at install time, so it is the proper one for
  ITOOLS as well.
  
  PR:   210142
  MFC after:1 week

Modified:
  head/Makefile.inc1

Modified: head/Makefile.inc1
==
--- head/Makefile.inc1  Tue Jul 19 17:46:09 2016(r303033)
+++ head/Makefile.inc1  Tue Jul 19 18:05:25 2016(r303034)
@@ -884,7 +884,7 @@ ITOOLS= [ awk cap_mkdb cat chflags chmod
${LOCAL_ITOOLS}
 
 # Needed for share/man
-.if ${MK_MAN} != "no"
+.if ${MK_MAN_UTILS} != "no"
 ITOOLS+=makewhatis
 .endif
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303033 - head/share/man/man7

2016-07-19 Thread Ed Maste
Author: emaste
Date: Tue Jul 19 17:46:09 2016
New Revision: 303033
URL: https://svnweb.freebsd.org/changeset/base/303033

Log:
  add an arch.7 man page with architecture-specific details
  
  Based on details collected on the wiki, at
  https://wiki.freebsd.org/EdMaste/ArchitectureSpecifics
  Further details to be added over time.
  
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D7096

Added:
  head/share/man/man7/arch.7   (contents, props changed)
Modified:
  head/share/man/man7/Makefile

Modified: head/share/man/man7/Makefile
==
--- head/share/man/man7/MakefileTue Jul 19 17:31:48 2016
(r303032)
+++ head/share/man/man7/MakefileTue Jul 19 17:46:09 2016
(r303033)
@@ -7,6 +7,7 @@ PACKAGE=runtime-manuals
 
 #MISSING: eqnchar.7 ms.7 term.7
 MAN=   adding_user.7 \
+   arch.7 \
ascii.7 \
bsd.snmpmod.mk.7 \
build.7 \

Added: head/share/man/man7/arch.7
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/share/man/man7/arch.7  Tue Jul 19 17:46:09 2016(r303033)
@@ -0,0 +1,171 @@
+.\" Copyright (c) 2016 The FreeBSD Foundation. All rights reserved.
+.\"
+.\" This documentation was created by Ed Maste under sponsorship of
+.\" The FreeBSD Foundation.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"notice, this list of conditions and the following disclaimer in the
+.\"documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd July 19, 2016
+.Dt ARCH 7
+.Os
+.Sh NAME
+.Nm arch
+.Nd Architecture-specific details
+.Sh DESCRIPTION
+Differences between CPU architectures and platforms supported by
+.Fx .
+.Pp
+.Ss Type sizes
+On all supported architectures,
+.Bl -column -offset -indent "long long" "Size"
+.It Sy Type Ta Sy Size
+.It short Ta 2
+.It int Ta 4
+.It long Ta sizeof(void*)
+.It long long Ta 8
+.It float Ta 4
+.It double Ta 8
+.El
+.Bl -column -offset indent ".Sy Architecture" ".Sy sizeof(void *)" ".Sy 
"sizeof(long double)"
+.It Sy Architecture Ta Sy sizeof(void *) Ta Sy sizeof(long double)
+.It amd64   Ta 8 Ta 16
+.It arm Ta 4 Ta  8
+.It armeb   Ta 4 Ta  8
+.It armv6   Ta 4 Ta  8
+.It arm64   Ta 8 Ta 16
+.It i386Ta 4 Ta 12
+.It mipsTa 4 Ta  8
+.It mipsel  Ta 4 Ta  8
+.It mipsn32 Ta 4 Ta  8
+.It mips64  Ta 8 Ta  8
+.It mips64elTa 8 Ta  8
+.It powerpc Ta 4 Ta  8
+.It powerpc64   Ta 8 Ta  8
+.It riscv   Ta 8 Ta
+.It sparc64 Ta 8 Ta 16
+.El
+.Ss Endianness and Char Signedness
+.Bl -column -offset indent ".Sy Architecture" ".Sy Endianness" ".Sy "char 
Signedness"
+.It Sy Architecture Ta Sy Endianness Ta Sy char Signedness
+.It amd64   Ta little Ta   signed
+.It arm Ta little Ta unsigned
+.It armeb   Ta bigTa unsigned
+.It armv6   Ta little Ta unsigned
+.It arm64   Ta little Ta unsigned
+.It i386Ta little Ta   signed
+.It mipsTa little Ta   signed
+.It mipsel  Ta bigTa   signed
+.It mipsn32 Ta little Ta   signed
+.It mips64  Ta little Ta   signed
+.It mips64elTa little Ta   signed
+.It powerpc Ta bigTa unsigned
+.It powerpc64   Ta bigTa unsigned
+.It riscv   Ta little Ta   signed
+.It sparc64 Ta bigTa   signed
+.El
+.Ss Page Size
+.Bl -column -offset indent ".Sy Architecture" ".Sy Page Sizes"
+.It Sy Architecture Ta Sy Page Sizes
+.It amd64   Ta 4K, 2M, 1G
+.It arm Ta 4K
+.It armeb   Ta 4K
+.It armv6   Ta 4K
+.It arm64   Ta 4K, 2M, 1G
+.It i386Ta 4K, 2M (PAE), 4M
+.It mipsTa 4K
+.It mipsel  Ta 4K
+.It mipsn32 Ta 4K
+.It mips64  Ta 4K
+.It mips64elTa 4K
+.It powerpc

svn commit: r303032 - head/sys/dev/ixgbe

2016-07-19 Thread Sean Bruno
Author: sbruno
Date: Tue Jul 19 17:31:48 2016
New Revision: 303032
URL: https://svnweb.freebsd.org/changeset/base/303032

Log:
  Fixup DA cable detection routines to not set the cable type to
  unknown if they do not match one of two cable types.
  
  PR:   150249
  Submitted by: bor...@sarenet.es
  Reviewed by:  erj
  MFC after:3 days

Modified:
  head/sys/dev/ixgbe/ixgbe_phy.c

Modified: head/sys/dev/ixgbe/ixgbe_phy.c
==
--- head/sys/dev/ixgbe/ixgbe_phy.c  Tue Jul 19 17:15:07 2016
(r303031)
+++ head/sys/dev/ixgbe/ixgbe_phy.c  Tue Jul 19 17:31:48 2016
(r303032)
@@ -1534,21 +1534,18 @@ s32 ixgbe_identify_sfp_module_generic(st
hw->phy.type = ixgbe_phy_sfp_intel;
break;
default:
-   if (cable_tech & IXGBE_SFF_DA_PASSIVE_CABLE)
-   hw->phy.type =
-ixgbe_phy_sfp_passive_unknown;
-   else if (cable_tech & IXGBE_SFF_DA_ACTIVE_CABLE)
-   hw->phy.type =
-   ixgbe_phy_sfp_active_unknown;
-   else
-   hw->phy.type = ixgbe_phy_sfp_unknown;
+   hw->phy.type = ixgbe_phy_sfp_unknown;
break;
}
}
 
/* Allow any DA cable vendor */
if (cable_tech & (IXGBE_SFF_DA_PASSIVE_CABLE |
-   IXGBE_SFF_DA_ACTIVE_CABLE)) {
+   IXGBE_SFF_DA_ACTIVE_CABLE)) {
+   if (cable_tech & IXGBE_SFF_DA_PASSIVE_CABLE)
+   hw->phy.type = ixgbe_phy_sfp_passive_unknown;
+   else if (cable_tech & IXGBE_SFF_DA_ACTIVE_CABLE)
+   hw->phy.type = ixgbe_phy_sfp_active_unknown;
status = IXGBE_SUCCESS;
goto out;
}
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303031 - head/contrib/llvm/tools/clang/lib/Driver

2016-07-19 Thread Ed Maste
Author: emaste
Date: Tue Jul 19 17:15:07 2016
New Revision: 303031
URL: https://svnweb.freebsd.org/changeset/base/303031

Log:
  clang++: Always use --eh-frame-hdr on FreeBSD, even for -static
  
  FreeBSD uses LLVM's libunwind on FreeBSD/arm64 today (and we expect to
  use it more widely in the future) and it requires the EH frame segment
  in static binaries.
  
  Reviewed by:  dim
  Obtained from:Clang commit r266123
  MFC after:3 days
  Relnotes: yes
  Sponsored by: The FreeBSD Foundation
  Differential Revision:https://reviews.freebsd.org/D7250

Modified:
  head/contrib/llvm/tools/clang/lib/Driver/Tools.cpp

Modified: head/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
==
--- head/contrib/llvm/tools/clang/lib/Driver/Tools.cpp  Tue Jul 19 16:55:16 
2016(r303030)
+++ head/contrib/llvm/tools/clang/lib/Driver/Tools.cpp  Tue Jul 19 17:15:07 
2016(r303031)
@@ -7922,12 +7922,12 @@ void freebsd::Linker::ConstructJob(Compi
   if (IsPIE)
 CmdArgs.push_back("-pie");
 
+  CmdArgs.push_back("--eh-frame-hdr");
   if (Args.hasArg(options::OPT_static)) {
 CmdArgs.push_back("-Bstatic");
   } else {
 if (Args.hasArg(options::OPT_rdynamic))
   CmdArgs.push_back("-export-dynamic");
-CmdArgs.push_back("--eh-frame-hdr");
 if (Args.hasArg(options::OPT_shared)) {
   CmdArgs.push_back("-Bshareable");
 } else {
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303030 - head/share/misc

2016-07-19 Thread Glen Barber
Author: gjb
Date: Tue Jul 19 16:55:16 2016
New Revision: 303030
URL: https://svnweb.freebsd.org/changeset/base/303030

Log:
  Fix the previous commit to the family tree file.  It is too early
  to list 11.0, and we do not list -CURRENT here.
  
  Submitted by: maxim
  Sponsored by: The FreeBSD Foundation

Modified:
  head/share/misc/bsd-family-tree

Modified: head/share/misc/bsd-family-tree
==
--- head/share/misc/bsd-family-tree Tue Jul 19 16:46:27 2016
(r303029)
+++ head/share/misc/bsd-family-tree Tue Jul 19 16:55:16 2016
(r303030)
@@ -691,8 +691,6 @@ OpenBSD 5.8 2015-10-18 [OBD]
 DragonFly 4.4.12015-12-07 [DFB]
 OpenBSD 5.92016-03-29 [OBD]
 FreeBSD 10.3   2016-04-04 [FBD]
-FreeBSD 11.0   2016-06-08 [FBD]
-FreeBSD 12.0   2016-06-09 [FBD]
 
 Bibliography
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r303028 - head/share/misc

2016-07-19 Thread Glen Barber
On Tue, Jul 19, 2016 at 07:51:34PM +0300, Maxim Konovalov wrote:
> On Tue, 19 Jul 2016, 16:46-, Glen Barber wrote:
> 
> > On Tue, Jul 19, 2016 at 07:42:03PM +0300, Maxim Konovalov wrote:
> > > On Tue, 19 Jul 2016, 16:34-, Glen Barber wrote:
> > >
> > > > Author: gjb
> > > > Date: Tue Jul 19 16:34:49 2016
> > > > New Revision: 303028
> > > > URL: https://svnweb.freebsd.org/changeset/base/303028
> > > >
> > > > Log:
> > > >   Belatedly add FreeBSD 11.0 and 12.0 to the family tree file.
> > > >
> > > >   Submitted by: des (a while back)
> > > >   Sponsored by: The FreeBSD Foundation
> > > >
> > > The file lists releases not branches.  I don't think we have 11.0 or
> > > 12.0 released.
> > >
> >
> > Honestly, I am not sure about anything in this file.  :)
> >
> > There was an entry for 11-current though.  Is the dated-part of the
> > commit the problem, or is the entire change wrong?  If the latter, I'll
> > look at it again (or even revert it, and let someone who knows how this
> > file is supposed to be updated handle it).
> >
> Just dates are incorrect.
> 

Ok, I'll remove them now.  Thank you for reporting this.

Glen



signature.asc
Description: PGP signature


Re: svn commit: r303028 - head/share/misc

2016-07-19 Thread Maxim Konovalov
On Tue, 19 Jul 2016, 16:46-, Glen Barber wrote:

> On Tue, Jul 19, 2016 at 07:42:03PM +0300, Maxim Konovalov wrote:
> > On Tue, 19 Jul 2016, 16:34-, Glen Barber wrote:
> >
> > > Author: gjb
> > > Date: Tue Jul 19 16:34:49 2016
> > > New Revision: 303028
> > > URL: https://svnweb.freebsd.org/changeset/base/303028
> > >
> > > Log:
> > >   Belatedly add FreeBSD 11.0 and 12.0 to the family tree file.
> > >
> > >   Submitted by:   des (a while back)
> > >   Sponsored by:   The FreeBSD Foundation
> > >
> > The file lists releases not branches.  I don't think we have 11.0 or
> > 12.0 released.
> >
>
> Honestly, I am not sure about anything in this file.  :)
>
> There was an entry for 11-current though.  Is the dated-part of the
> commit the problem, or is the entire change wrong?  If the latter, I'll
> look at it again (or even revert it, and let someone who knows how this
> file is supposed to be updated handle it).
>
Just dates are incorrect.

-- 
Maxim Konovalov
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303029 - in stable/11: share/man/man4 sys/dev/mpr sys/dev/mps

2016-07-19 Thread Stephen McConnell
Author: slm
Date: Tue Jul 19 16:46:27 2016
New Revision: 303029
URL: https://svnweb.freebsd.org/changeset/base/303029

Log:
  MFC r302673
  Use real values to calculate Max I/O size instead of guessing.
  
  Reviewed by:  ken, scottl
  Approved by:  re(gjb), ken, scottl, ambrisko (mentors)
  Differential Revision:https://reviews.freebsd.org/D7043

Modified:
  stable/11/share/man/man4/mpr.4
  stable/11/share/man/man4/mps.4
  stable/11/sys/dev/mpr/mpr.c
  stable/11/sys/dev/mpr/mpr_sas.c
  stable/11/sys/dev/mpr/mprvar.h
  stable/11/sys/dev/mps/mps.c
  stable/11/sys/dev/mps/mps_sas.c
  stable/11/sys/dev/mps/mpsvar.h
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/share/man/man4/mpr.4
==
--- stable/11/share/man/man4/mpr.4  Tue Jul 19 16:34:49 2016
(r303028)
+++ stable/11/share/man/man4/mpr.4  Tue Jul 19 16:46:27 2016
(r303029)
@@ -38,7 +38,7 @@
 .\" $Id$
 .\" $FreeBSD$
 .\"
-.Dd April 29, 2016
+.Dd July 6, 2016
 .Dt MPR 4
 .Os
 .Sh NAME
@@ -156,6 +156,29 @@ The current number of active I/O command
 dev.mpr.X.io_cmds_active
 .Xr sysctl 8
 variable.
+.Ed
+.Pp
+To set the maximum number of pages that will be used per I/O for all adapters,
+set this tunable in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+hw.mpr.max_io_pages=
+.Ed
+.Pp
+To set the maximum number of pages that will be used per I/O for a specific
+adapter, set this tunable in
+.Xr loader.conf 5 :
+.Bd -literal -offset indent
+dev.mpr.X.max_io_pages=
+.Ed
+.Pp
+The default max_io_pages value is -1, meaning that the maximum I/O size that
+will be used per I/O will be calculated using the IOCFacts values stored in
+the controller.
+The lowest value that the driver will use for max_io_pages is 1, otherwise
+IOCFacts will be used to calculate the maximum I/O size.
+The smaller I/O size calculated from either max_io_pages or IOCFacts will be 
the
+maximum I/O size used by the driver.
 .Pp
 The highest number of active I/O commands seen since boot is stored in the
 dev.mpr.X.io_cmds_highwater
@@ -220,7 +243,7 @@ SATA disks that take several seconds to 
 command might not be discovered by the driver.
 This problem can sometimes be overcome by increasing the value of the spinup
 wait time in
-.Xr loader.conf 5 :
+.Xr loader.conf 5
 with the
 .Bd -literal -offset indent
 hw.mpr.spinup_wait_time=

Modified: stable/11/share/man/man4/mps.4
==
--- stable/11/share/man/man4/mps.4  Tue Jul 19 16:34:49 2016
(r303028)
+++ stable/11/share/man/man4/mps.4  Tue Jul 19 16:46:27 2016
(r303029)
@@ -1,5 +1,8 @@
 .\"
 .\" Copyright (c) 2010 Spectra Logic Corporation
+.\" Copyright (c) 2014 LSI Corp
+.\" Copyright (c) 2016 Avago Technologies
+.\" Copyright (c) 2016 Broadcom Ltd.
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -30,25 +33,27 @@
 .\" mps driver man page.
 .\"
 .\" Author: Ken Merry 
+.\" Author: Stephen McConnell 
 .\"
 .\" $Id: //depot/SpectraBSD/head/share/man/man4/mps.4#6 $
 .\" $FreeBSD$
 .\"
-.Dd December 9, 2015
+.Dd July 5, 2016
 .Dt MPS 4
 .Os
 .Sh NAME
 .Nm mps
-.Nd LSI Fusion-MPT 2 Serial Attached SCSI driver
+.Nd "LSI Fusion-MPT 2 IT/IR 6Gb/s Serial Attached SCSI/SATA driver"
 .Sh SYNOPSIS
-To compile this driver into your kernel,
-place the following lines in your kernel configuration file:
+To compile this driver into the kernel, place these lines in the kernel
+configuration file:
 .Bd -ragged -offset indent
+.Cd "device pci"
 .Cd "device scbus"
 .Cd "device mps"
 .Ed
 .Pp
-Or, to load the driver as a module at boot, place the following line in
+The driver can be loaded as a module at boot time by placing this line in
 .Xr loader.conf 5 :
 .Bd -literal -offset indent
 mps_load="YES"
@@ -56,35 +61,30 @@ mps_load="YES"
 .Sh DESCRIPTION
 The
 .Nm
-driver provides support for LSI Logic Fusion-MPT 2
+driver provides support for Broadcom Ltd./Avago Tech (LSI)
+Fusion-MPT 2 IT/IR
 .Tn SAS
 controllers and WarpDrive solid state storage cards.
 .Sh HARDWARE
-The
+These controllers are supported by the
 .Nm
-driver supports the following hardware:
+driver:
 .Pp
 .Bl -bullet -compact
 .It
-LSI Logic SAS2004 (4 Port
-.Tn SAS )
+Broadcom Ltd./Avago Tech (LSI) SAS 2004 (4 Port SAS)
 .It
-LSI Logic SAS2008 (8 Port
-.Tn SAS )
+Broadcom Ltd./Avago Tech (LSI) SAS 2008 (8 Port SAS)
 .It
-LSI Logic SAS2108 (8 Port
-.Tn SAS )
+Broadcom Ltd./Avago Tech (LSI) SAS 2108 (8 Port SAS)
 .It
-LSI Logic SAS2116 (16 Port
-.Tn SAS )
+Broadcom Ltd./Avago Tech (LSI) SAS 2116 (16 Port SAS)
 .It
-LSI Logic SAS2208 (8 Port
-.Tn SAS )
+Broadcom Ltd./Avago Tech (LSI) SAS 2208 (8 Port SAS)
 .It
-LSI Logic SAS2308 (8 Port
-.Tn SAS )
+Broadcom Ltd./Avago Tech (LSI) SAS 2308 (8 Port SAS)
 .It
-LSI Logic SSS6200 Solid State Storage
+Broadcom Ltd./Avago 

Re: svn commit: r303028 - head/share/misc

2016-07-19 Thread Glen Barber
On Tue, Jul 19, 2016 at 07:42:03PM +0300, Maxim Konovalov wrote:
> On Tue, 19 Jul 2016, 16:34-, Glen Barber wrote:
> 
> > Author: gjb
> > Date: Tue Jul 19 16:34:49 2016
> > New Revision: 303028
> > URL: https://svnweb.freebsd.org/changeset/base/303028
> >
> > Log:
> >   Belatedly add FreeBSD 11.0 and 12.0 to the family tree file.
> >
> >   Submitted by: des (a while back)
> >   Sponsored by: The FreeBSD Foundation
> >
> The file lists releases not branches.  I don't think we have 11.0 or
> 12.0 released.
> 

Honestly, I am not sure about anything in this file.  :)

There was an entry for 11-current though.  Is the dated-part of the
commit the problem, or is the entire change wrong?  If the latter, I'll
look at it again (or even revert it, and let someone who knows how this
file is supposed to be updated handle it).

Glen



signature.asc
Description: PGP signature


Re: svn commit: r303028 - head/share/misc

2016-07-19 Thread Maxim Konovalov
On Tue, 19 Jul 2016, 16:34-, Glen Barber wrote:

> Author: gjb
> Date: Tue Jul 19 16:34:49 2016
> New Revision: 303028
> URL: https://svnweb.freebsd.org/changeset/base/303028
>
> Log:
>   Belatedly add FreeBSD 11.0 and 12.0 to the family tree file.
>
>   Submitted by:   des (a while back)
>   Sponsored by:   The FreeBSD Foundation
>
The file lists releases not branches.  I don't think we have 11.0 or
12.0 released.

-- 
Maxim Konovalov
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303028 - head/share/misc

2016-07-19 Thread Glen Barber
Author: gjb
Date: Tue Jul 19 16:34:49 2016
New Revision: 303028
URL: https://svnweb.freebsd.org/changeset/base/303028

Log:
  Belatedly add FreeBSD 11.0 and 12.0 to the family tree file.
  
  Submitted by: des (a while back)
  Sponsored by: The FreeBSD Foundation

Modified:
  head/share/misc/bsd-family-tree

Modified: head/share/misc/bsd-family-tree
==
--- head/share/misc/bsd-family-tree Tue Jul 19 16:22:50 2016
(r303027)
+++ head/share/misc/bsd-family-tree Tue Jul 19 16:34:49 2016
(r303028)
@@ -339,7 +339,11 @@ FreeBSD 5.2   |  |  
  |  FreeBSD   |  |OpenBSD 5.9  |
  |   10.3 |  | |   |
  ||  | |   |
-FreeBSD 11 -current   |  NetBSD -current  OpenBSD -current DragonFly 
-current
+ *--FreeBSD   |  | |   |
+ |   11.0 |  | |   |
+ ||  | |   |
+ ||  | |   |
+FreeBSD 12 -current   |  NetBSD -current  OpenBSD -current DragonFly 
-current
  ||  | |   |
  vv  v v   v
 
@@ -687,6 +691,8 @@ OpenBSD 5.8 2015-10-18 [OBD]
 DragonFly 4.4.12015-12-07 [DFB]
 OpenBSD 5.92016-03-29 [OBD]
 FreeBSD 10.3   2016-04-04 [FBD]
+FreeBSD 11.0   2016-06-08 [FBD]
+FreeBSD 12.0   2016-06-09 [FBD]
 
 Bibliography
 
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303027 - in stable/11/release: . scripts

2016-07-19 Thread Glen Barber
Author: gjb
Date: Tue Jul 19 16:22:50 2016
New Revision: 303027
URL: https://svnweb.freebsd.org/changeset/base/303027

Log:
  Reduce the disc1.iso size from 850+M to just over 650M.
  
  As a result of this change, the 'kernel-dbg.txz' distribution
  is no longer provided on disc1.iso, and deselected by default
  in bsdinstall(8).  When 'kernel-dbg.txz' is selected, network
  configuration happens before the installer proceeds, to fetch
  the distribution from the mirrors.
  
  This is a direct commit to stable/11, as there is intention
  to solve this differently for 12.0-RELEASE.
  
  Reviewed by:  nwhitehorn (glanced at)
  Approved by:  re (hrs)
  Sponsored by: The FreeBSD Foundation

Modified:
  stable/11/release/Makefile
  stable/11/release/scripts/make-manifest.sh

Modified: stable/11/release/Makefile
==
--- stable/11/release/Makefile  Tue Jul 19 16:02:07 2016(r303026)
+++ stable/11/release/Makefile  Tue Jul 19 16:22:50 2016(r303027)
@@ -172,11 +172,12 @@ disc1: packagesystem
mkdir -p ${.TARGET}
cd ${WORLDDIR} && ${IMAKE} installkernel installworld distribution \
DESTDIR=${.OBJDIR}/${.TARGET} MK_RESCUE=no MK_KERNEL_SYMBOLS=no 
\
-   MK_PROFILE=no MK_SENDMAIL=no MK_TESTS=no MK_LIB32=no \
-   MK_DEBUG_FILES=no
+   MK_PROFILE=no MK_MAIL=no MK_TESTS=no MK_LIB32=no \
+   MK_DEBUG_FILES=no MK_LLDB=no \
+   MK_TOOLCHAIN=no
 # Copy distfiles
mkdir -p ${.TARGET}/usr/freebsd-dist
-   for dist in MANIFEST $$(ls *.txz | grep -vE -- '(base|lib32)-dbg'); \
+   for dist in MANIFEST $$(ls *.txz | grep -vE -- 
'(base|lib32|kernel)-dbg'); \
do cp $${dist} ${.TARGET}/usr/freebsd-dist; \
done
 # Copy documentation, if generated

Modified: stable/11/release/scripts/make-manifest.sh
==
--- stable/11/release/scripts/make-manifest.sh  Tue Jul 19 16:02:07 2016
(r303026)
+++ stable/11/release/scripts/make-manifest.sh  Tue Jul 19 16:22:50 2016
(r303027)
@@ -36,7 +36,7 @@ default_tests=off
 default_base_dbg=off
 default_lib32_dbg=off
 default_kernel_alt=off
-default_kernel_dbg=on
+default_kernel_dbg=off
 default_kernel_alt_dbg=off
 
 for i in ${*}; do
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303026 - head/usr.sbin/acpi/acpidump

2016-07-19 Thread Andrew Turner
Author: andrew
Date: Tue Jul 19 16:02:07 2016
New Revision: 303026
URL: https://svnweb.freebsd.org/changeset/base/303026

Log:
  Add missing flags from acpidump. These are defined in the header, but not
  printed. The HW_REDUCED flag is useful as it should be set on arm64 to
  comply with the ARM Server Base Boot Requirements.
  
  Obtained from:ABT Systems Ltd
  MFC after:1 month
  Sponsored by: The FreeBSD Foundation

Modified:
  head/usr.sbin/acpi/acpidump/acpi.c

Modified: head/usr.sbin/acpi/acpidump/acpi.c
==
--- head/usr.sbin/acpi/acpidump/acpi.c  Tue Jul 19 11:16:44 2016
(r303025)
+++ head/usr.sbin/acpi/acpidump/acpi.c  Tue Jul 19 16:02:07 2016
(r303026)
@@ -1177,6 +1177,7 @@ acpi_print_fadt(ACPI_TABLE_HEADER *sdp)
PRINTFLAG(fadt->BootFlags, NO_VGA);
PRINTFLAG(fadt->BootFlags, NO_MSI);
PRINTFLAG(fadt->BootFlags, NO_ASPM);
+   PRINTFLAG(fadt->BootFlags, NO_CMOS_RTC);
PRINTFLAG_END();
 
printf("\tFlags=");
@@ -1200,6 +1201,8 @@ acpi_print_fadt(ACPI_TABLE_HEADER *sdp)
PRINTFLAG(fadt->Flags, REMOTE_POWER_ON);
PRINTFLAG(fadt->Flags, APIC_CLUSTER);
PRINTFLAG(fadt->Flags, APIC_PHYSICAL);
+   PRINTFLAG(fadt->Flags, HW_REDUCED);
+   PRINTFLAG(fadt->Flags, LOW_POWER_S0);
PRINTFLAG_END();
 
 #undef PRINTFLAG
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


Re: svn commit: r301453 - in head/sys: arm/arm arm64/arm64 dev/fdt dev/gpio dev/iicbus dev/ofw dev/pci dev/vnic kern mips/mips sys

2016-07-19 Thread Nathan Whitehorn

On 07/19/16 04:13, Michal Meloun wrote:

Dne 19.07.2016 v 2:11 Nathan Whitehorn napsal(a):
Hi Nathan,
I’m afraid that skra is on vacation, for next 2 weeks (at minimum), so
please don’t expect quick response.


Could you please describe what this change is in more detail?

Short description is appended.


It breaks a lot of encapsulations we have worked very hard to maintain,
moves ARM code into MI parts of the kernel, and the OFW parts violate
IEEE 1275 (the Open Firmware standard). In particular, there is no
guarantee that the interrupts for a newbus (or OF) device are encoded in
a property called "interrupts" (or, indeed, in any property at all) on
that node and there are many, many device trees where that is not the
case (e.g. ones with interrupt maps, as well as Apple hardware). By
putting that knowledge into the OF root bus device, which we have tried
to keep it out of, this enforces a standard that doesn't actually exist.

Imho, this patch doesn’t change anything in this area. Only handling of
“interrupts” property is changed, all other cases are unchanged (I
hope).  Also, INTRNG code is currently shared by ARM, ARM64 and MIPS.


I'm hesitant to ask for reversion on something that landed 6 weeks ago
without me noticing, but this needs a lot more architectural work before
any parts of the kernel should use it.
-Nathan

I think that it’s too late.  This patch series consist of r301451
(https://reviews.freebsd.org/D6632),
r301453, r301539 and 301543.  And new GPIO interrupts are currently used
(by in tree drivers or in development trees).




[See other email for information for detail on why I am concerned about 
this code]


Looking through those commits and the current state of HEAD, it turns 
out bus_map_intr() is not yet used anywhere in the tree; there is just a 
stub implementation in dev/ofw/ofwbus.c and a prototype that is never 
called in sys/bus.h. As such, I would in fact like to ask for the 
reversion of both r301451 and r301453 at this point, especially from the 
stable/11 branch. Adding a new API is something we can do to stable/11 
at any point; removing one, or changing one, is something we cannot do.


After that, I am more than happy to help move ARM code to use the 
existing dev/ofw scheme for handling interrupt metadata.

-Nathan
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Re: svn commit: r301453 - in head/sys: arm/arm arm64/arm64 dev/fdt dev/gpio dev/iicbus dev/ofw dev/pci dev/vnic kern mips/mips sys

2016-07-19 Thread Nathan Whitehorn



On 07/19/16 04:13, Michal Meloun wrote:

Dne 19.07.2016 v 2:11 Nathan Whitehorn napsal(a):
Hi Nathan,
I’m afraid that skra is on vacation, for next 2 weeks (at minimum), so
please don’t expect quick response.


Could you please describe what this change is in more detail?

Short description is appended.


It breaks a lot of encapsulations we have worked very hard to maintain,
moves ARM code into MI parts of the kernel, and the OFW parts violate
IEEE 1275 (the Open Firmware standard). In particular, there is no
guarantee that the interrupts for a newbus (or OF) device are encoded in
a property called "interrupts" (or, indeed, in any property at all) on
that node and there are many, many device trees where that is not the
case (e.g. ones with interrupt maps, as well as Apple hardware). By
putting that knowledge into the OF root bus device, which we have tried
to keep it out of, this enforces a standard that doesn't actually exist.

Imho, this patch doesn’t change anything in this area. Only handling of
“interrupts” property is changed, all other cases are unchanged (I
hope).  Also, INTRNG code is currently shared by ARM, ARM64 and MIPS.


But "interrupts" isn't a generic part of OF. This makes it one, incorrectly.




I'm hesitant to ask for reversion on something that landed 6 weeks ago
without me noticing, but this needs a lot more architectural work before
any parts of the kernel should use it.
-Nathan

I think that it’s too late.  This patch series consist of r301451
(https://reviews.freebsd.org/D6632),
r301453, r301539 and 301543.  And new GPIO interrupts are currently used
(by in tree drivers or in development trees).


Well, then we need in-place rearchitecture.




The root of problem is that standard way of delivering interrupt
resource to consumer driver doesn’t works in OFW world.

So we have some fact:
- the format of interrupt property is dependent of interrupt
   controller and only interrupt controller can parse it.
- the interrupt property can have more data than just interrupt
   number.
- single interrupt controller must be able to handle multiple
   format of interrupt description.

In pre-patchset era, simplebus enumerates children and attempts to set
memory and interrupts to resource list for them. But the interrupt
controllers are not yet populated so nobody can parse interrupt
property. Moreover, in all cases (parsed or not), we cannot store
complete interrupt description into resource list.


We have done this for many years on PowerPC and sparc64 with delayed 
configuration of interrupts and a look-up table. This handles 
complicated bus configurations better than this code and requires no 
changes outside of a few MD files. That is why the (now partially 
duplicated) OFW_BUS_MAP_INTR() function exists. That one also has the 
benefit of still working when used in conjunction with, e.g., devices 
with an interrupt-map-mask property.




The patch simply postpones reading of interrupt property to
bus_alloc_resource() (called by consumer driver) time.

Due to this, we can:
- parse  interrupt property. The interrupt driver must exist
   at this time.


This only works with some types of interrupt properties, not all, and 
breaks if the interrupt driver hasn't attached yet (which it can't be 
guaranteed to -- some PPC systems have interrupt drivers that live on 
the PCI bus, for example).



- bus_alloc_resource() returns resource, so we can attach parsed
   interrupt data to it. By this, the resource itself can be used
   for delivering configuration data to subsequent call to
   bus_setup_intr() (or to all related  bus_() calls).


The patched code still accepts delivering of interrupts in resource list.

Michal



Given that other code depends on this, fixing it will likely require 
some complex work. I wish I had known about it when it went in.


There are three main problems:
1. It doesn't work for interrupts defined by other mechanisms (e.g. 
interrupt-map properties)
2. It partially duplicates the functionality of OFW_BUS_MAP_INTR(), but 
is both problematically more general and less flexible (it has 
requirements on timing of PIC attachment vs. driver resource allocation)
3. It is not fully transparent to end code. Since it happens at 
bus_alloc_resource() time, it is complicated to get the appropriate 
values for IRQs constructed by composite techniques (interrupt-map vs. 
interrupts vs. hand allocation vs. PCI routing, for example). It is much 
easier to do this correctly at bus attach time when the resource lists 
are made (how PPC does it).


(1) is easy to fix without API changes, but (2) and (3) are fundamental 
architectural problems that will bite us immediately down the road and 
cause a permanent schism between OF support on different platforms.


Let me describe how this is handled on PowerPC (Linux on PPC solves the 
problem the same way). When constructing a resource list, bus drivers 
that construct them from OF properties call ofw_bus_map_intr() with the 

Re: svn commit: r302998 - head/sys/kern

2016-07-19 Thread Randall Stewart via svn-src-all
Well 

The code itself I had up on machines for probably about 2 months. But then
I switched over to Gleb’s changes here just recently .. which caused me all
kinds of fun :)

I had to go back into Mercurial to pull back my changes.. I have had the
resurrected changes running on my netflix machines for about 20 or so
hours generating about anywhere from 14Gbps to 32Gbps depending on the machine
type.

I plan on waiting until tomorrow to sync it down into the NF code base. 

Note that if you do decide instead to roll back to the 10.x kern_timeout.c you
will need to roll back a bunch of tcp changes as well that use the new
async_drain() interface.

I am game either way for you to proceed.. I will commit this current code
to head as long as I hear no objections (from Gleb or others)….

R

> On Jul 19, 2016, at 3:56 PM, Glen Barber  wrote:
> 
> On Tue, Jul 19, 2016 at 03:46:54PM +0200, Randall Stewart wrote:
>> Glen:
>> 
>> My changes work.. I have them running in NF in  at least 1/2 dozen machines.
>> 
> 
> For how long?  What are the uptimes on these machines?
> 
> This is the blocker for 11.0-BETA2, and I don't want to see more
> regressions being introduced at this point of the cycle.
> 
> Glen
> 
>> I am more than willing to commit them.. they actually are not much different 
>> than
>> whats in stable 10.. though I don’t know if the async-drain was MFC’d 
>> there.. it
>> needs to be in for TCP.. or else you will have yet another mess in that
>> respect (TCP depends on ASYNC-drain).
>> 
>> I can commit what I have.. if you like.. or not.. I really don’t care (I 
>> hate kern_timeout.c :-o)
>> 
>> R
>>> On Jul 19, 2016, at 2:25 PM, Glen Barber  wrote:
>>> 
>>> On Tue, Jul 19, 2016 at 01:43:16PM +0200, Randall Stewart wrote:
 Gleb
 
 Ok
 
 I have now updated
 
 https://reviews.freebsd.org/D7135
 
 You can take this or not… I really don’t care either way… (you are welcome 
 to
 own the kern_timeout.c code I hate it) :-)
 
 Basically when you went off and re-factored kern_timeout.c I had worked in 
 parallel on fixing
 the bugs you were seeing.. There were three distinct problems that I 
 fixed… but then
 you had refactored the stop() routine.. and I thought ok.. thats fine. I 
 had actually thought about
 doing something similar to what you did and was too chicken to poke that 
 much at it.. it has
 always had a nasty habit of biting back when you make a lot of changes :-D
 
 I know my version has worked for quite some time in my testing so I 
 brought it back.
 Complete with its 3 return codes (I only recently switched to your version 
 and thus
 started having difficulties with leaks and crashes)….
 
 You are welcome not to use this..  I know it works (it ran
 on a number of machines at NF last night.. and we will of course continue 
 testing
 it as we finish our dev testing for the upcoming OCA software release).. 
 For now
 this is what will be going out into the OCA’s at least :-)
 
>>> 
>>> I'm honestly done with this topic, and at the point now where I'm
>>> considering backing out all changes to callout(9) and related changes to
>>> the state they were at in stable/10.
>>> 
>>> This changes the KBI, and if it needs to be done, it needs to happen
>>> now.  We cannot wait for RC1 phase for this, and the amount of churn to
>>> get things into a working state with the current implementation far
>>> outweighs the benefit of the dangers.
>>> 
>>> Glen
>>> 
>> 
>> 
>> Randall Stewart
>> r...@netflix.com
>> 803-317-4952
>> 
>> 
>> 
>> 
>> 


Randall Stewart
r...@netflix.com
803-317-4952





___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Re: svn commit: r302998 - head/sys/kern

2016-07-19 Thread Glen Barber
On Tue, Jul 19, 2016 at 03:46:54PM +0200, Randall Stewart wrote:
> Glen:
> 
> My changes work.. I have them running in NF in  at least 1/2 dozen machines.
> 

For how long?  What are the uptimes on these machines?

This is the blocker for 11.0-BETA2, and I don't want to see more
regressions being introduced at this point of the cycle.

Glen

> I am more than willing to commit them.. they actually are not much different 
> than
> whats in stable 10.. though I don’t know if the async-drain was MFC’d there.. 
> it
> needs to be in for TCP.. or else you will have yet another mess in that
> respect (TCP depends on ASYNC-drain).
> 
> I can commit what I have.. if you like.. or not.. I really don’t care (I hate 
> kern_timeout.c :-o)
> 
> R
> > On Jul 19, 2016, at 2:25 PM, Glen Barber  wrote:
> > 
> > On Tue, Jul 19, 2016 at 01:43:16PM +0200, Randall Stewart wrote:
> >> Gleb
> >> 
> >> Ok
> >> 
> >> I have now updated
> >> 
> >> https://reviews.freebsd.org/D7135
> >> 
> >> You can take this or not… I really don’t care either way… (you are welcome 
> >> to
> >> own the kern_timeout.c code I hate it) :-)
> >> 
> >> Basically when you went off and re-factored kern_timeout.c I had worked in 
> >> parallel on fixing
> >> the bugs you were seeing.. There were three distinct problems that I 
> >> fixed… but then
> >> you had refactored the stop() routine.. and I thought ok.. thats fine. I 
> >> had actually thought about
> >> doing something similar to what you did and was too chicken to poke that 
> >> much at it.. it has
> >> always had a nasty habit of biting back when you make a lot of changes :-D
> >> 
> >> I know my version has worked for quite some time in my testing so I 
> >> brought it back.
> >> Complete with its 3 return codes (I only recently switched to your version 
> >> and thus
> >> started having difficulties with leaks and crashes)….
> >> 
> >> You are welcome not to use this..  I know it works (it ran
> >> on a number of machines at NF last night.. and we will of course continue 
> >> testing
> >> it as we finish our dev testing for the upcoming OCA software release).. 
> >> For now
> >> this is what will be going out into the OCA’s at least :-)
> >> 
> > 
> > I'm honestly done with this topic, and at the point now where I'm
> > considering backing out all changes to callout(9) and related changes to
> > the state they were at in stable/10.
> > 
> > This changes the KBI, and if it needs to be done, it needs to happen
> > now.  We cannot wait for RC1 phase for this, and the amount of churn to
> > get things into a working state with the current implementation far
> > outweighs the benefit of the dangers.
> > 
> > Glen
> > 
> 
> 
> Randall Stewart
> r...@netflix.com
> 803-317-4952
> 
> 
> 
> 
> 


signature.asc
Description: PGP signature


Re: svn commit: r302998 - head/sys/kern

2016-07-19 Thread Randall Stewart via svn-src-all
Glen:

My changes work.. I have them running in NF in  at least 1/2 dozen machines.

I am more than willing to commit them.. they actually are not much different 
than
whats in stable 10.. though I don’t know if the async-drain was MFC’d there.. it
needs to be in for TCP.. or else you will have yet another mess in that
respect (TCP depends on ASYNC-drain).

I can commit what I have.. if you like.. or not.. I really don’t care (I hate 
kern_timeout.c :-o)

R
> On Jul 19, 2016, at 2:25 PM, Glen Barber  wrote:
> 
> On Tue, Jul 19, 2016 at 01:43:16PM +0200, Randall Stewart wrote:
>> Gleb
>> 
>> Ok
>> 
>> I have now updated
>> 
>> https://reviews.freebsd.org/D7135
>> 
>> You can take this or not… I really don’t care either way… (you are welcome to
>> own the kern_timeout.c code I hate it) :-)
>> 
>> Basically when you went off and re-factored kern_timeout.c I had worked in 
>> parallel on fixing
>> the bugs you were seeing.. There were three distinct problems that I fixed… 
>> but then
>> you had refactored the stop() routine.. and I thought ok.. thats fine. I had 
>> actually thought about
>> doing something similar to what you did and was too chicken to poke that 
>> much at it.. it has
>> always had a nasty habit of biting back when you make a lot of changes :-D
>> 
>> I know my version has worked for quite some time in my testing so I brought 
>> it back.
>> Complete with its 3 return codes (I only recently switched to your version 
>> and thus
>> started having difficulties with leaks and crashes)….
>> 
>> You are welcome not to use this..  I know it works (it ran
>> on a number of machines at NF last night.. and we will of course continue 
>> testing
>> it as we finish our dev testing for the upcoming OCA software release).. For 
>> now
>> this is what will be going out into the OCA’s at least :-)
>> 
> 
> I'm honestly done with this topic, and at the point now where I'm
> considering backing out all changes to callout(9) and related changes to
> the state they were at in stable/10.
> 
> This changes the KBI, and if it needs to be done, it needs to happen
> now.  We cannot wait for RC1 phase for this, and the amount of churn to
> get things into a working state with the current implementation far
> outweighs the benefit of the dangers.
> 
> Glen
> 


Randall Stewart
r...@netflix.com
803-317-4952





___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Re: svn commit: r302998 - head/sys/kern

2016-07-19 Thread Glen Barber
On Tue, Jul 19, 2016 at 01:43:16PM +0200, Randall Stewart wrote:
> Gleb
> 
> Ok
> 
> I have now updated
> 
> https://reviews.freebsd.org/D7135
> 
> You can take this or not… I really don’t care either way… (you are welcome to
> own the kern_timeout.c code I hate it) :-)
> 
> Basically when you went off and re-factored kern_timeout.c I had worked in 
> parallel on fixing
> the bugs you were seeing.. There were three distinct problems that I fixed… 
> but then
> you had refactored the stop() routine.. and I thought ok.. thats fine. I had 
> actually thought about
> doing something similar to what you did and was too chicken to poke that much 
> at it.. it has
> always had a nasty habit of biting back when you make a lot of changes :-D
> 
> I know my version has worked for quite some time in my testing so I brought 
> it back.
> Complete with its 3 return codes (I only recently switched to your version 
> and thus
> started having difficulties with leaks and crashes)….
> 
> You are welcome not to use this..  I know it works (it ran
> on a number of machines at NF last night.. and we will of course continue 
> testing
> it as we finish our dev testing for the upcoming OCA software release).. For 
> now
> this is what will be going out into the OCA’s at least :-)
> 

I'm honestly done with this topic, and at the point now where I'm
considering backing out all changes to callout(9) and related changes to
the state they were at in stable/10.

This changes the KBI, and if it needs to be done, it needs to happen
now.  We cannot wait for RC1 phase for this, and the amount of churn to
get things into a working state with the current implementation far
outweighs the benefit of the dangers.

Glen



signature.asc
Description: PGP signature


Re: svn commit: r302998 - head/sys/kern

2016-07-19 Thread Randall Stewart via svn-src-all
Gleb

Ok

I have now updated

https://reviews.freebsd.org/D7135

You can take this or not… I really don’t care either way… (you are welcome to
own the kern_timeout.c code I hate it) :-)

Basically when you went off and re-factored kern_timeout.c I had worked in 
parallel on fixing
the bugs you were seeing.. There were three distinct problems that I fixed… but 
then
you had refactored the stop() routine.. and I thought ok.. thats fine. I had 
actually thought about
doing something similar to what you did and was too chicken to poke that much 
at it.. it has
always had a nasty habit of biting back when you make a lot of changes :-D

I know my version has worked for quite some time in my testing so I brought it 
back.
Complete with its 3 return codes (I only recently switched to your version and 
thus
started having difficulties with leaks and crashes)….

You are welcome not to use this..  I know it works (it ran
on a number of machines at NF last night.. and we will of course continue 
testing
it as we finish our dev testing for the upcoming OCA software release).. For now
this is what will be going out into the OCA’s at least :-)

R

> On Jul 18, 2016, at 6:19 PM, Randall Stewart  wrote:
> 
> I have worked out a fix of this in Netflix code base (I have the same code 
> running there). I
> will get that tested tonight I will get the fixes in to restore the behavior.
> 
> I will setup a phabricator shortly.. most likely I will update the one I 
> already
> have on the one problem your earlier patch did not fix.
> 
> R
>> On Jul 18, 2016, at 5:44 PM, Randall Stewart  wrote:
>> 
>> Gleb:
>> 
>> This now leaks TCP-PCB’s since you have broken the return codes with all your
>> fixes that used to be in here.
>> 
>> It was
>> 
>> return 1 — You stopped the callout
>> return 0 — The callout could not be stopped
>> return -1 — The callout was not running.
>> 
>> The LLRef code that was crashing in in.c depended on this to know to free
>> the memory.. i.e. if was > 0 then they needed to free the memory.
>> 
>> TCP depends on a return 0 to indicate the async-drain function will be 
>> called back and
>> thus increments a refcnt and waits for the callback.
>> 
>> You now return 0 when no timer was active.. which makes the stack then wait
>> for the not forth coming async-drain call.
>> 
>> R
>>> On Jul 18, 2016, at 11:29 AM, Gleb Smirnoff  wrote:
>>> 
>>> Author: glebius
>>> Date: Mon Jul 18 09:29:08 2016
>>> New Revision: 302998
>>> URL: https://svnweb.freebsd.org/changeset/base/302998
>>> 
>>> Log:
>>> Revert the last commit. It must get more review and testing first.
>>> 
>>> Modified:
>>> head/sys/kern/kern_timeout.c
>>> 
>>> Modified: head/sys/kern/kern_timeout.c
>>> ==
>>> --- head/sys/kern/kern_timeout.cMon Jul 18 09:26:06 2016
>>> (r302997)
>>> +++ head/sys/kern/kern_timeout.cMon Jul 18 09:29:08 2016
>>> (r302998)
>>> @@ -1381,7 +1381,7 @@ again:
>>> CTR3(KTR_CALLOUT, "failed to stop %p func %p arg %p",
>>> c, c->c_func, c->c_arg);
>>> CC_UNLOCK(cc);
>>> -   return (-1);
>>> +   return (0);
>>> }
>>> 
>>> c->c_iflags &= ~CALLOUT_PENDING;
>>> 
>> 
>> 
>> Randall Stewart
>> r...@netflix.com
>> 803-317-4952
>> 
>> 
>> 
>> 
>> 
> 
> 
> Randall Stewart
> r...@netflix.com
> 803-317-4952
> 
> 
> 
> 
> 


Randall Stewart
r...@netflix.com
803-317-4952





___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Re: svn commit: r301453 - in head/sys: arm/arm arm64/arm64 dev/fdt dev/gpio dev/iicbus dev/ofw dev/pci dev/vnic kern mips/mips sys

2016-07-19 Thread Michal Meloun
Dne 19.07.2016 v 2:11 Nathan Whitehorn napsal(a):
Hi Nathan,
I’m afraid that skra is on vacation, for next 2 weeks (at minimum), so
please don’t expect quick response.

> Could you please describe what this change is in more detail?
Short description is appended.

> 
> It breaks a lot of encapsulations we have worked very hard to maintain,
> moves ARM code into MI parts of the kernel, and the OFW parts violate
> IEEE 1275 (the Open Firmware standard). In particular, there is no
> guarantee that the interrupts for a newbus (or OF) device are encoded in
> a property called "interrupts" (or, indeed, in any property at all) on
> that node and there are many, many device trees where that is not the
> case (e.g. ones with interrupt maps, as well as Apple hardware). By
> putting that knowledge into the OF root bus device, which we have tried
> to keep it out of, this enforces a standard that doesn't actually exist.
Imho, this patch doesn’t change anything in this area. Only handling of
“interrupts” property is changed, all other cases are unchanged (I
hope).  Also, INTRNG code is currently shared by ARM, ARM64 and MIPS.

> 
> I'm hesitant to ask for reversion on something that landed 6 weeks ago
> without me noticing, but this needs a lot more architectural work before
> any parts of the kernel should use it.
> -Nathan
I think that it’s too late.  This patch series consist of r301451
(https://reviews.freebsd.org/D6632),
r301453, r301539 and 301543.  And new GPIO interrupts are currently used
(by in tree drivers or in development trees).



The root of problem is that standard way of delivering interrupt
resource to consumer driver doesn’t works in OFW world.

So we have some fact:
- the format of interrupt property is dependent of interrupt
  controller and only interrupt controller can parse it.
- the interrupt property can have more data than just interrupt
  number.
- single interrupt controller must be able to handle multiple
  format of interrupt description.

In pre-patchset era, simplebus enumerates children and attempts to set
memory and interrupts to resource list for them. But the interrupt
controllers are not yet populated so nobody can parse interrupt
property. Moreover, in all cases (parsed or not), we cannot store
complete interrupt description into resource list.

The patch simply postpones reading of interrupt property to
bus_alloc_resource() (called by consumer driver) time.

Due to this, we can:
- parse  interrupt property. The interrupt driver must exist
  at this time.
- bus_alloc_resource() returns resource, so we can attach parsed
  interrupt data to it. By this, the resource itself can be used
  for delivering configuration data to subsequent call to
  bus_setup_intr() (or to all related  bus_() calls).


The patched code still accepts delivering of interrupts in resource list.

Michal

___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

svn commit: r303025 - head/sys/netinet

2016-07-19 Thread Michael Tuexen
Author: tuexen
Date: Tue Jul 19 11:16:44 2016
New Revision: 303025
URL: https://svnweb.freebsd.org/changeset/base/303025

Log:
  Use correct order of conditions to avoid NULL deref.
  
  MFC after:3 days
  X-MFC with:   r302935

Modified:
  head/sys/netinet/sctp_indata.c

Modified: head/sys/netinet/sctp_indata.c
==
--- head/sys/netinet/sctp_indata.c  Tue Jul 19 09:48:08 2016
(r303024)
+++ head/sys/netinet/sctp_indata.c  Tue Jul 19 11:16:44 2016
(r303025)
@@ -831,7 +831,7 @@ restart:
SCTP_READ_LOCK_NOT_HELD, 
SCTP_SO_NOT_LOCKED);
}
sctp_wakeup_the_read_socket(stcb->sctp_ep, 
stcb, SCTP_SO_NOT_LOCKED);
-   if (!TAILQ_EMPTY(>reasm) && 
(nc->first_frag_seen)) {
+   if ((nc->first_frag_seen) && 
!TAILQ_EMPTY(>reasm)) {
/*
 * Switch to the new guy and
 * continue
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303024 - head/sys/netinet

2016-07-19 Thread Michael Tuexen
Author: tuexen
Date: Tue Jul 19 09:48:08 2016
New Revision: 303024
URL: https://svnweb.freebsd.org/changeset/base/303024

Log:
  netstat and sockstat expect the IPv6 link local addresses to
  have an embedded scope. So don't recover.
  
  MFC after:3 days

Modified:
  head/sys/netinet/sctp_sysctl.c

Modified: head/sys/netinet/sctp_sysctl.c
==
--- head/sys/netinet/sctp_sysctl.c  Tue Jul 19 07:51:22 2016
(r303023)
+++ head/sys/netinet/sctp_sysctl.c  Tue Jul 19 09:48:08 2016
(r303024)
@@ -279,15 +279,6 @@ sctp_sysctl_copy_out_local_addresses(str
if 
(IN6_IS_ADDR_LINKLOCAL(>sin6_addr)) {
if (local_scope == 0)
continue;
-   if (sin6->sin6_scope_id 
== 0) {
-   /*
-* bad link
-* local
-* address
-*/
-   if 
(sa6_recoverscope(sin6) != 0)
-   
continue;
-   }
}
if ((site_scope == 0) && 
(IN6_IS_ADDR_SITELOCAL(>sin6_addr)))
continue;
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"


svn commit: r303023 - in head/sys: conf dev/hyperv/vmbus modules/hyperv/vmbus

2016-07-19 Thread Sepherosa Ziehau
Author: sephe
Date: Tue Jul 19 07:51:22 2016
New Revision: 303023
URL: https://svnweb.freebsd.org/changeset/base/303023

Log:
  hyperv/vmbus: Rename laundered vmbus channel code
  
  MFC after:1 week
  Sponsored by: Microsoft OSTC
  Differential Revision:https://reviews.freebsd.org/D7232

Added:
  head/sys/dev/hyperv/vmbus/vmbus_chan.c
 - copied unchanged from r303022, head/sys/dev/hyperv/vmbus/hv_channel.c
Deleted:
  head/sys/dev/hyperv/vmbus/hv_channel.c
Modified:
  head/sys/conf/files.amd64
  head/sys/conf/files.i386
  head/sys/modules/hyperv/vmbus/Makefile

Modified: head/sys/conf/files.amd64
==
--- head/sys/conf/files.amd64   Tue Jul 19 06:04:44 2016(r303022)
+++ head/sys/conf/files.amd64   Tue Jul 19 07:51:22 2016(r303023)
@@ -270,11 +270,11 @@ dev/hyperv/utilities/hv_kvp.c 
optiona
 dev/hyperv/utilities/hv_shutdown.c optionalhyperv
 dev/hyperv/utilities/hv_timesync.c optionalhyperv
 dev/hyperv/utilities/hv_util.c optionalhyperv
-dev/hyperv/vmbus/hv_channel.c  optionalhyperv
 dev/hyperv/vmbus/hv_ring_buffer.c  optionalhyperv
 dev/hyperv/vmbus/hyperv.c  optionalhyperv
 dev/hyperv/vmbus/hyperv_busdma.c   optionalhyperv
 dev/hyperv/vmbus/vmbus.c   optionalhyperv
+dev/hyperv/vmbus/vmbus_chan.c  optionalhyperv
 dev/hyperv/vmbus/vmbus_et.coptionalhyperv
 dev/hyperv/vmbus/vmbus_if.moptionalhyperv
 dev/hyperv/vmbus/amd64/hyperv_machdep.coptional
hyperv

Modified: head/sys/conf/files.i386
==
--- head/sys/conf/files.i386Tue Jul 19 06:04:44 2016(r303022)
+++ head/sys/conf/files.i386Tue Jul 19 07:51:22 2016(r303023)
@@ -246,11 +246,11 @@ dev/hyperv/utilities/hv_kvp.c 
optiona
 dev/hyperv/utilities/hv_shutdown.c optionalhyperv
 dev/hyperv/utilities/hv_timesync.c optionalhyperv
 dev/hyperv/utilities/hv_util.c optionalhyperv
-dev/hyperv/vmbus/hv_channel.c  optionalhyperv
 dev/hyperv/vmbus/hv_ring_buffer.c  optionalhyperv
 dev/hyperv/vmbus/hyperv.c  optionalhyperv
 dev/hyperv/vmbus/hyperv_busdma.c   optionalhyperv
 dev/hyperv/vmbus/vmbus.c   optionalhyperv
+dev/hyperv/vmbus/vmbus_chan.c  optionalhyperv
 dev/hyperv/vmbus/vmbus_et.coptionalhyperv
 dev/hyperv/vmbus/vmbus_if.moptionalhyperv
 dev/hyperv/vmbus/i386/hyperv_machdep.c optionalhyperv

Copied: head/sys/dev/hyperv/vmbus/vmbus_chan.c (from r303022, 
head/sys/dev/hyperv/vmbus/hv_channel.c)
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/dev/hyperv/vmbus/vmbus_chan.c  Tue Jul 19 07:51:22 2016
(r303023, copy of r303022, head/sys/dev/hyperv/vmbus/hv_channel.c)
@@ -0,0 +1,1380 @@
+/*-
+ * Copyright (c) 2009-2012,2016 Microsoft Corp.
+ * Copyright (c) 2012 NetApp Inc.
+ * Copyright (c) 2012 Citrix Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice unmodified, this list of conditions, and the following
+ *disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, 

svn commit: r303022 - head/sys/dev/hyperv/vmbus

2016-07-19 Thread Sepherosa Ziehau
Author: sephe
Date: Tue Jul 19 06:04:44 2016
New Revision: 303022
URL: https://svnweb.freebsd.org/changeset/base/303022

Log:
  hyperv/vmbus: Temp/internal variable/function rename
  
  MFC after:1 week
  Sponsored by: Microsoft OSTC
  Differential Revision:https://reviews.freebsd.org/D7231

Modified:
  head/sys/dev/hyperv/vmbus/hv_channel.c

Modified: head/sys/dev/hyperv/vmbus/hv_channel.c
==
--- head/sys/dev/hyperv/vmbus/hv_channel.c  Tue Jul 19 05:57:19 2016
(r303021)
+++ head/sys/dev/hyperv/vmbus/hv_channel.c  Tue Jul 19 06:04:44 2016
(r303022)
@@ -51,7 +51,7 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 
-static voidvmbus_chan_send_event(hv_vmbus_channel* channel);
+static voidvmbus_chan_signal_tx(struct hv_vmbus_channel *chan);
 static voidvmbus_chan_update_evtflagcnt(struct vmbus_softc *,
const struct hv_vmbus_channel *);
 
@@ -81,20 +81,20 @@ vmbus_chan_msgprocs[VMBUS_CHANMSG_TYPE_M
  *  @brief Trigger an event notification on the specified channel
  */
 static void
-vmbus_chan_send_event(hv_vmbus_channel *channel)
+vmbus_chan_signal_tx(struct hv_vmbus_channel *chan)
 {
-   struct vmbus_softc *sc = channel->vmbus_sc;
-   uint32_t chanid = channel->ch_id;
+   struct vmbus_softc *sc = chan->vmbus_sc;
+   uint32_t chanid = chan->ch_id;
 
atomic_set_long(>vmbus_tx_evtflags[chanid >> VMBUS_EVTFLAG_SHIFT],
1UL << (chanid & VMBUS_EVTFLAG_MASK));
 
-   if (channel->ch_flags & VMBUS_CHAN_FLAG_HASMNF) {
+   if (chan->ch_flags & VMBUS_CHAN_FLAG_HASMNF) {
atomic_set_int(
-   >vmbus_mnf2->mnf_trigs[channel->ch_montrig_idx].mt_pending,
-   channel->ch_montrig_mask);
+   >vmbus_mnf2->mnf_trigs[chan->ch_montrig_idx].mt_pending,
+   chan->ch_montrig_mask);
} else {
-   hypercall_signal_event(channel->ch_monprm_dma.hv_paddr);
+   hypercall_signal_event(chan->ch_monprm_dma.hv_paddr);
}
 }
 
@@ -637,7 +637,7 @@ vmbus_chan_send(struct hv_vmbus_channel 
 
error = hv_ring_buffer_write(>outbound, iov, 3, _evt);
if (!error && send_evt)
-   vmbus_chan_send_event(chan);
+   vmbus_chan_signal_tx(chan);
return error;
 }
 
@@ -677,7 +677,7 @@ vmbus_chan_send_sglist(struct hv_vmbus_c
 
error = hv_ring_buffer_write(>outbound, iov, 4, _evt);
if (!error && send_evt)
-   vmbus_chan_send_event(chan);
+   vmbus_chan_signal_tx(chan);
return error;
 }
 
@@ -719,7 +719,7 @@ vmbus_chan_send_prplist(struct hv_vmbus_
 
error = hv_ring_buffer_write(>outbound, iov, 4, _evt);
if (!error && send_evt)
-   vmbus_chan_send_event(chan);
+   vmbus_chan_signal_tx(chan);
return error;
 }
 
@@ -838,20 +838,20 @@ vmbus_event_flags_proc(struct vmbus_soft
chid_base = f << VMBUS_EVTFLAG_SHIFT;
 
while ((chid_ofs = ffsl(flags)) != 0) {
-   struct hv_vmbus_channel *channel;
+   struct hv_vmbus_channel *chan;
 
--chid_ofs; /* NOTE: ffsl is 1-based */
flags &= ~(1UL << chid_ofs);
 
-   channel = sc->vmbus_chmap[chid_base + chid_ofs];
+   chan = sc->vmbus_chmap[chid_base + chid_ofs];
 
/* if channel is closed or closing */
-   if (channel == NULL || channel->ch_tq == NULL)
+   if (chan == NULL || chan->ch_tq == NULL)
continue;
 
-   if (channel->ch_flags & VMBUS_CHAN_FLAG_BATCHREAD)
-   hv_ring_buffer_read_begin(>inbound);
-   taskqueue_enqueue(channel->ch_tq, >ch_task);
+   if (chan->ch_flags & VMBUS_CHAN_FLAG_BATCHREAD)
+   hv_ring_buffer_read_begin(>inbound);
+   taskqueue_enqueue(chan->ch_tq, >ch_task);
}
}
 }
___
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"