Lines Matching refs:hw_data

304 net_dm_hw_reset_per_cpu_data(struct per_cpu_dm_data *hw_data)  in net_dm_hw_reset_per_cpu_data()  argument
315 mod_timer(&hw_data->send_timer, jiffies + HZ / 10); in net_dm_hw_reset_per_cpu_data()
318 raw_spin_lock_irqsave(&hw_data->lock, flags); in net_dm_hw_reset_per_cpu_data()
319 swap(hw_data->hw_entries, hw_entries); in net_dm_hw_reset_per_cpu_data()
320 raw_spin_unlock_irqrestore(&hw_data->lock, flags); in net_dm_hw_reset_per_cpu_data()
411 struct per_cpu_dm_data *hw_data; in net_dm_hw_summary_work() local
415 hw_data = container_of(work, struct per_cpu_dm_data, dm_alert_work); in net_dm_hw_summary_work()
417 hw_entries = net_dm_hw_reset_per_cpu_data(hw_data); in net_dm_hw_summary_work()
444 struct per_cpu_dm_data *hw_data; in net_dm_hw_trap_summary_probe() local
451 hw_data = this_cpu_ptr(&dm_hw_cpu_data); in net_dm_hw_trap_summary_probe()
452 raw_spin_lock_irqsave(&hw_data->lock, flags); in net_dm_hw_trap_summary_probe()
453 hw_entries = hw_data->hw_entries; in net_dm_hw_trap_summary_probe()
475 if (!timer_pending(&hw_data->send_timer)) { in net_dm_hw_trap_summary_probe()
476 hw_data->send_timer.expires = jiffies + dm_delay * HZ; in net_dm_hw_trap_summary_probe()
477 add_timer(&hw_data->send_timer); in net_dm_hw_trap_summary_probe()
481 raw_spin_unlock_irqrestore(&hw_data->lock, flags); in net_dm_hw_trap_summary_probe()
945 struct per_cpu_dm_data *hw_data; in net_dm_hw_packet_work() local
950 hw_data = container_of(work, struct per_cpu_dm_data, dm_alert_work); in net_dm_hw_packet_work()
954 spin_lock_irqsave(&hw_data->drop_queue.lock, flags); in net_dm_hw_packet_work()
955 skb_queue_splice_tail_init(&hw_data->drop_queue, &list); in net_dm_hw_packet_work()
956 spin_unlock_irqrestore(&hw_data->drop_queue.lock, flags); in net_dm_hw_packet_work()
969 struct per_cpu_dm_data *hw_data; in net_dm_hw_trap_packet_probe() local
990 hw_data = this_cpu_ptr(&dm_hw_cpu_data); in net_dm_hw_trap_packet_probe()
992 spin_lock_irqsave(&hw_data->drop_queue.lock, flags); in net_dm_hw_trap_packet_probe()
993 if (skb_queue_len(&hw_data->drop_queue) < net_dm_queue_len) in net_dm_hw_trap_packet_probe()
994 __skb_queue_tail(&hw_data->drop_queue, nskb); in net_dm_hw_trap_packet_probe()
997 spin_unlock_irqrestore(&hw_data->drop_queue.lock, flags); in net_dm_hw_trap_packet_probe()
999 schedule_work(&hw_data->dm_alert_work); in net_dm_hw_trap_packet_probe()
1004 spin_unlock_irqrestore(&hw_data->drop_queue.lock, flags); in net_dm_hw_trap_packet_probe()
1005 u64_stats_update_begin(&hw_data->stats.syncp); in net_dm_hw_trap_packet_probe()
1006 u64_stats_inc(&hw_data->stats.dropped); in net_dm_hw_trap_packet_probe()
1007 u64_stats_update_end(&hw_data->stats.syncp); in net_dm_hw_trap_packet_probe()
1066 struct per_cpu_dm_data *hw_data = &per_cpu(dm_hw_cpu_data, cpu); in net_dm_hw_monitor_start() local
1069 INIT_WORK(&hw_data->dm_alert_work, ops->hw_work_item_func); in net_dm_hw_monitor_start()
1070 timer_setup(&hw_data->send_timer, sched_send_work, 0); in net_dm_hw_monitor_start()
1071 hw_entries = net_dm_hw_reset_per_cpu_data(hw_data); in net_dm_hw_monitor_start()
1087 struct per_cpu_dm_data *hw_data = &per_cpu(dm_hw_cpu_data, cpu); in net_dm_hw_monitor_start() local
1090 timer_delete_sync(&hw_data->send_timer); in net_dm_hw_monitor_start()
1091 cancel_work_sync(&hw_data->dm_alert_work); in net_dm_hw_monitor_start()
1092 while ((skb = __skb_dequeue(&hw_data->drop_queue))) { in net_dm_hw_monitor_start()
1121 struct per_cpu_dm_data *hw_data = &per_cpu(dm_hw_cpu_data, cpu); in net_dm_hw_monitor_stop() local
1124 timer_delete_sync(&hw_data->send_timer); in net_dm_hw_monitor_stop()
1125 cancel_work_sync(&hw_data->dm_alert_work); in net_dm_hw_monitor_stop()
1126 while ((skb = __skb_dequeue(&hw_data->drop_queue))) { in net_dm_hw_monitor_stop()
1490 struct per_cpu_dm_data *hw_data = &per_cpu(dm_hw_cpu_data, cpu); in net_dm_hw_stats_read() local
1491 struct net_dm_stats *cpu_stats = &hw_data->stats; in net_dm_hw_stats_read()
1710 struct per_cpu_dm_data *hw_data; in net_dm_hw_cpu_data_init() local
1712 hw_data = &per_cpu(dm_hw_cpu_data, cpu); in net_dm_hw_cpu_data_init()
1713 __net_dm_cpu_data_init(hw_data); in net_dm_hw_cpu_data_init()
1718 struct per_cpu_dm_data *hw_data; in net_dm_hw_cpu_data_fini() local
1720 hw_data = &per_cpu(dm_hw_cpu_data, cpu); in net_dm_hw_cpu_data_fini()
1721 kfree(hw_data->hw_entries); in net_dm_hw_cpu_data_fini()
1722 __net_dm_cpu_data_fini(hw_data); in net_dm_hw_cpu_data_fini()