From mboxrd@z Thu Jan 1 00:00:00 1970 From: raghu.prabhu13@gmail.com (Raghavendra D Prabhu) Date: Sun, 25 Dec 2011 00:24:45 +0530 Subject: Packet drop while using BPF filter In-Reply-To: References: <20111222134832.GA25375@Xye> Message-ID: <20111224185445.GC35489@Xye> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org * On Sat, Dec 24, 2011 at 09:57:50PM +0530, Mukesh Yadav wrote: >Hi Raghavendra, > >" /proc/sys/net/core/bpf_jit_**enable " is not present on machine. Seems >kernel need to be configured for these. Yes, it is a fairly new option -- CONFIG_BPF_JIT=y >Btw CPU scaling issue is resolved. Packet drop was because all interrupt >handling was happening on core where packets were getting drop. Tuning >system for interrupt handling using smp_affinity resolved the issue. That is generally how it is done. The core which handles packets initially handles the interrupts too. Do you mean all non-network interrupts were happening on same core ? Then give irqbalance a shot. > >Thanks >Mukesh > >On 22 December 2011 19:18, Raghavendra D Prabhu wrote: > >> Hi, >> Have you tried enabling -- /proc/sys/net/core/bpf_jit_**enable -- >> provides JIT compiled BPF on 64 bit linux. >> * On Wed, Dec 21, 2011 at 12:08:04AM +0530, Mukesh Yadav < >> mukesh.fkd at gmail.com> wrote: >>> Hi Guys, >>> I am working on user level code which uses BPF filter. >>> Solution has two threads and BPF filter for incoming packets to raw >>> socket >>> dedicated to each thread. >>> Intent is to divide ingress traffic between two thread based on whether >>> dest IP is even or odd. >>> BPF filters used are: >>> Even IP filter :-> tcpdump -i interface 'ether dst && ip[19] & >>> 0x01 = 0' >>> Odd IP filter :-> tcpdump -i interface 'ether dst && ip[19] & >>> 0x01 = 1' >>> There is a packet loss for odd IP thread even when CPU is available. >>> Reason >>> being packet drop due recv buffer full. >>> Same amount of traffic is well handled by even IP thread(user code being >>> same in both), scaling CPU to full 100%. >>> In odd IP thread, If filter is changed to "tcpdump -i interface 'ether >>> dst >>> && ip proto 17' ", all goes fine. >>> Also CPU usage at kernel drops from 50% to 4 % for a particular amount of >>> traffic. >>> Would appreciate any I/ps for reducing load at kernel for packet >>> filtering(Odd/Even IP distribution) >>> Cheers >>> Mukesh >> ______________________________**_________________ >>> Kernelnewbies mailing list >>> Kernelnewbies at kernelnewbies.**org >>> http://lists.kernelnewbies.**org/mailman/listinfo/**kernelnewbies >> -------------------------- >> Raghavendra Prabhu >> GPG Id : 0xD72BE977 >> Fingerprint: B93F EBCB 8E05 7039 CD3C A4B8 A616 DCA1 D72B E977 >> www: wnohang.net -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 490 bytes Desc: not available Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20111225/dea47c08/attachment.bin