login
Header Space

 
 

Re: 2.6.23-rc6-mm1: IPC: sleeping function called ...

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Jarek Poplawski <jarkao2@...>
Cc: Andrew Morton <akpm@...>, Alexey Dobriyan <adobriyan@...>, <linux-kernel@...>
Date: Monday, September 24, 2007 - 5:50 am

Jarek Poplawski wrote:

Jarek,

I'm realizing I did'nt give you an answer to issues # 1 and 3. Sorry for 
that!


I think you're completely right: the rcu_read_lock() is not enough in 
this case.
I have to solve this issue, but keeping the original way the ipc 
developers have done it: I think they didn't want to take the mutex lock 
for every single operation. E.g. sending a message to a given message 
queue shouldn't avoid creating new message queues.
I'll come up with a solution.


In think here they have avoided refcoutning by using r_msg:
r_msg is initialzed to -EAGAIN before releasing the msq lock. if 
freequeue() is called it sets r_msg to EIDRM (see expunge_all(-EIDRM)).
Setting r_msg is always done under the msq lock (expunge_all() / 
pipelined_Sned()).
  Since rcu_read_lock is called right after schedule, they are sure the 
msq pointer is still valid when they re-lock it once a msg is present in 
the receive queue.

Please tell me if I'm not clear ;-)

Regards,
Nadia

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
2.6.23-rc6-mm1: IPC: sleeping function called ..., Alexey Dobriyan, (Tue Sep 18, 5:17 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Andrew Morton, (Tue Sep 18, 6:27 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Nadia Derbey, (Tue Sep 18, 10:55 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Jarek Poplawski, (Wed Sep 19, 10:07 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Nadia Derbey, (Thu Sep 20, 2:24 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Jarek Poplawski, (Thu Sep 20, 3:28 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Nadia Derbey, (Thu Sep 20, 4:52 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Jarek Poplawski, (Thu Sep 20, 9:19 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Nadia Derbey, (Thu Sep 20, 9:08 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Jarek Poplawski, (Fri Sep 21, 4:44 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Nadia Derbey, (Mon Sep 24, 5:50 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Jarek Poplawski, (Tue Sep 25, 7:47 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Jarek Poplawski, (Wed Sep 26, 2:13 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Nadia Derbey, (Fri Sep 21, 6:11 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Jarek Poplawski, (Fri Sep 21, 7:03 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Jarek Poplawski, (Mon Sep 24, 2:54 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Nadia Derbey, (Mon Sep 24, 4:18 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Jarek Poplawski, (Mon Sep 24, 3:43 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Jarek Poplawski, (Fri Sep 21, 7:15 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Jarek Poplawski, (Thu Sep 20, 9:26 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Jarek Poplawski, (Thu Sep 20, 4:21 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Andrew Morton, (Tue Sep 18, 1:01 pm)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Nadia Derbey, (Fri Sep 21, 5:18 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Alexey Dobriyan, (Tue Sep 18, 6:32 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Andrew Morton, (Tue Sep 18, 6:17 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Nadia Derbey, (Tue Sep 18, 6:30 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Andrew Morton, (Tue Sep 18, 6:34 am)
Re: 2.6.23-rc6-mm1: IPC: sleeping function called ..., Andrew Morton, (Tue Sep 18, 5:42 am)
speck-geostationary