svn commit: r303023 - in head/sys: conf dev/hyperv/vmbus modules/hyperv/vmbus
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: r303024 - head/sys/netinet
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->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->sin6_addr))) continue; ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303025 - head/sys/netinet
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(&nc->reasm) && (nc->first_frag_seen)) { + if ((nc->first_frag_seen) && !TAILQ_EMPTY(&nc->reasm)) { /* * Switch to the new guy and * continue ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-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
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r302998 - head/sys/kern
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r302998 - head/sys/kern
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
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r302998 - head/sys/kern
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: r301453 - in head/sys: arm/arm arm64/arm64 dev/fdt dev/gpio dev/iicbus dev/ofw dev/pci dev/vnic kern mips/mips sys
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 interru
Re: svn commit: r302998 - head/sys/kern
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-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
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303026 - head/usr.sbin/acpi/acpidump
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303028 - head/share/misc
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r303028 - head/share/misc
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r303028 - head/share/misc
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
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r303028 - head/share/misc
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
svn commit: r303030 - head/share/misc
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303031 - head/contrib/llvm/tools/clang/lib/Driver
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303032 - head/sys/dev/ixgbe
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303033 - head/share/man/man7
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: r303034 - head
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303035 - in head/sys: arm/broadcom/bcm2835 boot/fdt/dts/arm sys
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 + +
Re: svn commit: r303035 - in head/sys: arm/broadcom/bcm2835 boot/fdt/dts/arm sys
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 words > mask */ > +
svn commit: r303036 - head/usr.sbin/makefs
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r297023 - head/sbin/kldstat
> 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(&stat, sizeof(stat)); > stat.version = sizeof(struct module_stat); > if (modstat(modid, &stat) < 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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303037 - head/sys/kern
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->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(&cc_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: r303037 - head/sys/kern
> 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
Re: svn commit: r303033 - head/share/man/man7
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
svn commit: r303038 - in head/usr.sbin/makefs: . ffs
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebs
svn commit: r303039 - head/sys/boot/efi/libefi
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303040 - in head/sys/dev: nvd nvme
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 = &req->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 *)&cmd->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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303041 - head/share/misc
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303042 - head/sys/dev/nvd
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303043 - in head: share/man/man4 sys/dev/vt sys/dev/vt/hw/fb
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r303033 - head/share/man/man7
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r303033 - head/share/man/man7
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303044 - head/share/man/man7
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303045 - head/share/man/man7
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r303033 - head/share/man/man7
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303046 - head/lib/libc/locale
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r303046 - head/lib/libc/locale
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r303046 - head/lib/libc/locale
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r303046 - head/lib/libc/locale
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r303046 - head/lib/libc/locale
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303047 - head/usr.bin/sed
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; } +
svn commit: r303050 - in head/sys: cddl/dev/dtrace/amd64 cddl/dev/dtrace/i386 cddl/dev/dtrace/x86 conf
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 **)&instr; 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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303051 - head/usr.bin/mandoc
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303052 - in head/sys: sys vm
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303059 - head/sys/vm
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(&zone->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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r303033 - head/share/man/man7
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: r303061 - head/contrib/llvm/projects/libunwind/include
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303062 - head/contrib/openresolv
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" ];
Re: svn commit: r303062 - head/contrib/openresolv
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r303033 - head/share/man/man7
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303063 - head/share/misc
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303066 - in head/sys/dev/hyperv: include netvsc
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, &size)); @@ -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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r303033 - head/share/man/man7
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-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303067 - in head/sys/dev/hyperv: include utilities
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
svn commit: r303068 - in head/sys/dev/hyperv: include netvsc storvsc vmbus
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(&net_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(&net_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: r303069 - in head/sys/dev/hyperv: include netvsc storvsc utilities vmbus
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(&props, 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 *)&props, sizeof(struct vmstor_chan_props), - hv_storvsc_on_channel_callback, - new_channel); + hv_storvsc_on_channel_callback, sc); }
svn commit: r303070 - in head/sys/dev/hyperv: include netvsc
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(&net_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, M_NET
svn commit: r303071 - in head/sys/dev/hyperv: include netvsc storvsc utilities vmbus
Author: sephe Date: Wed Jul 20 06:00:27 2016 New Revision: 303071 URL: https://svnweb.freebsd.org/changeset/base/303071 Log: hyperv/vmbus: Hide channel struct definition. MFC after:1 week Sponsored by: Microsoft OSTC Differential Revision:https://reviews.freebsd.org/D7245 Added: head/sys/dev/hyperv/vmbus/vmbus_chanvar.h (contents, props changed) Modified: head/sys/dev/hyperv/include/hyperv.h head/sys/dev/hyperv/include/vmbus.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/utilities/hv_kvp.c head/sys/dev/hyperv/vmbus/hv_vmbus_priv.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:48:52 2016 (r303070) +++ head/sys/dev/hyperv/include/hyperv.hWed Jul 20 06:00:27 2016 (r303071) @@ -83,122 +83,8 @@ struct hyperv_guid { inthyperv_guid2str(const struct hyperv_guid *, char *, size_t); -typedef struct { - /* -* offset in bytes from the start of ring data below -*/ - volatile uint32_t write_index; - /* -* offset in bytes from the start of ring data below -*/ - volatile uint32_t read_index; - /* -* NOTE: The interrupt_mask field is used only for channels, but -* vmbus connection also uses this data structure -*/ - volatile uint32_t interrupt_mask; - /* pad it to PAGE_SIZE so that data starts on a page */ - uint8_t reserved[4084]; - - /* -* WARNING: Ring data starts here -* !!! DO NOT place any fields below this !!! -*/ - uint8_t buffer[0]; /* doubles as interrupt mask */ -} __packed hv_vmbus_ring_buffer; - -typedef struct { - hv_vmbus_ring_buffer* ring_buffer; - struct mtx ring_lock; - uint32_tring_data_size; /* ring_size */ -} hv_vmbus_ring_buffer_info; - struct hv_vmbus_channel; -typedef void (*vmbus_chan_callback_t)(struct hv_vmbus_channel *, void *); - -typedef struct hv_vmbus_channel { - device_tch_dev; - struct vmbus_softc *ch_vmbus; - uint32_tch_flags; /* VMBUS_CHAN_FLAG_ */ - uint32_tch_id; /* channel id */ - - /* -* These are based on the offer_msg.monitor_id. -* Save it here for easy access. -*/ - int ch_montrig_idx; /* MNF trig index */ - uint32_tch_montrig_mask;/* MNF trig mask */ - - /* -* TX bufring; at the beginning of ch_bufring. -*/ - hv_vmbus_ring_buffer_info ch_txbr; - /* -* RX bufring; immediately following ch_txbr. -*/ - hv_vmbus_ring_buffer_info ch_rxbr; - - struct taskqueue*ch_tq; - struct task ch_task; - vmbus_chan_callback_t ch_cb; - void*ch_cbarg; - - struct hyperv_mon_param *ch_monprm; - struct hyperv_dma ch_monprm_dma; - - int ch_cpuid; /* owner cpu */ - /* -* Virtual cpuid for ch_cpuid; it is used to communicate cpuid -* related information w/ Hyper-V. If MSR_HV_VP_INDEX does not -* exist, ch_vcpuid will always be 0 for compatibility. -*/ - uint32_tch_vcpuid; - - /* -* If this is a primary channel, ch_subchan* fields -* contain sub-channels belonging to this primary -* channel. -*/ - struct mtx ch_subchan_lock; - TAILQ_HEAD(, hv_vmbus_channel) ch_subchans; - int ch_subchan_cnt; - - /* If this is a sub-channel */ - TAILQ_ENTRY(hv_vmbus_channel) ch_sublink; /* sub-channel link */ - struct hv_vmbus_channel *ch_prichan;/* owner primary chan */ - - void*ch_bufring;/* TX+RX bufrings */ - struct hyperv_dma ch_bufring_dma; - uint32_tch_bufring_gpadl; - - struct task ch_detach_task; - TAILQ_ENTRY(hv_vmbus_channel) ch_prilink; /* primary chan link */ - uint32_tch_subidx; /* subchan index */ - volatile uint32_t ch_stflags; /* atomic-op */ - /* VMBUS_CHAN_ST_ */ - struct hyperv_guid ch_guid_type; - struct hyperv_guid ch_guid_inst; - - struct sysctl_ctx_l
svn commit: r303072 - head/sys/dev/hyperv/vmbus
Author: sephe Date: Wed Jul 20 06:12:32 2016 New Revision: 303072 URL: https://svnweb.freebsd.org/changeset/base/303072 Log: hyperv/vmbus: Save MNF trigger location instead of MNF trigger index. MFC after:1 week Sponsored by: Microsoft OSTC Differential Revision:https://reviews.freebsd.org/D7246 Modified: head/sys/dev/hyperv/vmbus/vmbus_chan.c head/sys/dev/hyperv/vmbus/vmbus_chanvar.h Modified: head/sys/dev/hyperv/vmbus/vmbus_chan.c == --- head/sys/dev/hyperv/vmbus/vmbus_chan.c Wed Jul 20 06:00:27 2016 (r303071) +++ head/sys/dev/hyperv/vmbus/vmbus_chan.c Wed Jul 20 06:12:32 2016 (r303072) @@ -89,13 +89,10 @@ vmbus_chan_signal_tx(struct hv_vmbus_cha atomic_set_long(&sc->vmbus_tx_evtflags[chanid >> VMBUS_EVTFLAG_SHIFT], 1UL << (chanid & VMBUS_EVTFLAG_MASK)); - if (chan->ch_flags & VMBUS_CHAN_FLAG_HASMNF) { - atomic_set_int( - &sc->vmbus_mnf2->mnf_trigs[chan->ch_montrig_idx].mt_pending, - chan->ch_montrig_mask); - } else { + if (chan->ch_flags & VMBUS_CHAN_FLAG_HASMNF) + atomic_set_int(chan->ch_montrig, chan->ch_montrig_mask); + else hypercall_signal_event(chan->ch_monprm_dma.hv_paddr); - } } static int @@ -1106,13 +1103,19 @@ vmbus_chan_msgproc_choffer(struct vmbus_ chan->ch_monprm->mp_connid = offer->chm_connid; if (offer->chm_flags1 & VMBUS_CHOFFER_FLAG1_HASMNF) { + int trig_idx; + /* * Setup MNF stuffs. */ chan->ch_flags |= VMBUS_CHAN_FLAG_HASMNF; - chan->ch_montrig_idx = offer->chm_montrig / VMBUS_MONTRIG_LEN; - if (chan->ch_montrig_idx >= VMBUS_MONTRIGS_MAX) + + trig_idx = offer->chm_montrig / VMBUS_MONTRIG_LEN; + if (trig_idx >= VMBUS_MONTRIGS_MAX) panic("invalid monitor trigger %u", offer->chm_montrig); + chan->ch_montrig = + &sc->vmbus_mnf2->mnf_trigs[trig_idx].mt_pending; + chan->ch_montrig_mask = 1 << (offer->chm_montrig % VMBUS_MONTRIG_LEN); } Modified: head/sys/dev/hyperv/vmbus/vmbus_chanvar.h == --- head/sys/dev/hyperv/vmbus/vmbus_chanvar.h Wed Jul 20 06:00:27 2016 (r303071) +++ head/sys/dev/hyperv/vmbus/vmbus_chanvar.h Wed Jul 20 06:12:32 2016 (r303072) @@ -80,7 +80,7 @@ typedef struct hv_vmbus_channel { * These are based on the offer_msg.monitor_id. * Save it here for easy access. */ - int ch_montrig_idx; /* MNF trig index */ + volatile uint32_t *ch_montrig;/* MNF trigger */ uint32_tch_montrig_mask;/* MNF trig mask */ /* ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r303073 - head/sys/netinet
Author: tuexen Date: Wed Jul 20 06:29:26 2016 New Revision: 303073 URL: https://svnweb.freebsd.org/changeset/base/303073 Log: Fix a bug in deferred stream reset processing which results in using a length field before it is set. Thanks to Taylor Brandstetter for reporting the issue and providing a fix. MFC after:3 days Modified: head/sys/netinet/sctp_output.c Modified: head/sys/netinet/sctp_output.c == --- head/sys/netinet/sctp_output.c Wed Jul 20 06:12:32 2016 (r303072) +++ head/sys/netinet/sctp_output.c Wed Jul 20 06:29:26 2016 (r303073) @@ -11940,7 +11940,6 @@ sctp_send_deferred_reset_response(struct return; } SCTP_BUF_RESV_UF(chk->data, SCTP_MIN_OVERHEAD); - sctp_add_stream_reset_result(chk, ent->seq, response); /* setup chunk parameters */ chk->sent = SCTP_DATAGRAM_UNSENT; chk->snd_count = 0; @@ -11955,6 +11954,7 @@ sctp_send_deferred_reset_response(struct ch->chunk_length = htons(chk->book_size); atomic_add_int(&chk->whoTo->ref_count, 1); SCTP_BUF_LEN(chk->data) = chk->send_size; + sctp_add_stream_reset_result(chk, ent->seq, response); /* insert the chunk for sending */ TAILQ_INSERT_TAIL(&asoc->control_send_queue, chk, ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r303037 - head/sys/kern
On Tue, Jul 19, 2016 at 06:31:19PM +, Randall Stewart wrote: R> Author: rrs R> Date: Tue Jul 19 18:31:19 2016 R> New Revision: 303037 R> URL: https://svnweb.freebsd.org/changeset/base/303037 R> R> Log: R> This reverts out Gleb's changes and adds three small R> fixes that I think closes up the races Gleb was R> looking for. This is running quite nicely in Netflix and R> now no longer causes TCP-tcb leaks. R> R> Differential Revision: 7135 Just to notice that I am completely pissed of by this commit war, that you started. I've been testing my changes properly, I gave people time to review my changes. You didn't. >From your explanation in other emails I see that you've been testing your changes with a version of FreeBSD that is a heavily modified FreeBSD 10, not 11. The new code you mixed with revert of mine, doesn't fix the problem observed. It fixes another problem that you imagined, which might exist, but isn't observed. We already discussed that and you didn't prove it wrong. Your change doesn't even revert my change completely. -- Totus tuus, Glebius. ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"