Re: CVS commit: src/sys

2020-01-12 Thread Kamil Rytarowski
On 12.01.2020 23:03, Andrew Doran wrote:
> Module Name:  src
> Committed By: ad
> Date: Sun Jan 12 22:03:23 UTC 2020
> 
> Modified Files:
>   src/sys/kern: kern_exec.c kern_runq.c
>   src/sys/sys: lwp.h sched.h
> 
> Log Message:
> A final set of scheduler tweaks:
> 


Great work!

While there, could we garbage collect unused defines from sys/param.h?

I'm thinking in particular about:

/*
 * Historic priority levels.  These are meaningless and remain only
 * for source compatibility.  Do not use in new code.
 */
#define PSWP0
#define PVM 4
#define PINOD   8
#define PRIBIO  16
#define PVFS20
#define PZERO   22
#define PSOCK   24
#define PWAIT   32
#define PLOCK   36
#define PPAUSE  40
#define PUSER   50
#define MAXPRI  127

These symbols from time to time conflict with external loadable kernel
modules. My immediate offender is VirtualBox and PVM symbol name conflict.



signature.asc
Description: OpenPGP digital signature


Re: CVS commit: src/sys/arch/x86

2020-01-12 Thread Jason Thorpe
We should absolutely verify this under DEBUG.

-- thorpej
Sent from my iPhone.

> On Jan 12, 2020, at 11:25 AM, Joerg Sonnenberger  wrote:
> 
> On Sun, Jan 12, 2020 at 01:01:12PM +, Andrew Doran wrote:
>> Module Name:src
>> Committed By:ad
>> Date:Sun Jan 12 13:01:12 UTC 2020
>> 
>> Modified Files:
>>src/sys/arch/x86/include: pmap.h pmap_pv.h
>>src/sys/arch/x86/x86: pmap.c vm_machdep.c x86_tlb.c
>> 
>> Log Message:
>> x86 pmap:
>> 
>> - It turns out that every page the pmap frees is necessarily zeroed.  Tell
>>  the VM system about this and use the pmap as a source of pre-zeroed pages.
> 
> Would it make sense to actually verify this under DEBUG? I fear the
> debugging we have to do if a chance ever violates this assumption.
> 
> Joerg



Re: CVS commit: src/sys/arch/x86

2020-01-12 Thread Andrew Doran
On Sun, Jan 12, 2020 at 08:25:27PM +0100, Joerg Sonnenberger wrote:
> On Sun, Jan 12, 2020 at 01:01:12PM +, Andrew Doran wrote:
> > Module Name:src
> > Committed By:   ad
> > Date:   Sun Jan 12 13:01:12 UTC 2020
> > 
> > Modified Files:
> > src/sys/arch/x86/include: pmap.h pmap_pv.h
> > src/sys/arch/x86/x86: pmap.c vm_machdep.c x86_tlb.c
> > 
> > Log Message:
> > x86 pmap:
> > 
> > - It turns out that every page the pmap frees is necessarily zeroed.  Tell
> >   the VM system about this and use the pmap as a source of pre-zeroed pages.
> 
> Would it make sense to actually verify this under DEBUG? I fear the
> debugging we have to do if a chance ever violates this assumption.

Yup we already do exactly this!

Andrew


Re: CVS commit: src/sys/arch/x86

2020-01-12 Thread Joerg Sonnenberger
On Sun, Jan 12, 2020 at 01:01:12PM +, Andrew Doran wrote:
> Module Name:  src
> Committed By: ad
> Date: Sun Jan 12 13:01:12 UTC 2020
> 
> Modified Files:
>   src/sys/arch/x86/include: pmap.h pmap_pv.h
>   src/sys/arch/x86/x86: pmap.c vm_machdep.c x86_tlb.c
> 
> Log Message:
> x86 pmap:
> 
> - It turns out that every page the pmap frees is necessarily zeroed.  Tell
>   the VM system about this and use the pmap as a source of pre-zeroed pages.

Would it make sense to actually verify this under DEBUG? I fear the
debugging we have to do if a chance ever violates this assumption.

Joerg


Re: CVS commit: src/sys/arch/arm/include/arm32

2020-01-12 Thread Christos Zoulas
LGTM too.

christos

> On Jan 12, 2020, at 10:09 AM, Jason Thorpe  wrote:
> 
> 
> 
>> On Jan 11, 2020, at 10:47 PM, Izumi Tsutsui  wrote:
>> 
>> thorpej@ wrote:
>> 
 PGSHIFT is defined in  and
 PAGE_SHIFT and PAGE_SIZE is in ,
 but there is no common .
>>> 
>>> Make a common  that all of the platforms can #include, and 
>>> just put these common definitions in it (for now)?
>> 
>> How about the attached diff? (untested, just for review)
> 
> This looks good to me.
> 
> -- thorpej



signature.asc
Description: Message signed with OpenPGP


Re: CVS commit: src/sys/arch/arm/include/arm32

2020-01-12 Thread Jason Thorpe



> On Jan 11, 2020, at 10:47 PM, Izumi Tsutsui  wrote:
> 
> thorpej@ wrote:
> 
>>> PGSHIFT is defined in  and
>>> PAGE_SHIFT and PAGE_SIZE is in ,
>>> but there is no common .
>> 
>> Make a common  that all of the platforms can #include, and 
>> just put these common definitions in it (for now)?
> 
> How about the attached diff? (untested, just for review)

This looks good to me.

-- thorpej



Re: CVS commit: src/sys/sys

2020-01-12 Thread Andrew Doran
On Sun, Jan 12, 2020 at 01:30:57PM +, Nick Hudson wrote:
> On 12/01/2020 13:19, Andrew Doran wrote:
> > Module Name:src
> > Committed By:   ad
> > Date:   Sun Jan 12 13:19:32 UTC 2020
> > 
> > Modified Files:
> > src/sys/sys: param.h
> > 
> > Log Message:
> > Bump MIN_LWP_ALIGNMENT to 64.
> 
> Should aarch64/mips define MIN_LWP_ALIGNMENT as 128 as they have CPUs
> that have this cache line size?

Good point - fixed!

Cheers,
Andrew


Re: CVS commit: src/sys/sys

2020-01-12 Thread Nick Hudson

On 12/01/2020 13:19, Andrew Doran wrote:

Module Name:src
Committed By:   ad
Date:   Sun Jan 12 13:19:32 UTC 2020

Modified Files:
src/sys/sys: param.h

Log Message:
Bump MIN_LWP_ALIGNMENT to 64.


Should aarch64/mips define MIN_LWP_ALIGNMENT as 128 as they have CPUs
that have this cache line size?

Thanks,
Nick