Re: arm64 SMP support, diff #3/5

2017-02-22 Thread Dale Rahn
On Thu, Feb 23, 2017 at 01:03:57PM +1100, Jonathan Gray wrote: > On Wed, Feb 22, 2017 at 06:45:52PM -0500, Dale Rahn wrote: > > Add psci 2.0 features to spin up/down/suspend processors. > > > > This change uses extern weak symbols to determine if the platform supports > > the

Re: use KERNEL_LOCK wrappers in arch/amd64

2017-02-22 Thread Mike Larkin
On Thu, Feb 23, 2017 at 04:05:52PM +1000, David Gwynne wrote: > we have wrappers around these now. ok? > ok mlarkin > Index: arch/amd64/amd64/intr.c > === > RCS file: /cvs/src/sys/arch/amd64/amd64/intr.c,v > retrieving revision

use KERNEL_LOCK wrappers in arch/amd64

2017-02-22 Thread David Gwynne
we have wrappers around these now. ok? Index: arch/amd64/amd64/intr.c === RCS file: /cvs/src/sys/arch/amd64/amd64/intr.c,v retrieving revision 1.48 diff -u -p -r1.48 intr.c --- arch/amd64/amd64/intr.c 22 Jun 2016 01:12:38 -

Re: arm64 SMP support, diff #3/5

2017-02-22 Thread Jonathan Gray
On Wed, Feb 22, 2017 at 06:45:52PM -0500, Dale Rahn wrote: > Add psci 2.0 features to spin up/down/suspend processors. > > This change uses extern weak symbols to determine if the platform supports > the cpu_on/cpu_off/cpu_suspend features. If available, it saves the fdt > provided argument

[PATCH] Reference correct manpage for dwge(4)

2017-02-22 Thread Seth Jackson
I was browsing the armv7 platform page and noticed the dwge(4) driver was linked to the sxie(4) man page. The following diff fixes that: Index: www/armv7.html === RCS file: /cvs/www/armv7.html,v retrieving revision 1.36 diff -u -p

arm64 SMP support, diff #5/5

2017-02-22 Thread Dale Rahn
ARM64 SMP support This is the rest of the pieces of SMP support for arm64, major changes: switch to ticket lock instead of simple lock add code to print core type (printed from each core as it spins up) IPI support is not yet added with this diff, however this should be already reasonably

arm64 SMP support, diff #4/5

2017-02-22 Thread Dale Rahn
Introduce KERNEL_LOCK into arm64 code. arm_do_pending_intr was changed to check if any pending would be serviced before the loop to avoid obtaining KERNEL_LOCK, otherwise KERNEL_LOCK would be acquired even if the previous IPL level was > IPL_SOFTTTY. This would unnessarily grab the kernel lock as

arm64 SMP support, diff #3/5

2017-02-22 Thread Dale Rahn
Add psci 2.0 features to spin up/down/suspend processors. This change uses extern weak symbols to determine if the platform supports the cpu_on/cpu_off/cpu_suspend features. If available, it saves the fdt provided argument values. Some PSCI calls will return an int status, so the callfn has been

arm64 SMP support, diff #1/5

2017-02-22 Thread Dale Rahn
The following diff has two pieces, one that switches all VP allocations for userland to be NOWAIT, the other is to add all the the necessary mutexes to protect the pmap data structures. Having the pool_get calls for userland vp and pted_desc entries is necessary because allowing the pool code to

arm64 SMP support, diff #2/5

2017-02-22 Thread Dale Rahn
Changes in interrupt controller infrastructure to support smp. Add an API that allows a processor to direct an interrupt to multiple cores enable support for ampintc to serice MPSAFE interrupts. bcm does not yet have support enabled, but are updated to be compatible for single processor support.

Re: Introduce ip6_local()

2017-02-22 Thread Alexander Bluhm
On Wed, Feb 22, 2017 at 06:32:07PM +0100, Martin Pieuchot wrote: > Here's an updated diff that should address all your points. > @@ -180,8 +181,8 @@ ip6_input(struct mbuf *m) > struct ip6_hdr *ip6; > struct sockaddr_in6 sin6; > struct rtentry *rt = NULL; > - int off, nxt,

Re: Introduce ip6_local()

2017-02-22 Thread Martin Pieuchot
On 22/02/17(Wed) 18:10, Alexander Bluhm wrote: > On Wed, Feb 22, 2017 at 05:06:34PM +0100, Martin Pieuchot wrote: > [...] > > -ip6_ours(struct mbuf *m, int off, int nxt) > > +ip6_ours(struct mbuf *m) > > +{ > > + int off, nxt; > > + > > + KERNEL_ASSERT_LOCKED(); > > + > > + if

Test wanted: IPv4 forwarding w/o KERNEL_LOCK()

2017-02-22 Thread Martin Pieuchot
Diff below is what will be committed, or something similar, once all the issues with the NET_LOCK() are fixed. With it the IPv4 forwarding path is now executed in the 'softnet' thread, w/o holding the KERNEL_LOCK(). This has already been tested by Hrvoje Popovski who measured an improvement from

Re: Introduce ip6_local()

2017-02-22 Thread Alexander Bluhm
On Wed, Feb 22, 2017 at 05:06:34PM +0100, Martin Pieuchot wrote: > I'm renaming the current ip6_ours() into ip6_local(). This function > still need to be executed with the KERNEL_LOCK() held and most of the > time it will be from the netisr loop. Then the KERNEL_ASSERT_LOCKED should be in

Introduce ip6_local()

2017-02-22 Thread Martin Pieuchot
With the diff below the IPv6 forwarding path is ready to be executed w/o KERNEL_LOCK(). I'm renaming the current ip6_ours() into ip6_local(). This function still need to be executed with the KERNEL_LOCK() held and most of the time it will be from the netisr loop. The new ip6_ours() will be use

sed: unused variable

2017-02-22 Thread Daniel Cegiełka
Best regards, Daniel diff -urN sed.orig/process.c sed/process.c --- sed.orig/process.c Thu Feb 2 22:16:20 2017 +++ sed/process.c Wed Feb 22 13:22:43 2017 @@ -89,7 +89,6 @@ SPACE tspace; size_t len, oldpsl; char *p; - int oldpsanl; for (linenum = 0;

Route lookup accounting

2017-02-22 Thread Martin Pieuchot
I'd like to keep rtalloc(9) for the hot path since it increments the use counter. This will become more important when routes entries will be cached in PF states. This counter will allow us to really see how many times a lookup have been done. So here's a diff that change a rtalloc(9) into

Re: regress/pledge: test for sendfd/recvfd

2017-02-22 Thread Theo Buehler
On Tue, Feb 21, 2017 at 08:31:43PM +0100, Sebastien Marie wrote: > The following diff adds regress tests for sendfd/recvfd promises. This is very nice work. Committed as-is (only minimal whitespace changes). Thank you very much!