gt;
I doubt a bug in lockdep. Here we just swap the pointers but use the
addresses themselves to order locks. And we do not change the
contents(lock) in those addresses. So it could be a lockdep bug.
Thanks
Nikanth Karthikesan
--
To unsubscribe from this list: send the line "unsubscribe lin
On Fri, 2008-02-01 at 11:12 +0100, Jens Axboe wrote:
> On Fri, Feb 01 2008, Nikanth Karthikesan wrote:
> > On Thu, 2008-01-31 at 23:14 +0100, Ingo Molnar wrote:
> > >
> > > Jens,
> > >
> > > AS still has some locking issues - see the lockdep wa
ht be better, instead of the address of the
container.
Now while adding a new member to io_context, one should not forget to
add it here. Also copying whole io_context and then restoring the locks
might have a window where this warning could be triggered.
Thanks
Nikanth Karthikesan
Do not swap locks while
of the
container.
Now while adding a new member to io_context, one should not forget to
add it here. Also copying whole io_context and then restoring the locks
might have a window where this warning could be triggered.
Thanks
Nikanth Karthikesan
Do not swap locks while swapping io_contexts
Signed
On Fri, 2008-02-01 at 11:12 +0100, Jens Axboe wrote:
On Fri, Feb 01 2008, Nikanth Karthikesan wrote:
On Thu, 2008-01-31 at 23:14 +0100, Ingo Molnar wrote:
Jens,
AS still has some locking issues - see the lockdep warning below that
the x86 test-rig just triggered. Config
just swap the pointers but use the
addresses themselves to order locks. And we do not change the
contents(lock) in those addresses. So it could be a lockdep bug.
Thanks
Nikanth Karthikesan
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL
On Tue, 2008-01-29 at 19:19 +0100, Jens Axboe wrote:
> On Tue, Jan 29 2008, Nikanth Karthikesan wrote:
> > The /sys/block/whateverdisk/queue/nr_requests is used to limit the
> > number of requests allocated per queue. There can be atmost nr_requests
> > read requests
On Tue, 2008-01-29 at 19:19 +0100, Jens Axboe wrote:
On Tue, Jan 29 2008, Nikanth Karthikesan wrote:
The /sys/block/whateverdisk/queue/nr_requests is used to limit the
number of requests allocated per queue. There can be atmost nr_requests
read requests and nr_requests write requests
On Tue, 2008-01-29 at 22:59 +0530, Nikanth Karthikesan wrote:
> Check for nr_requests only when io schedulers dispatch
>
> Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
>
Jens,
The patch is against 2.6.24. Before the block/ll_rw_blk.c splitup.
Thanks
Nikanth
--
T
.
Thanks
Nikanth
Check for nr_requests only when io schedulers dispatch
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/block/as-iosched.c b/block/as-iosched.c
index cb5e53b..39b58cf 100644
--- a/block/as-iosched.c
+++ b/block/as-iosched.c
@@ -931,9 +931,12 @@ static
On Tue, 2008-01-29 at 22:59 +0530, Nikanth Karthikesan wrote:
Check for nr_requests only when io schedulers dispatch
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
Jens,
The patch is against 2.6.24. Before the block/ll_rw_blk.c splitup.
Thanks
Nikanth
--
To unsubscribe from
.
Thanks
Nikanth
Check for nr_requests only when io schedulers dispatch
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git a/block/as-iosched.c b/block/as-iosched.c
index cb5e53b..39b58cf 100644
--- a/block/as-iosched.c
+++ b/block/as-iosched.c
@@ -931,9 +931,12 @@ static inline
The random_ioctl is registered as an ioctl function but it does not
require BKL to be held when called. Changing it as an unlocked_ioctl
function.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/drivers/char/random.c b/drivers/char/random.c
index 5fee056..2446e14
On Fri, 2008-01-11 at 12:12 +0100, Andi Kleen wrote:
> Nikanth Karthikesan <[EMAIL PROTECTED]> writes:
> >
> > Also the globals random_read_wakeup_thresh and
> > random_write_wakeup_thresh are not at all protected by any locks! Why
> > locks are not needed for the
(). Either it
should be lock protected or made as atomic_t, right?
Also the globals random_read_wakeup_thresh and
random_write_wakeup_thresh are not at all protected by any locks! Why
locks are not needed for these?
Sorry, if that was a stupid question.
Thanks
Nikanth Karthikesan
On Fri, 2008-01-11 at 12:12 +0100, Andi Kleen wrote:
Nikanth Karthikesan [EMAIL PROTECTED] writes:
Also the globals random_read_wakeup_thresh and
random_write_wakeup_thresh are not at all protected by any locks! Why
locks are not needed for these?
Reading variables sizeof = native word
(). Either it
should be lock protected or made as atomic_t, right?
Also the globals random_read_wakeup_thresh and
random_write_wakeup_thresh are not at all protected by any locks! Why
locks are not needed for these?
Sorry, if that was a stupid question.
Thanks
Nikanth Karthikesan
The random_ioctl is registered as an ioctl function but it does not
require BKL to be held when called. Changing it as an unlocked_ioctl
function.
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git a/drivers/char/random.c b/drivers/char/random.c
index 5fee056..2446e14 100644
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/drivers/char/drm/via_drv.c b/drivers/char/drm/via_drv.c
index 2d4957a..a8041c5 100644
--- a/drivers/char/drm/via_drv.c
+++ b/drivers/char/drm/via_drv.c
@@ -62,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/drivers/char/drm/savage_drv.c b/drivers/char/drm/savage_drv.c
index eee52aa..021de44 100644
--- a/drivers/char/drm/savage_drv.c
+++ b/drivers/char/drm/savage_drv.c
@@
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/drivers/char/drm/sis_drv.c b/drivers/char/drm/sis_drv.c
index 7dacc64..1bbde29 100644
--- a/drivers/char/drm/sis_drv.c
+++ b/drivers/char/drm/sis_drv.c
@@ -80,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/drivers/char/drm/tdfx_drv.c b/drivers/char/drm/tdfx_drv.c
index 012ff2e..ec5a43e 100644
--- a/drivers/char/drm/tdfx_drv.c
+++ b/drivers/char/drm/tdfx_drv.c
@@ -48,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/drivers/char/drm/radeon_drv.c b/drivers/char/drm/radeon_drv.c
index 349ac3d..6d7588c 100644
--- a/drivers/char/drm/radeon_drv.c
+++ b/drivers/char/drm/radeon_drv.c
@@
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/drivers/char/drm/mga_drv.c b/drivers/char/drm/mga_drv.c
index 5572939..be31707 100644
--- a/drivers/char/drm/mga_drv.c
+++ b/drivers/char/drm/mga_drv.c
@@ -67,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/drivers/char/drm/r128_drv.c b/drivers/char/drm/r128_drv.c
index 6108e75..b2a16a7 100644
--- a/drivers/char/drm/r128_drv.c
+++ b/drivers/char/drm/r128_drv.c
@@ -62,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/drivers/char/drm/i830_dma.c b/drivers/char/drm/i830_dma.c
index 69a363e..2f82480 100644
--- a/drivers/char/drm/i830_dma.c
+++ b/drivers/char/drm/i830_dma.c
@@ -117,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/drivers/char/drm/i915_drv.c b/drivers/char/drm/i915_drv.c
index 85bcc27..70a882e 100644
--- a/drivers/char/drm/i915_drv.c
+++ b/drivers/char/drm/i915_drv.c
@@ -64,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/drivers/char/drm/i810_dma.c b/drivers/char/drm/i810_dma.c
index eb381a7..e3adbf3 100644
--- a/drivers/char/drm/i810_dma.c
+++ b/drivers/char/drm/i810_dma.c
@@ -115,7
The ioctl handlers are called with the BKL held, where as unlocked_ioctl
handlers are not. The drm_ioctl function is registered as an ioctl
handler. But it does not need the BKL to be held. Changing drm_ioctl to
register as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan <[EM
The ioctl handlers are called with the BKL held, where as unlocked_ioctl
handlers are not. The drm_ioctl function is registered as an ioctl
handler. But it does not need the BKL to be held. Changing drm_ioctl to
register as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan <[EM
On Thu, 2008-01-10 at 16:01 +0100, Jiri Kosina wrote:
> On Wed, 9 Jan 2008, Alan Cox wrote:
>
> > > > > default:
> > > > > printk("%s: Unimplemented ioctl 0x%x\n", tape->name,
> > > > > cmd);
> > > > > + unlock_kernel();
> > > > > return -EINVAL;
> >
The ioctl handlers are called with the BKL held, where as unlocked_ioctl
handlers are not. The drm_ioctl function is registered as an ioctl
handler. But it does not need the BKL to be held. Changing drm_ioctl to
register as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan [EMAIL
On Thu, 2008-01-10 at 16:01 +0100, Jiri Kosina wrote:
On Wed, 9 Jan 2008, Alan Cox wrote:
default:
printk(%s: Unimplemented ioctl 0x%x\n, tape-name,
cmd);
+ unlock_kernel();
return -EINVAL;
Surely a bug ... shouldn't
The ioctl handlers are called with the BKL held, where as unlocked_ioctl
handlers are not. The drm_ioctl function is registered as an ioctl
handler. But it does not need the BKL to be held. Changing drm_ioctl to
register as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan [EMAIL
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git a/drivers/char/drm/i810_dma.c b/drivers/char/drm/i810_dma.c
index eb381a7..e3adbf3 100644
--- a/drivers/char/drm/i810_dma.c
+++ b/drivers/char/drm/i810_dma.c
@@ -115,7 +115,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git a/drivers/char/drm/i830_dma.c b/drivers/char/drm/i830_dma.c
index 69a363e..2f82480 100644
--- a/drivers/char/drm/i830_dma.c
+++ b/drivers/char/drm/i830_dma.c
@@ -117,7 +117,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git a/drivers/char/drm/i915_drv.c b/drivers/char/drm/i915_drv.c
index 85bcc27..70a882e 100644
--- a/drivers/char/drm/i915_drv.c
+++ b/drivers/char/drm/i915_drv.c
@@ -64,7 +64,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git a/drivers/char/drm/mga_drv.c b/drivers/char/drm/mga_drv.c
index 5572939..be31707 100644
--- a/drivers/char/drm/mga_drv.c
+++ b/drivers/char/drm/mga_drv.c
@@ -67,7 +67,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git a/drivers/char/drm/r128_drv.c b/drivers/char/drm/r128_drv.c
index 6108e75..b2a16a7 100644
--- a/drivers/char/drm/r128_drv.c
+++ b/drivers/char/drm/r128_drv.c
@@ -62,7 +62,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git a/drivers/char/drm/radeon_drv.c b/drivers/char/drm/radeon_drv.c
index 349ac3d..6d7588c 100644
--- a/drivers/char/drm/radeon_drv.c
+++ b/drivers/char/drm/radeon_drv.c
@@ -85,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git a/drivers/char/drm/savage_drv.c b/drivers/char/drm/savage_drv.c
index eee52aa..021de44 100644
--- a/drivers/char/drm/savage_drv.c
+++ b/drivers/char/drm/savage_drv.c
@@ -50,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git a/drivers/char/drm/sis_drv.c b/drivers/char/drm/sis_drv.c
index 7dacc64..1bbde29 100644
--- a/drivers/char/drm/sis_drv.c
+++ b/drivers/char/drm/sis_drv.c
@@ -80,7 +80,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git a/drivers/char/drm/tdfx_drv.c b/drivers/char/drm/tdfx_drv.c
index 012ff2e..ec5a43e 100644
--- a/drivers/char/drm/tdfx_drv.c
+++ b/drivers/char/drm/tdfx_drv.c
@@ -48,7 +48,7
Register drm_ioctl as an unlocked_ioctl function.
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git a/drivers/char/drm/via_drv.c b/drivers/char/drm/via_drv.c
index 2d4957a..a8041c5 100644
--- a/drivers/char/drm/via_drv.c
+++ b/drivers/char/drm/via_drv.c
@@ -62,7 +62,7
ing
unlocked_ioctl handler instead of registering ioctl handler.
Also changed the return value to -ENOTTY for invalid ioctls.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/drivers/block/paride/pt.c b/drivers/block/paride/pt.c
index b91accf..b7215fa 100644
---
following coding style, fine?
The ioctl handler is called with the BKL held. Registering
unlocked_ioctl handler instead of registering ioctl handler.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/drivers/block/paride/pt.c b/drivers/block/paride/pt.c
index b91accf..
instead of registering ioctl handler.
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git a/drivers/block/paride/pt.c b/drivers/block/paride/pt.c
index b91accf..17f32f0 100644
--- a/drivers/block/paride/pt.c
+++ b/drivers/block/paride/pt.c
@@ -146,6 +146,7 @@ static int (*drives[4])[6
the locks a little tighter, but I am not
sure whether the locks are required.
The ioctl handler is called with the BKL held. Registering
unlocked_ioctl handler instead of registering ioctl handler.
Also changed the return value to -ENOTTY for invalid ioctls.
Signed-off-by: Nikanth Karthikesan
Sorry missed the function prototype and includes earlier.
Here is the corrected patch. Build tested.
The ioctl handler is called with the BKL held. Registering
unlocked_ioctl handler instead of registering ioctl handler.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff
The ioctl handler is called with the BKL held. Registering
unlocked_ioctl handler instead of registering ioctl handler.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/arch/x86/kernel/cpu/mcheck/mce_64.c
b/arch/x86/kernel/cpu/mcheck/mce_64.c
diff --git a/drivers
Change the Machine check handler to use unlocked_ioctl instead of
ioctl handler. Also the mce ioctl handler does not need any lock
protection.
Signed-off-by: Nikanth Karthikesan <[EMAIL PROTECTED]>
---
diff --git a/arch/x86/kernel/cpu/mcheck/mce_64.c
b/arch/x86/kernel/cpu/mcheck/mce_64.c
i
the Machine check handler to use unlocked_ioctl instead of
ioctl handler. Also the mce ioctl handler does not need any lock
protection.
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git a/arch/x86/kernel/cpu/mcheck/mce_64.c
b/arch/x86/kernel/cpu/mcheck/mce_64.c
index 4b21d29..d3baa62
The ioctl handler is called with the BKL held. Registering
unlocked_ioctl handler instead of registering ioctl handler.
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git a/arch/x86/kernel/cpu/mcheck/mce_64.c
b/arch/x86/kernel/cpu/mcheck/mce_64.c
diff --git a/drivers/block
Sorry missed the function prototype and includes earlier.
Here is the corrected patch. Build tested.
The ioctl handler is called with the BKL held. Registering
unlocked_ioctl handler instead of registering ioctl handler.
Signed-off-by: Nikanth Karthikesan [EMAIL PROTECTED]
---
diff --git
> On Fri, Nov 23, 2007 at 5:48 PM, "Dmitry Adamushko"
<[EMAIL PROTECTED]> wrote:
> The only legitimate possibility of having the fair_sched_class
> returning no task in this case is when 'rq->nr_running ==
> rq->cfs.nr_running == 0'.
Yes, I think so.
> iow, a possible optimization would be just
As an optimization, if all tasks are in the fair class, the next task is
directly picked from fair_sched_class. But, if it returns no task we go
through again from sched_class_highest which could be avoided and
instead return the idle task directly.
Signed-off-by : Nikanth Karthikesan <[EM
As an optimization, if all tasks are in the fair class, the next task is
directly picked from fair_sched_class. But, if it returns no task we go
through again from sched_class_highest which could be avoided and
instead return the idle task directly.
Signed-off-by : Nikanth Karthikesan [EMAIL
On Fri, Nov 23, 2007 at 5:48 PM, Dmitry Adamushko
[EMAIL PROTECTED] wrote:
The only legitimate possibility of having the fair_sched_class
returning no task in this case is when 'rq-nr_running ==
rq-cfs.nr_running == 0'.
Yes, I think so.
iow, a possible optimization would be just the
58 matches
Mail list logo