Re: pserialized queue(9)

2014-11-27 Thread Dennis Ferguson
On 28 Nov, 2014, at 07:33 , Mindaugas Rasiukevicius wrote: > Dennis Ferguson wrote: > Yes, Joerg broke the name cache concurrency. This has to be fixed or at > least reverted for netbsd-7. He did, but I can't blame him. The locking arrangement in that code, and what it is supposed to accompli

Re: Critical section

2014-11-27 Thread Masao Uebayashi
On Fri, Nov 28, 2014 at 12:40 AM, Masao Uebayashi wrote: > It turned out that prohibiting nesting was too strict, and just plain > wrong. CPU can enter critical section C1, interrupted, and enter C2, > etc. The cprng_fast.c assertion is OK. Sorry for confusion. Still thinking. Probably provid

Re: Unallocated inode

2014-11-27 Thread Paul Ripke
On Wed, Nov 26, 2014 at 01:51:57PM +1100, Paul Ripke wrote: > On Tue, Nov 25, 2014 at 09:25:02AM +0100, Martin Husemann wrote: > > On Tue, Nov 25, 2014 at 01:22:00PM +1100, Paul Ripke wrote: > > > slave:ksh$ find /home/tmp > /dev/null > > > find: /home/tmp/badfile: Bad file descriptor > > > > Is t

Re: Critical section

2014-11-27 Thread Masao Uebayashi
On Fri, Nov 28, 2014 at 8:47 AM, Mindaugas Rasiukevicius wrote: > Masao Uebayashi wrote: >> The problem of kpreempt_*() API is that its meaning is overriden by kernel >> internal (scheduler, sync primitives, ...). This change separates the >> internal use (scheduler disables preeemption) and oth

Re: Critical section

2014-11-27 Thread Mindaugas Rasiukevicius
Masao Uebayashi wrote: > On Thu, Nov 27, 2014 at 1:38 AM, Matt Thomas > wrote: > > That is not true. If the softint thread sleeps, control is returned > > back to the preempted lwp. > > You're right. I keep forgetting how softint works. Sigh. > > <...> > > (Calling "interrupted" threads as

Re: Critical section

2014-11-27 Thread Mindaugas Rasiukevicius
Masao Uebayashi wrote: > The problem of kpreempt_*() API is that its meaning is overriden by kernel > internal (scheduler, sync primitives, ...). This change separates the > internal use (scheduler disables preeemption) and others (kernel > subsystem code executes critical section). Detect sleep

Re: pserialized queue(9)

2014-11-27 Thread Mindaugas Rasiukevicius
Dennis Ferguson wrote: > > On 25 Nov, 2014, at 08:29 , Mindaugas Rasiukevicius > wrote: > > > Taylor R Campbell wrote: > >> The attached patch adds _PSZ variants to all the insert, remove, and > >> foreach operations in to issue the necessary store > >> barriers, for insert, and data-dependen

ACPI warning

2014-11-27 Thread Alexander Nasonov
Hi, I noticed a strange warning on my console: ACPI Warning: \_SB_.PCI0.LPCB.SNC_.GSNE: Insufficient arguments - Caller passed 0, method requires 1 (20131218/nsarguments-263) What does it mean? In case it matters, I was playing with linux emulation and /emul/linux/proc/version. I'm running -cu

Re: Critical section

2014-11-27 Thread Masao Uebayashi
On Fri, Nov 28, 2014 at 12:20 AM, Taylor R Campbell wrote: >Date: Wed, 26 Nov 2014 16:41:01 +0900 >From: Masao Uebayashi > >The problem of kpreempt_*() API is that its meaning is overriden by >kernel internal (scheduler, sync primitives, ...). This change >separates the inter

Re: Critical section

2014-11-27 Thread Taylor R Campbell
Date: Wed, 26 Nov 2014 16:41:01 +0900 From: Masao Uebayashi The problem of kpreempt_*() API is that its meaning is overriden by kernel internal (scheduler, sync primitives, ...). This change separates the internal use (scheduler disables preeemption) and others (kernel subsyste

Re: Critical section

2014-11-27 Thread Masao Uebayashi
With a few changes which I've just committed, now the tree is consistent: - kpreempt_{disable,enable}(): "I don't want to enter scheduler!" - KPREEMPT_{DISABLE,ENABLE}(): "I've entered scheduler!"

Re: struct ifnet and ifaddr handling [was: Re: Making global variables of if.c MPSAFE]

2014-11-27 Thread Ryota Ozaki
On Tue, Nov 18, 2014 at 11:38 AM, Ryota Ozaki wrote: > On Mon, Nov 17, 2014 at 11:39 PM, Masao Uebayashi wrote: >> On Mon, Nov 17, 2014 at 7:03 PM, Ryota Ozaki wrote: >>> - http://www.netbsd.org/~ozaki-r/psz-ifnet.diff >> >> There are many copyout()'s while IFNET_LOCK() is taken. > > I'm trying