Re: [PATCH v2] block/aoe: Convert timers to use timer_setup()

2017-10-17 Thread Jens Axboe
On 10/17/2017 10:09 AM, Jens Axboe wrote:
> On 10/16/2017 06:03 PM, Kees Cook wrote:
>> On Fri, Oct 6, 2017 at 7:19 AM, Jens Axboe  wrote:
>>> On 10/05/2017 05:13 PM, Kees Cook wrote:
 In preparation for unconditionally passing the struct timer_list pointer to
 all timer callbacks, switch to using the new timer_setup() and from_timer()
 to pass the timer pointer explicitly.
>>>
>>> Applied to for-4.15/timer
>>
>> Hi,
>>
>> I just wanted to check what your timer plans were for merging this
>> into -next (I'm doing rebasing to find out which maintainers I need to
>> resend patches to, and I noticed block hasn't appeared in -next, but I
>> know you've pulled patches...)
> 
> It should be in for-next, since I wrote that email. It's in my
> for-4.15/timer branch, which is also merged into my for-next branch
> (which is the one that Stephen pulls).

Just pulled in for-next, and it seems to contain what it should.
If you see missing block related timer patches in for-next, then
they haven't been applied to my tree yet.

axboe@dell:[.]home/axboe/git/linux-next $ git log drivers/block/aoe/
commit a79c192c7cdb639ad1b059cedbf3dfa68427a170
Author: Kees Cook 
Date:   Thu Oct 5 16:13:54 2017 -0700

block/aoe: Convert timers to use timer_setup()
[...]

-- 
Jens Axboe



Re: [PATCH v2] block/aoe: Convert timers to use timer_setup()

2017-10-17 Thread Jens Axboe
On 10/16/2017 06:03 PM, Kees Cook wrote:
> On Fri, Oct 6, 2017 at 7:19 AM, Jens Axboe  wrote:
>> On 10/05/2017 05:13 PM, Kees Cook wrote:
>>> In preparation for unconditionally passing the struct timer_list pointer to
>>> all timer callbacks, switch to using the new timer_setup() and from_timer()
>>> to pass the timer pointer explicitly.
>>
>> Applied to for-4.15/timer
> 
> Hi,
> 
> I just wanted to check what your timer plans were for merging this
> into -next (I'm doing rebasing to find out which maintainers I need to
> resend patches to, and I noticed block hasn't appeared in -next, but I
> know you've pulled patches...)

It should be in for-next, since I wrote that email. It's in my
for-4.15/timer branch, which is also merged into my for-next branch
(which is the one that Stephen pulls).

-- 
Jens Axboe



Re: [PATCH v2] block/aoe: Convert timers to use timer_setup()

2017-10-16 Thread Kees Cook
On Fri, Oct 6, 2017 at 7:19 AM, Jens Axboe  wrote:
> On 10/05/2017 05:13 PM, Kees Cook wrote:
>> In preparation for unconditionally passing the struct timer_list pointer to
>> all timer callbacks, switch to using the new timer_setup() and from_timer()
>> to pass the timer pointer explicitly.
>
> Applied to for-4.15/timer

Hi,

I just wanted to check what your timer plans were for merging this
into -next (I'm doing rebasing to find out which maintainers I need to
resend patches to, and I noticed block hasn't appeared in -next, but I
know you've pulled patches...)

Thanks!

-Kees

-- 
Kees Cook
Pixel Security


Re: [PATCH v2] block/aoe: Convert timers to use timer_setup()

2017-10-06 Thread Jens Axboe
On 10/05/2017 05:13 PM, Kees Cook wrote:
> In preparation for unconditionally passing the struct timer_list pointer to
> all timer callbacks, switch to using the new timer_setup() and from_timer()
> to pass the timer pointer explicitly.

Applied to for-4.15/timer

-- 
Jens Axboe



[PATCH v2] block/aoe: Convert timers to use timer_setup()

2017-10-05 Thread Kees Cook
In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.

Cc: Jens Axboe 
Cc: "Ed L. Cashin" 
Cc: linux-block@vger.kernel.org
Cc: Thomas Gleixner 
Signed-off-by: Kees Cook 
---
v2: Rebased to linux-block.git/for-4.15/timer
---
 drivers/block/aoe/aoecmd.c | 6 +++---
 drivers/block/aoe/aoedev.c | 9 +++--
 2 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c
index dc43254e05a4..55ab25f79a08 100644
--- a/drivers/block/aoe/aoecmd.c
+++ b/drivers/block/aoe/aoecmd.c
@@ -744,7 +744,7 @@ count_targets(struct aoedev *d, int *untainted)
 }
 
 static void
-rexmit_timer(ulong vp)
+rexmit_timer(struct timer_list *timer)
 {
struct aoedev *d;
struct aoetgt *t;
@@ -758,7 +758,7 @@ rexmit_timer(ulong vp)
int utgts;  /* number of aoetgt descriptors (not slots) */
int since;
 
-   d = (struct aoedev *) vp;
+   d = from_timer(d, timer, timer);
 
spin_lock_irqsave(>lock, flags);
 
@@ -1429,7 +1429,7 @@ aoecmd_ata_id(struct aoedev *d)
 
d->rttavg = RTTAVG_INIT;
d->rttdev = RTTDEV_INIT;
-   d->timer.function = rexmit_timer;
+   d->timer.function = (TIMER_FUNC_TYPE)rexmit_timer;
 
skb = skb_clone(skb, GFP_ATOMIC);
if (skb) {
diff --git a/drivers/block/aoe/aoedev.c b/drivers/block/aoe/aoedev.c
index b28fefb90391..697f735b07a4 100644
--- a/drivers/block/aoe/aoedev.c
+++ b/drivers/block/aoe/aoedev.c
@@ -15,7 +15,6 @@
 #include 
 #include "aoe.h"
 
-static void dummy_timer(ulong);
 static void freetgt(struct aoedev *d, struct aoetgt *t);
 static void skbpoolfree(struct aoedev *d);
 
@@ -146,11 +145,11 @@ aoedev_put(struct aoedev *d)
 }
 
 static void
-dummy_timer(ulong vp)
+dummy_timer(struct timer_list *t)
 {
struct aoedev *d;
 
-   d = (struct aoedev *)vp;
+   d = from_timer(d, t, timer);
if (d->flags & DEVFL_TKILL)
return;
d->timer.expires = jiffies + HZ;
@@ -466,9 +465,7 @@ aoedev_by_aoeaddr(ulong maj, int min, int do_alloc)
INIT_WORK(>work, aoecmd_sleepwork);
spin_lock_init(>lock);
skb_queue_head_init(>skbpool);
-   init_timer(>timer);
-   d->timer.data = (ulong) d;
-   d->timer.function = dummy_timer;
+   timer_setup(>timer, dummy_timer, 0);
d->timer.expires = jiffies + HZ;
add_timer(>timer);
d->bufpool = NULL;  /* defer to aoeblk_gdalloc */
-- 
2.7.4


-- 
Kees Cook
Pixel Security