Re: CVS commit: src/sys

2020-03-29 Thread Jason Thorpe


> On Mar 29, 2020, at 8:03 AM, Joerg Sonnenberger  wrote:
> 
> Yes and I see no fundamental reason for not allowing buffering with 1ms
> frames in that case. I expect Alpha to be fast enough to do that with
> little overhead.

That's fine, I just wanted to point it out.

-- thorpej



Re: CVS commit: src/sys

2020-03-29 Thread Joerg Sonnenberger
On Sun, Mar 29, 2020 at 07:26:26AM -0700, Jason Thorpe wrote:
> 
> > On Mar 29, 2020, at 6:11 AM, Joerg Sonnenberger  wrote:
> > 
> > I would allow at least 1/HZ as baseline.
> 
> Be careful, some platforms have a relatively high HZ (e.g. Alpha HZ=1024).

Yes and I see no fundamental reason for not allowing buffering with 1ms
frames in that case. I expect Alpha to be fast enough to do that with
little overhead.

Joerg


Re: CVS commit: src/sys

2020-03-29 Thread Jason Thorpe


> On Mar 29, 2020, at 6:11 AM, Joerg Sonnenberger  wrote:
> 
> I would allow at least 1/HZ as baseline.

Be careful, some platforms have a relatively high HZ (e.g. Alpha HZ=1024).

-- thorpej



Re: CVS commit: src/sys

2020-03-29 Thread Joerg Sonnenberger
On Sun, Mar 29, 2020 at 01:11:47PM +0900, Tetsuya Isaki wrote:
> > I would prefer if blk_ms were kept below 5ms on amd64 and aarch64.
> > We don't have to worry about the CPU load of playing audio on these 
> > platforms.
> 
> CPU load or performance is not subject.  I know that my
> implementation will work on the most modern real hardware.
> But I feel that at least 4msec is too rush to be default.
> A default should not be for one game application.

I would allow at least 1/HZ as baseline.

Joerg


[vfs_cache] Re: CVS commit: src/sys/kern

2020-03-29 Thread Maxime Villard
Le 23/03/2020 à 21:02, Andrew Doran a écrit :
> Module Name:  src
> Committed By: ad
> Date: Mon Mar 23 20:02:14 UTC 2020
> 
> Modified Files:
>   src/sys/kern: vfs_cache.c
> 
> Log Message:
> cache_remove(): remove from the vnode list first, so cache_revlookup()
> doesn't try to re-activate an entry no longer on the LRU list.
> 
> 
> To generate a diff of this commit:
> cvs rdiff -u -r1.133 -r1.134 src/sys/kern/vfs_cache.c
> 
> Please note that diffs are not public domain; they are subject to the
> copyright notices on the relevant files.

It appears that your recent changes in vfs_cache.c have introduced a
use-after-free. Booting KASAN gives:

ASan: Unauthorized Access In 0x...: Addr 0x... [1 byte, read, 
PoolUseAfterFree]

It seems that the problem is here:

557 if (nameiop == CREATE && (cnflags & ISLASTCN) != 0) {
558 /*
559  * Last component and we are preparing to create
560  * the named object, so flush the negative cache
561  * entry.
562  */
563 COUNT(ncs_badhits);
564 cache_remove(ncp, true);< HERE
565 hit = false;
566 } else {
567 COUNT(ncs_neghits);
568 SDT_PROBE(vfs, namecache, lookup, hit, dvp, name,
569 namelen, 0, 0);
570 /* found neg entry; vn is already null from above */
571 hit = true;
572 }
573 if (iswht_ret != NULL) {
574 /*
575  * Restore the ISWHITEOUT flag saved earlier.
576  */
577 *iswht_ret = ncp->nc_whiteout;  <-- ouch
578 } else {
579 KASSERT(!ncp->nc_whiteout);  <-- ouch
580 }

cache_remove() frees 'ncp', and then 'ncp->nc_whiteout' is read.

Maxime


Re: CVS commit: src/sys

2020-03-29 Thread Tetsuya Isaki
At Sat, 28 Mar 2020 10:40:26 +0100,
Martin Husemann wrote:
> It would be good to have a file somewhere in the audio code where the
> default is selected based on some ifdefs - if we don't have anything
> better something like:
> 
> #if defined(__m68k__) || defined(__vax__) || \
>   (defined(__sparc__) && !defined(_LP64)
> 
> #else
> ...   4ms
> #endif
> 
> Or create (if we don't have yet) a  and define it there.

I try it.

Thanks,
---
Tetsuya Isaki