Messages in this thread |  | | From | "Sivakumar Kuppusamy" <> | Subject | Locks in kernel | Date | Fri, 2 Nov 2001 16:37:49 +0530 |
| |
Hi All, I am having doubts in locking mechanism in Linux 2.2 kernel code.
We have done modifications in the Linux kernel code to support our application which runs at the user space. The modification done in the Linux kernel is to maintain a table of data(like a routing table), which will be updated by the applicaition with appropriate data. This data will be used by the kernel for other processing.
We are using "up" & "down" functions for locking global data in the kernel. Our code in kernel will get called when a IP packet is received. During that time we are trying to lock that global data and retrieve some info from that. Is this a correct way to do. We are also locking the global data when it gets updated from the application. Since ip_rcv() gets called from bottom_half(), can we do any locking stuff there? We faced kernel panicking when the application locked the global data and got scheduled to continue later(with lock held). That time ip_rcv() got called and we are trying to acquire the lock which is held by the scheduled process. This made the kernel panic.
How should we approach this problem? Shouldn't we use any locking in the code which is called by the bottom_half()?
Thanks in advance for your replies, Siva ----------------------------------------------------------------------------------------------------------------------- Information transmitted by this E-MAIL is proprietary to Wipro and/or its Customers and is intended for use only by the individual or entity to which it is addressed, and may contain information that is privileged, confidential or exempt from disclosure under applicable law. If you are not the intended recipient or it appears that this mail has been forwarded to you without proper authority, you are notified that any use or dissemination of this information in any manner is strictly prohibited. In such cases, please notify us immediately at mailto:mailadmin@wipro.com and delete this mail from your records. ------------------------------------------------------------------------------------------------------------------------
|  |