[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [question] shm_nattch in sys_shmat?



Christoph Rohland wrote:
> Hi Matthew,
> 
> On Fri, 31 Jan 2003, Matthew Dobson wrote:
> 
>>	sys_shmat, does in fact increment shm_nattch, but only to
>>	decrement it again a few lines later, as seen in this code
>>	snippet.  Can anyone please explain why this is?
> 
> 
> sys_shmat temporarily increases shm_nattch to make sure it's never zero:
> 
> 
>> >>>	shp->shm_nattch++;
> 
> 
> Make sure shm_nattch is greater than zero.
> 
> 
>> >	user_addr = (void*) do_mmap (file, addr, size, prot,
> 
> 
> map the segment which increments shm_nattch in shm_mmap accounting for
> the actual mapping
> 
> 
>> >>>	shp->shm_nattch--;
> 
> 
> Correct it again.
> 
> Greetings
> 		Christoph

Ah ha...   I hadn't followed the do_mmap call chain deep enough to 
notice that it would call the shm_mmap call through the f_op function 
pointer.  Thanks for pointing that out.  It makes much more sense now. 
A small comment in there would make it *much* more obvious what is going on.

Cheers!

-Matt

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/