Add debug information.
Fix Bug: 1. In pskb_expand_head, skb data is replace with a new one.
Add debug print.
Fix Bug: 1. Don't release original skb->head for pool skb.
Add printk to debug.
Fix Bug: A regular skb may clone a pool skb, which caused the pool skb data freed.
Fix Bug: 1. Initialize skb->data_cache for clone pool skb. 2. Fail pskb_expand_head when new size is bigger than POOL_DATA_SIZE.
Fix Bug: 1. Reload a new data for pool skb when it's cloned by a slab skb.
Update Code: 1. Double the pool skb number.
Increase dmesg log size.
Fix Bug: 1. When reloading skb data, should set the data_cache for both the origin skb and the clone skb
--amend
Fix Bug: 1. Allocate a new skb data for any skb in pskb_expand_head.
Fix Bug: 1. Using skb_shinfo(skb)->pool_id as the indicator to reload data cache for pool skb, instead of skb->pool_id. Since skb_shinfo(skb)->pool_id can be -1 after the skb data cache is reoaded.
Clean Code: Restore .config.
Clean Code: 1. Clean skb pool code. 2. Disable preempt when free clone pool skb if it's in the process context.
Clean Code: Remove printk in slab.c