int proto;
 
        spin_lock(&ca->tcf_lock);
-       ca->tcf_tm.lastuse = jiffies;
+       tcf_lastuse_update(&ca->tcf_tm);
        bstats_update(&ca->tcf_bstats, skb);
 
        if (skb->protocol == htons(ETH_P_IP)) {
 
        u32 update_flags;
 
        spin_lock(&p->tcf_lock);
-       p->tcf_tm.lastuse = jiffies;
+       tcf_lastuse_update(&p->tcf_tm);
        bstats_update(&p->tcf_bstats, skb);
        action = p->tcf_action;
        update_flags = p->update_flags;
 
 
        spin_lock(&ife->tcf_lock);
        bstats_update(&ife->tcf_bstats, skb);
-       ife->tcf_tm.lastuse = jiffies;
+       tcf_lastuse_update(&ife->tcf_tm);
        spin_unlock(&ife->tcf_lock);
 
        ifehdrln = ntohs(ifehdrln);
 
        spin_lock(&ife->tcf_lock);
        bstats_update(&ife->tcf_bstats, skb);
-       ife->tcf_tm.lastuse = jiffies;
+       tcf_lastuse_update(&ife->tcf_tm);
 
        if (!metalen) {         /* no metadata to send */
                /* abuse overlimits to count when we allow packet
        pr_info_ratelimited("unknown failure(policy neither de/encode\n");
        spin_lock(&ife->tcf_lock);
        bstats_update(&ife->tcf_bstats, skb);
-       ife->tcf_tm.lastuse = jiffies;
+       tcf_lastuse_update(&ife->tcf_tm);
        ife->tcf_qstats.drops++;
        spin_unlock(&ife->tcf_lock);
 
 
 
        spin_lock(&ipt->tcf_lock);
 
-       ipt->tcf_tm.lastuse = jiffies;
+       tcf_lastuse_update(&ipt->tcf_tm);
        bstats_update(&ipt->tcf_bstats, skb);
 
        /* yes, we have to worry about both in and out dev
 
        u32 at;
 
        tcf_lastuse_update(&m->tcf_tm);
-
        bstats_cpu_update(this_cpu_ptr(m->common.cpu_bstats), skb);
 
        rcu_read_lock();
 
 
        spin_lock(&p->tcf_lock);
 
-       p->tcf_tm.lastuse = jiffies;
+       tcf_lastuse_update(&p->tcf_tm);
        old_addr = p->old_addr;
        new_addr = p->new_addr;
        mask = p->mask;
 
 
        spin_lock(&p->tcf_lock);
 
-       p->tcf_tm.lastuse = jiffies;
+       tcf_lastuse_update(&p->tcf_tm);
 
        if (p->tcfp_nkeys > 0) {
                struct tc_pedit_key *tkey = p->tcfp_keys;
 
        struct tcf_defact *d = a->priv;
 
        spin_lock(&d->tcf_lock);
-       d->tcf_tm.lastuse = jiffies;
+       tcf_lastuse_update(&d->tcf_tm);
        bstats_update(&d->tcf_bstats, skb);
 
        /* print policy string followed by _ then packet count
 
        struct tcf_skbedit *d = a->priv;
 
        spin_lock(&d->tcf_lock);
-       d->tcf_tm.lastuse = jiffies;
+       tcf_lastuse_update(&d->tcf_tm);
        bstats_update(&d->tcf_bstats, skb);
 
        if (d->flags & SKBEDIT_F_PRIORITY)
 
        int err;
 
        spin_lock(&v->tcf_lock);
-       v->tcf_tm.lastuse = jiffies;
+       tcf_lastuse_update(&v->tcf_tm);
        bstats_update(&v->tcf_bstats, skb);
        action = v->tcf_action;