[NET]: Store skb->timestamp as offset to a base timestamp
Reduces skb size by 8 bytes on 64-bit. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
25ed891019
commit
a61bbcf28a
@@ -513,7 +513,7 @@ static void rx_complete (amb_dev * dev, rx_out * rx) {
|
||||
|
||||
// VC layer stats
|
||||
atomic_inc(&atm_vcc->stats->rx);
|
||||
do_gettimeofday(&skb->stamp);
|
||||
__net_timestamp(skb);
|
||||
// end of our responsability
|
||||
atm_vcc->push (atm_vcc, skb);
|
||||
return;
|
||||
|
||||
@@ -325,7 +325,7 @@ static int atmtcp_c_send(struct atm_vcc *vcc,struct sk_buff *skb)
|
||||
result = -ENOBUFS;
|
||||
goto done;
|
||||
}
|
||||
do_gettimeofday(&new_skb->stamp);
|
||||
__net_timestamp(new_skb);
|
||||
memcpy(skb_put(new_skb,skb->len),skb->data,skb->len);
|
||||
out_vcc->push(out_vcc,new_skb);
|
||||
atomic_inc(&vcc->stats->tx);
|
||||
|
||||
@@ -537,7 +537,7 @@ static int rx_aal0(struct atm_vcc *vcc)
|
||||
return 0;
|
||||
}
|
||||
skb_put(skb,length);
|
||||
skb->stamp = eni_vcc->timestamp;
|
||||
skb_set_timestamp(skb, &eni_vcc->timestamp);
|
||||
DPRINTK("got len %ld\n",length);
|
||||
if (do_rx_dma(vcc,skb,1,length >> 2,length >> 2)) return 1;
|
||||
eni_vcc->rxing++;
|
||||
|
||||
@@ -815,7 +815,7 @@ static void process_incoming (struct fs_dev *dev, struct queue *q)
|
||||
skb_put (skb, qe->p1 & 0xffff);
|
||||
ATM_SKB(skb)->vcc = atm_vcc;
|
||||
atomic_inc(&atm_vcc->stats->rx);
|
||||
do_gettimeofday(&skb->stamp);
|
||||
__net_timestamp(skb);
|
||||
fs_dprintk (FS_DEBUG_ALLOC, "Free rec-skb: %p (pushed)\n", skb);
|
||||
atm_vcc->push (atm_vcc, skb);
|
||||
fs_dprintk (FS_DEBUG_ALLOC, "Free rec-d: %p\n", pe);
|
||||
|
||||
@@ -1176,7 +1176,7 @@ fore200e_push_rpd(struct fore200e* fore200e, struct atm_vcc* vcc, struct rpd* rp
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
do_gettimeofday(&skb->stamp);
|
||||
__net_timestamp(skb);
|
||||
|
||||
#ifdef FORE200E_52BYTE_AAL0_SDU
|
||||
if (cell_header) {
|
||||
|
||||
@@ -1886,7 +1886,7 @@ he_service_rbrq(struct he_dev *he_dev, int group)
|
||||
if (rx_skb_reserve > 0)
|
||||
skb_reserve(skb, rx_skb_reserve);
|
||||
|
||||
do_gettimeofday(&skb->stamp);
|
||||
__net_timestamp(skb);
|
||||
|
||||
for (iov = he_vcc->iov_head;
|
||||
iov < he_vcc->iov_tail; ++iov) {
|
||||
|
||||
@@ -1034,7 +1034,7 @@ static void rx_schedule (hrz_dev * dev, int irq) {
|
||||
struct atm_vcc * vcc = ATM_SKB(skb)->vcc;
|
||||
// VC layer stats
|
||||
atomic_inc(&vcc->stats->rx);
|
||||
do_gettimeofday(&skb->stamp);
|
||||
__net_timestamp(skb);
|
||||
// end of our responsability
|
||||
vcc->push (vcc, skb);
|
||||
}
|
||||
|
||||
@@ -1101,7 +1101,7 @@ dequeue_rx(struct idt77252_dev *card, struct rsq_entry *rsqe)
|
||||
cell, ATM_CELL_PAYLOAD);
|
||||
|
||||
ATM_SKB(sb)->vcc = vcc;
|
||||
do_gettimeofday(&sb->stamp);
|
||||
__net_timestamp(sb);
|
||||
vcc->push(vcc, sb);
|
||||
atomic_inc(&vcc->stats->rx);
|
||||
|
||||
@@ -1179,7 +1179,7 @@ dequeue_rx(struct idt77252_dev *card, struct rsq_entry *rsqe)
|
||||
|
||||
skb_trim(skb, len);
|
||||
ATM_SKB(skb)->vcc = vcc;
|
||||
do_gettimeofday(&skb->stamp);
|
||||
__net_timestamp(skb);
|
||||
|
||||
vcc->push(vcc, skb);
|
||||
atomic_inc(&vcc->stats->rx);
|
||||
@@ -1201,7 +1201,7 @@ dequeue_rx(struct idt77252_dev *card, struct rsq_entry *rsqe)
|
||||
|
||||
skb_trim(skb, len);
|
||||
ATM_SKB(skb)->vcc = vcc;
|
||||
do_gettimeofday(&skb->stamp);
|
||||
__net_timestamp(skb);
|
||||
|
||||
vcc->push(vcc, skb);
|
||||
atomic_inc(&vcc->stats->rx);
|
||||
@@ -1340,7 +1340,7 @@ idt77252_rx_raw(struct idt77252_dev *card)
|
||||
ATM_CELL_PAYLOAD);
|
||||
|
||||
ATM_SKB(sb)->vcc = vcc;
|
||||
do_gettimeofday(&sb->stamp);
|
||||
__net_timestamp(sb);
|
||||
vcc->push(vcc, sb);
|
||||
atomic_inc(&vcc->stats->rx);
|
||||
|
||||
|
||||
@@ -1427,7 +1427,7 @@ static void vcc_rx_aal5(struct lanai_vcc *lvcc, int endptr)
|
||||
skb_put(skb, size);
|
||||
vcc_rx_memcpy(skb->data, lvcc, size);
|
||||
ATM_SKB(skb)->vcc = lvcc->rx.atmvcc;
|
||||
do_gettimeofday(&skb->stamp);
|
||||
__net_timestamp(skb);
|
||||
lvcc->rx.atmvcc->push(lvcc->rx.atmvcc, skb);
|
||||
atomic_inc(&lvcc->rx.atmvcc->stats->rx);
|
||||
out:
|
||||
|
||||
@@ -2213,7 +2213,7 @@ static void dequeue_rx(ns_dev *card, ns_rsqe *rsqe)
|
||||
memcpy(sb->tail, cell, ATM_CELL_PAYLOAD);
|
||||
skb_put(sb, ATM_CELL_PAYLOAD);
|
||||
ATM_SKB(sb)->vcc = vcc;
|
||||
do_gettimeofday(&sb->stamp);
|
||||
__net_timestamp(sb);
|
||||
vcc->push(vcc, sb);
|
||||
atomic_inc(&vcc->stats->rx);
|
||||
cell += ATM_CELL_PAYLOAD;
|
||||
@@ -2346,7 +2346,7 @@ static void dequeue_rx(ns_dev *card, ns_rsqe *rsqe)
|
||||
skb->destructor = ns_sb_destructor;
|
||||
#endif /* NS_USE_DESTRUCTORS */
|
||||
ATM_SKB(skb)->vcc = vcc;
|
||||
do_gettimeofday(&skb->stamp);
|
||||
__net_timestamp(skb);
|
||||
vcc->push(vcc, skb);
|
||||
atomic_inc(&vcc->stats->rx);
|
||||
}
|
||||
@@ -2373,7 +2373,7 @@ static void dequeue_rx(ns_dev *card, ns_rsqe *rsqe)
|
||||
sb->destructor = ns_sb_destructor;
|
||||
#endif /* NS_USE_DESTRUCTORS */
|
||||
ATM_SKB(sb)->vcc = vcc;
|
||||
do_gettimeofday(&sb->stamp);
|
||||
__net_timestamp(sb);
|
||||
vcc->push(vcc, sb);
|
||||
atomic_inc(&vcc->stats->rx);
|
||||
}
|
||||
@@ -2398,7 +2398,7 @@ static void dequeue_rx(ns_dev *card, ns_rsqe *rsqe)
|
||||
memcpy(skb->data, sb->data, NS_SMBUFSIZE);
|
||||
skb_put(skb, len - NS_SMBUFSIZE);
|
||||
ATM_SKB(skb)->vcc = vcc;
|
||||
do_gettimeofday(&skb->stamp);
|
||||
__net_timestamp(skb);
|
||||
vcc->push(vcc, skb);
|
||||
atomic_inc(&vcc->stats->rx);
|
||||
}
|
||||
@@ -2505,7 +2505,7 @@ static void dequeue_rx(ns_dev *card, ns_rsqe *rsqe)
|
||||
#ifdef NS_USE_DESTRUCTORS
|
||||
hb->destructor = ns_hb_destructor;
|
||||
#endif /* NS_USE_DESTRUCTORS */
|
||||
do_gettimeofday(&hb->stamp);
|
||||
__net_timestamp(hb);
|
||||
vcc->push(vcc, hb);
|
||||
atomic_inc(&vcc->stats->rx);
|
||||
}
|
||||
|
||||
@@ -400,7 +400,7 @@ unsigned long *x;
|
||||
EVENT("error code 0x%x/0x%x\n",(here[3] & uPD98401_AAL5_ES) >>
|
||||
uPD98401_AAL5_ES_SHIFT,error);
|
||||
skb = ((struct rx_buffer_head *) bus_to_virt(here[2]))->skb;
|
||||
do_gettimeofday(&skb->stamp);
|
||||
__net_timestamp(skb);
|
||||
#if 0
|
||||
printk("[-3..0] 0x%08lx 0x%08lx 0x%08lx 0x%08lx\n",((unsigned *) skb->data)[-3],
|
||||
((unsigned *) skb->data)[-2],((unsigned *) skb->data)[-1],
|
||||
|
||||
Reference in New Issue
Block a user