if one of the critical section code (linked list) is under
ISR & another one in kernel thread ? How you will
synchronize for this critical section code ?
Answers were Sorted based on User's Feedback
Answer / nt
In the kernel thread you need to disable interrupts before
critical section code starts and then enable interrupts
just after critical section ends. In this way u will make
sure that either ISR or kernel thread execute critical
section at a time.
Is This Answer Correct ? | 12 Yes | 0 No |
Answer / rulingminds
For this situation in SMP case spinlocks are used
Is This Answer Correct ? | 3 Yes | 0 No |
Answer / prasad
As per my knowledge disabling interrupts is fine with
single processor environment, but don't work in multi-
processor environment. Another processor may try to update
the critical section code while one processer is serving
the ISR. So in multi-processor environment it requires more
protected mechanism.
Is This Answer Correct ? | 3 Yes | 1 No |
Answer / suhas
Why cant we have lock mechanism working here. Assign a lock
to the address space pointed to by the data structure.
Something like monitors or semaphores, why wouldn't that
work fine...instead of disabling interrupts and stuff...
Is This Answer Correct ? | 1 Yes | 5 No |
What are the signals we have in Linux
why the kernel panic error was appering?
How to get microseconds of system time from Redhat Linux 4.0
what is stored at /lib/modules ?
What does exec family return?
what are the different ways the Linux can swich from User Space to Kernel Space & vice-versa ?
what is samba, what is configuration file, how it will work?
what happens when we do insmod & rmmod in Linux Device Drivers ?
what are Softirq's and how many major numbers be allocated in the linux kernel(2.4) ?
if root user forget the password how to change it?
What is the Diffrent between Redhat linux And suse linux
how to configure ftp server on redhat linux?