Re: [Re: [Re: coarse vs fine-grained locking in SMP systems]]

1999-06-27 Thread Matthew Dillon
Here's the basic problem: The kernel is currently designed for single-threaded operation plus interrupt handling. A piece of code in the kernel can temporarily disable certain interrupts with the spl*() codes to cover situations where a race on some system resource might

Re: [Re: [Re: coarse vs fine-grained locking in SMP systems]]

1999-06-27 Thread Matthew Dillon
Here's the basic problem: The kernel is currently designed for single-threaded operation plus interrupt handling. A piece of code in the kernel can temporarily disable certain interrupts with the spl*() codes to cover situations where a race on some system resource might

Re: [Re: [Re: coarse vs fine-grained locking in SMP systems]]

1999-06-27 Thread Warner Losh
In message 199906270733.aaa10...@apollo.backplane.com Matthew Dillon writes: : Here's the basic problem: The kernel is currently designed for : single-threaded operation plus interrupt handling. A piece of code : in the kernel can temporarily disable certain interrupts with the :

Re: [Re: coarse vs fine-grained locking in SMP systems]

1999-06-26 Thread Daniel J. O'Connor
On 26-Jun-99 Jesus Monroy wrote: An approach like that can't possibly be sufficient if code has been written with the assumption that only interrupt-like events or blocking calls can change things from under it. There is quite a bit of code in FreeBSD that relies on this. Can you

Re: [Re: [Re: coarse vs fine-grained locking in SMP systems]]

1999-06-26 Thread Daniel J. O'Connor
On 26-Jun-99 Jesus Monroy wrote: The part I'm lost on is "can change things from under it". From under what? I assume the statement means "it" as being the code or driver. So the question begs, what things can change? The assumption that changes is that your code

Re: [Re: coarse vs fine-grained locking in SMP systems]

1999-06-26 Thread Daniel J. O'Connor
On 26-Jun-99 Jesus Monroy wrote: An approach like that can't possibly be sufficient if code has been written with the assumption that only interrupt-like events or blocking calls can change things from under it. There is quite a bit of code in FreeBSD that relies on this. Can you

Re: [Re: [Re: coarse vs fine-grained locking in SMP systems]]

1999-06-26 Thread Jesus Monroy
Daniel J. O'Connor dar...@dons.net.au wrote: On 26-Jun-99 Jesus Monroy wrote: An approach like that can't possibly be sufficient if code has been written with the assumption that only interrupt-like events or blocking calls can change things from under it. There is quite a bit of

Re: [Re: [Re: coarse vs fine-grained locking in SMP systems]]

1999-06-26 Thread Daniel J. O'Connor
On 26-Jun-99 Jesus Monroy wrote: The part I'm lost on is can change things from under it. From under what? I assume the statement means it as being the code or driver. So the question begs, what things can change? The assumption that changes is that your code assumes

Re: [Re: coarse vs fine-grained locking in SMP systems]

1999-06-26 Thread Wes Peters
Jesus Monroy wrote: Ville-Pertti Keinonen w...@iki.fi wrote: m...@servo.ccr.org (Mike O'Dell) writes: we published the best Unix SMP paper I've ever seen in Computing Systems - from the Amdahl guys who did an SMP version of the kernel by very clever hacks on SPLx() macros to make

Re: [Re: coarse vs fine-grained locking in SMP systems]

1999-06-25 Thread Jesus Monroy
Ville-Pertti Keinonen w...@iki.fi wrote: m...@servo.ccr.org (Mike O'Dell) writes: we published the best Unix SMP paper I've ever seen in Computing Systems - from the Amdahl guys who did an SMP version of the kernel by very clever hacks on SPLx() macros to make them spin locks and a bit of