Netdev List
 help / color / mirror / Atom feed
* Re: [GIT] Networking
From: David Miller @ 2013-02-08 21:57 UTC (permalink / raw)
  To: torvalds; +Cc: akpm, netdev, linux-kernel, romieu, nic_swsd
In-Reply-To: <CA+55aFx81-GGEEXx+MqJvwJsDoBMMqSN80=J8LmN-Ufu4+kKcw@mail.gmail.com>

From: Linus Torvalds <torvalds@linux-foundation.org>
Date: Sat, 9 Feb 2013 08:00:39 +1100

> However, there's still the r8169 regressions (see the emails with the
> subject "regression: NETDEV WATCHDOG: eth0 (r8169): transmit queue 0
> timed out"). It's bisected, and a revert is reported to fix things.
> It's not in this pull request. Comments?

We're waiting for Hayes Wang, the author and the person most
knowledgable about those changes, to respond.

If I don't hear anything by next Weds I'll simply revert the
suspect changes.

^ permalink raw reply

* Re: Softirqs without captured packets
From: Javier Domingo @ 2013-02-08 21:22 UTC (permalink / raw)
  To: David Miller; +Cc: netdev
In-Reply-To: <20130208.151523.798634382725569230.davem@davemloft.net>

[-- Attachment #1: Type: text/plain, Size: 805 bytes --]

This is the patch to enable the tracer module, programed for version
v3.6 in the mainline.

It is part of a bigger project I am trying to release, but I am not
still authorized to release other's source code. The sourcecode
contained here is just mine, and I release it under GPLv3.

Hope it works without any modification! git apply worked for me.

Cheers and thank you for your attention,
Javier Domingo


2013/2/8 David Miller <davem@davemloft.net>:
> From: Javier Domingo <javierdo1@gmail.com>
> Date: Fri, 8 Feb 2013 21:02:41 +0100
>
>> Sorry, I think I misexplained,
>>
>> I wanted to say net's receive softirq: net_rx_action, not softirqs in general.
>
> If you don't show us your code we have to guess all sorts of things
> like this.
>
> Don't expect much help until you post your tracer module.

[-- Attachment #2: capture-tracer.patch --]
[-- Type: application/octet-stream, Size: 7711 bytes --]

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 59dc05f3..3533c50 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -311,6 +311,24 @@ enum netdev_state_t {
 	__LINK_STATE_DORMANT,
 };
 
+#if IS_ENABLED(CONFIG_NQAS_CAPTURE_TRACER)
+
+/*
+ * Structure for measuring packet arrival to the system
+ */
+struct capture_tracer_measure {
+	unsigned long long int start;
+	unsigned long long int end;
+	unsigned int budget;
+	unsigned int packets;
+};
+
+/*
+ * Function to be filled up
+ */
+extern void (*save_capture_tracer_measure) (struct capture_tracer_measure*);
+
+#endif /* CONFIG_NQAS_CAPTURE_TRACER */
 
 /*
  * This structure holds at boot time configured netdevice settings. They
diff --git a/net/Kconfig b/net/Kconfig
index 245831b..f761f3d 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -335,6 +335,7 @@ source "net/caif/Kconfig"
 source "net/ceph/Kconfig"
 source "net/nfc/Kconfig"
 
+source "net/nqas/Kconfig"
 
 endif   # if NET
 
diff --git a/net/Makefile b/net/Makefile
index 4f4ee08..076935b 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -70,3 +70,4 @@ obj-$(CONFIG_CEPH_LIB)		+= ceph/
 obj-$(CONFIG_BATMAN_ADV)	+= batman-adv/
 obj-$(CONFIG_NFC)		+= nfc/
 obj-$(CONFIG_OPENVSWITCH)	+= openvswitch/
+obj-$(CONFIG_NQAS)		+= nqas/
diff --git a/net/core/dev.c b/net/core/dev.c
index 89e33a5..0aa2b38 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3895,12 +3950,22 @@ void netif_napi_del(struct napi_struct *napi)
 }
 EXPORT_SYMBOL(netif_napi_del);
 
+
+#if IS_ENABLED(CONFIG_NQAS_CAPTURE_TRACER)
+void (*save_capture_tracer_measure)(struct capture_tracer_measure*);
+EXPORT_SYMBOL(save_capture_tracer_measure);
+#endif
+
 static void net_rx_action(struct softirq_action *h)
 {
 	struct softnet_data *sd = &__get_cpu_var(softnet_data);
 	unsigned long time_limit = jiffies + 2;
 	int budget = netdev_budget;
 	void *have;
+#if IS_ENABLED(CONFIG_NQAS_CAPTURE_TRACER)
+	struct capture_tracer_measure capture_tracer_measure = {0,0,netdev_budget,0};
+	capture_tracer_measure.start = sched_clock();
+#endif  /* CONFIG_NQAS_CAPTURE_TRACER */
 
 	local_irq_disable();
 
@@ -3959,6 +4047,9 @@ static void net_rx_action(struct softirq_action *h)
 			} else
 				list_move_tail(&n->poll_list, &sd->poll_list);
 		}
+#if IS_ENABLED(CONFIG_NQAS_CAPTURE_TRACER)
+		capture_tracer_measure.packets += work;
+#endif
 
 		netpoll_poll_unlock(have);
 	}
@@ -3973,6 +4080,11 @@ out:
 	dma_issue_pending_all();
 #endif
 
+#if IS_ENABLED(CONFIG_NQAS_CAPTURE_TRACER)
+	capture_tracer_measure.end = sched_clock();
+	if(save_capture_tracer_measure != NULL)
+		save_capture_tracer_measure(&capture_tracer_measure);
+#endif /* CONFIG_NQAS_CAPTURE_TRACER */
 	return;
 
 softnet_break:
@@ -6574,6 +6696,9 @@ static struct pernet_operations __net_initdata default_device_ops = {
 static int __init net_dev_init(void)
 {
 	int i, rc = -ENOMEM;
+#if IS_ENABLED(CONFIG_NQAS_CAPTURE_TRACER)
+	save_capture_tracer_measure=NULL;
+#endif /* CONFIG_NQAS_CAPTURE_TRACER */
 
 	BUG_ON(!dev_boot_phase);
 
diff --git a/net/nqas/Kconfig b/net/nqas/Kconfig
new file mode 100644
index 0000000..bed502c
--- /dev/null
+++ b/net/nqas/Kconfig
@@ -0,0 +1,18 @@
+menuconfig NQAS
+	bool "NQaS"
+	default n
+	---help---
+	  Enabling this will give you access to features developed by NQaS
+	  group.
+if NQAS
+
+comment "NQaS utilities"
+config NQAS_CAPTURE_TRACER
+	tristate "Packet capture tracer"
+	depends on m
+	default m
+	---help---
+	  This is a module that when loaded, starts to save the time a softirq
+	  started, ended and how many packets did capture in that time
+
+endif # if NQAS
diff --git a/net/nqas/Makefile b/net/nqas/Makefile
new file mode 100644
index 0000000..3df992d
--- /dev/null
+++ b/net/nqas/Makefile
@@ -0,0 +1,5 @@
+#
+# Makefile for nqas research group's programs and features
+#
+
+obj-$(CONFIG_NQAS_CAPTURE_TRACER) += capture_tracer.o
\ No newline at end of file
diff --git a/net/nqas/capture_tracer.c b/net/nqas/capture_tracer.c
new file mode 100644
index 0000000..88d81c4
--- /dev/null
+++ b/net/nqas/capture_tracer.c
@@ -0,0 +1,115 @@
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/proc_fs.h>
+#include <linux/vmalloc.h>
+#include <linux/netdevice.h>
+#include <linux/seq_file.h>
+
+MODULE_AUTHOR("Javier Domingo <javierdo1@gmail.com>");
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("This module displays custom measures about net_rx_action, start and end time, budget and captured packets");
+
+#define CAPTURE_TRACER_TOTAL_MEASURES 1024*1024
+#define CAPTURE_TRACER_MEMORY_SIZE CAPTURE_TRACER_TOTAL_MEASURES*sizeof(struct capture_tracer_measure)
+struct proc_dir_entry *capture_tracer_file;
+void *memory_zone;
+struct capture_tracer_measure *measure_start;
+struct capture_tracer_measure *measure_end;
+
+void capture_tracer_saver(struct capture_tracer_measure *m){
+	if (measure_end >= ((struct capture_tracer_measure*)(memory_zone + CAPTURE_TRACER_MEMORY_SIZE )))
+		return;
+	measure_end->start=m->start;
+	measure_end->end=m->end;
+	measure_end->packets=m->packets;
+	measure_end->budget=m->budget;
+	measure_end++;
+
+	return;
+}
+
+static void *capture_tracer_seq_start(struct seq_file *s, loff_t *pos)
+{
+	if(*pos >= CAPTURE_TRACER_TOTAL_MEASURES
+		|| *pos >= ((measure_end - measure_start) / sizeof(struct capture_tracer_measure)))
+		return NULL;
+	return (memory_zone + sizeof(struct capture_tracer_measure) * (*pos));
+}
+
+void *capture_tracer_seq_next(struct seq_file *s, void *iterator, loff_t *pos)
+{
+	(*pos)++;
+	if(*pos >= CAPTURE_TRACER_TOTAL_MEASURES
+		|| *pos >= ((measure_end - measure_start) / sizeof(struct capture_tracer_measure)))
+		return NULL;
+	return (memory_zone + sizeof(struct capture_tracer_measure) * (*pos));
+}
+
+static int capture_tracer_seq_show(struct seq_file *s, void *v)
+{
+	struct capture_tracer_measure *measure = (struct capture_tracer_measure *) v;
+	seq_printf(s, "%lld - %lld : %d - %d\n", measure->start, measure->end, measure->budget, measure->packets);
+	return 0;
+}
+
+static void capture_tracer_seq_stop(struct seq_file *s, void *v)
+{
+	return;
+}
+
+static struct seq_operations capture_tracer_seq_ops = {
+	.start = capture_tracer_seq_start,
+	.next = capture_tracer_seq_next,
+	.stop = capture_tracer_seq_stop,
+	.show = capture_tracer_seq_show
+};
+
+static int capture_tracer_seq_open(struct inode *inode, struct file *file)
+{
+	return seq_open(file, &capture_tracer_seq_ops);
+}
+
+static struct file_operations capture_tracer_file_ops = {
+	.owner = THIS_MODULE,
+	.open = capture_tracer_seq_open,
+	.read = seq_read,
+	.llseek = seq_lseek,
+	.release = seq_release
+};
+
+static int __init capture_tracer_init (void)
+{
+	printk("*** Loading softeator module for measuring netsoftirqs ***\n");
+
+	/* First we create the proc entry */
+	proc_create("capture_tracer", 0, NULL, &capture_tracer_file_ops);
+
+	/* Second we allocate all the memory zone */
+	memory_zone = vmalloc(CAPTURE_TRACER_MEMORY_SIZE);
+	if(unlikely(!memory_zone)){
+		printk (KERN_ERR "cannot allocate %ud memory zone for %d measures\n", CAPTURE_TRACER_MEMORY_SIZE, CAPTURE_TRACER_TOTAL_MEASURES);
+		remove_proc_entry("capture_tracer",0);
+		return 1;
+	}
+
+	measure_start = (struct capture_tracer_measure *)memory_zone;
+
+	measure_end = (struct capture_tracer_measure *)memory_zone;
+
+	save_capture_tracer_measure = &capture_tracer_saver;
+
+	return 0;
+}
+
+
+static void __exit capture_tracer_exit (void)
+{
+	printk("*** Unloading softeator module for measuring netsoftirqs ***\n");
+	save_capture_tracer_measure = NULL;
+	remove_proc_entry("capture_tracer",0);
+	if(likely(memory_zone))
+		vfree(memory_zone);
+}
+
+module_init(capture_tracer_init);
+module_exit(capture_tracer_exit);

^ permalink raw reply related

* Re: [GIT] Networking
From: Linus Torvalds @ 2013-02-08 21:00 UTC (permalink / raw)
  To: David Miller
  Cc: Andrew Morton, Network Development, Linux Kernel Mailing List
In-Reply-To: <20130208.151713.1708597749091717933.davem@davemloft.net>

Pulled.

However, there's still the r8169 regressions (see the emails with the
subject "regression: NETDEV WATCHDOG: eth0 (r8169): transmit queue 0
timed out"). It's bisected, and a revert is reported to fix things.
It's not in this pull request. Comments?

               Linus

On Sat, Feb 9, 2013 at 7:17 AM, David Miller <davem@davemloft.net> wrote:
>
>   git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git master
>
> for you to fetch changes up to a1c83b054ebe1264ed9ae9d5c286f9eae68e60ea:

^ permalink raw reply

* IPv6 Address Resolution in Linux 2.6.27
From: Mudric, Dusan (Dusan) @ 2013-02-08 20:23 UTC (permalink / raw)
  To: netdev@vger.kernel.org

Hi,

I experience Address Resolution problem while using Linux 2.6.27.

A and B use global IPv6 addresses. 
. 2009::6:173 - 'A'  global address (the capture monitors its port)
. 2009::6:172 - 'B' global address

Both A and B are about 8 seconds in the reachable states (STALE / DELAY / PROBE) with full audio, and then ~30 seconds in the INCOMPLETE state. This happens periodically.

Media behavior when phones talk P2P:
RTP directions   #reference packet  Starting time Time diff [seconds]
172 <- -> 173          940                                13.5                  -
172     -> 173        1779                                21.5                 8
172 <- -> 173        4134                               63.9              42
172     -> 173         4983                               71.9                8
172 <- -> 173        7361                             114.3             42
172     -> 173         8211                             122.4               8

I added debug info in net\ipv6\ndisc.c ndisc_recv_na() to print src and dst IPs.
I added debug info in neigh_update() to print LL address and a new state
I enabled NEIGH_PRINTKx and ND_PRINTKx

Observations:
1. 173 discover and lose 172 address in periodic manner - 8 / 42 / 8 / 42 / .
2. When 173 loses 172 (and when it gets it again) we see ICMPv6 traffic: NS from 173 to 172 and NA from 172 to 173
. During the time 173 can't reach 172 there are ICMPv6 NS messages from 173 and NA to 173. 173 ndisc_recv_na() is not called. NAs are silently discarded somewhere. At the same time, 173 neighbor cache entry does not follow the RFC4861. neigh_update() state changes from INCOMPLETE to STALE do DELAYED after the first timeout. It should stay in INCOMPLETE. From DELAYED state it goes to PROBE which is allowed by RFC. It stays in PROBE for 3sec (3 NS retransmissions) and goes to FAILED state. 2sec later is send NS again and goes into DELAYED state.
3. NDP:
a. 172 sends only 3 solicitation request for 173 during the capture period, while 173 sends solicitation to 172 every second
b. 173 reach 172 only after 172 sends advertisement to 173' LL address (not the global one and without the "override" flag)

Q: Is this a known problem? If yes, is there a patch for it?

Regards, 
Dušan Mudrić 

Software Architect
Endpoints & Video Solutions
Avaya Global Communication Systems
Telephone: (613) 595-9045
425 Legget Drive, Ottawa, Ontario, K2K 2W2

"I have always believed, and I still believe, that whatever good or bad fortune may come our way, we can always give it meaning and transform it into something of value." - Hermann Hesse

^ permalink raw reply

* Re: [net-next 05/10] igb: Update igb to use a path similar to ixgbe to determine when to stop Tx
From: Alexander Duyck @ 2013-02-08 20:19 UTC (permalink / raw)
  To: David Miller; +Cc: eric.dumazet, jeffrey.t.kirsher, netdev, gospo, sassmann
In-Reply-To: <20130208.141854.2122874496462368419.davem@davemloft.net>

On 2/8/2013 11:18 AM, David Miller wrote:
> From: Alexander Duyck <alexander.h.duyck@intel.com>
> Date: Fri, 08 Feb 2013 09:11:10 -0800
>
>> For igb the IGB_MAX_DATA_PER_TXD is 32K as well.  So if I am not
>> mistaken we should be fine.  The only time we risk exceeding that is
>> if we have 64K page size.  It sounds like we may need to work in the
>> ixgbe driver though since I believe the limit for it is only 16K per
>> descriptor.
>>
>> I will also submit an update for this patch that replaces PAGE_SIZE
>> with NETDEV_FRAG_PAGE_MAX_SIZE in order to keep the two in sync.
> I therefore expect a respin of this series from Jeff once the
> update of this patch is resolved.
>
> Thanks.

I will work with Jeff to get that resolved.  Also I will be submitting 
one patch directly it looks like since NETDEV_FRAG_PAGE_MAX_SIZE turns 
out to be defined in skbuff.c so I will need to pull it into skbuff.h 
most likely.

Thanks,

Alex

^ permalink raw reply

* [PATCH] skbuff: Move definition of NETDEV_FRAG_PAGE_MAX_SIZE
From: Alexander Duyck @ 2013-02-08 20:17 UTC (permalink / raw)
  To: netdev; +Cc: davem, eric.dumazet, jeffrey.t.kirsher

In order to address the fact that some devices cannot support the full 32K
frag size we need to have the value accessible somewhere so that we can use it
to do comparisons against what the device can support.  As such I am moving
the values out of skbuff.c and into skbuff.h.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
---
 include/linux/skbuff.h |    4 ++++
 net/core/skbuff.c      |    4 ----
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 0259b71..d7573c3 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -1832,6 +1832,10 @@ static inline void __skb_queue_purge(struct sk_buff_head *list)
 		kfree_skb(skb);
 }
 
+#define NETDEV_FRAG_PAGE_MAX_ORDER get_order(32768)
+#define NETDEV_FRAG_PAGE_MAX_SIZE  (PAGE_SIZE << NETDEV_FRAG_PAGE_MAX_ORDER)
+#define NETDEV_PAGECNT_MAX_BIAS	   NETDEV_FRAG_PAGE_MAX_SIZE
+
 extern void *netdev_alloc_frag(unsigned int fragsz);
 
 extern struct sk_buff *__netdev_alloc_skb(struct net_device *dev,
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index bddc1dd..6e4a1e1 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -351,10 +351,6 @@ struct netdev_alloc_cache {
 };
 static DEFINE_PER_CPU(struct netdev_alloc_cache, netdev_alloc_cache);
 
-#define NETDEV_FRAG_PAGE_MAX_ORDER get_order(32768)
-#define NETDEV_FRAG_PAGE_MAX_SIZE  (PAGE_SIZE << NETDEV_FRAG_PAGE_MAX_ORDER)
-#define NETDEV_PAGECNT_MAX_BIAS	   NETDEV_FRAG_PAGE_MAX_SIZE
-
 static void *__netdev_alloc_frag(unsigned int fragsz, gfp_t gfp_mask)
 {
 	struct netdev_alloc_cache *nc;

^ permalink raw reply related

* [GIT] Networking
From: David Miller @ 2013-02-08 20:17 UTC (permalink / raw)
  To: torvalds; +Cc: akpm, netdev, linux-kernel


1) Revert iwlwifi reclaimed packet tracking, it causes problems for a bunch
   of folks.  From Emmanuel Grumbach.

2) Work limiting code in brcmsmac wifi driver can clear tx status without
   processing the event.  From Arend van Spriel.

3) rtlwifi USB driver processes wrong SKB, fix from Larry Finger.

4) l2tp tunnel delete can race with close, fix from Tom Parkin.

5) pktgen_add_device() failures are not checked at all, fix from
   Cong Wang.

6) Fix unintentional removal of carrier off from tun_detach(), otherwise
   we confuse userspace, from Michael S. Tsirkin.

7) Don't leak socket reference counts and ubufs in vhost-net driver, from
   Jason Wang.

8) vmxnet3 driver gets it's initial carrier state wrong, fix from
   Neil Horman.

9) Protect against USB networking devices which spam the host with 0
   length frames, from Bjørn Mork.

10) Prevent neighbour overflows in ipv6 for locally destined routes,
    from Marcelo Ricardo.  This is the best short-term fix for this,
    a longer term fix has been implemented in net-next.

11) L2TP uses ipv4 datagram routines in it's ipv6 code, whoops.  This
    mistake is largely because the ipv6 functions don't even have some
    kind of prefix in their names to suggest they are ipv6 specific.
    From Tom Parkin.

12) Check SYN packet drops properly in tcp_rcv_fastopen_synack(), from
    Yuchung Cheng.

13) Fix races and TX skb freeing bugs in via-rhine's NAPI support, from
    Francois Romieu and your's truly.

14) Fix infinite loops and divides by zero in TCP congestion window
    handling, from Eric Dumazet, Neal Cardwell, and Ilpo Järvinen.

15) AF_PACKET tx ring handling can leak kernel memory to userspace,
    fix from Phil Sutter.

16) Fix error handling in ipv6 GRE tunnel transmit, from Tommi Rantala.

17) Protect XEN netback driver against hostile frontend putting garbage
    into the rings, don't leak pages in TX GOP checking, and add proper
    resource releasing in error path of xen_netbk_get_requests().  From
    Ian Campbell.

18) SCTP authentication keys should be cleared out and released with
    kzfree(), from Daniel Borkmann.

19) L2TP is a bit too clever trying to maintain skb->truesize, and ends
    up corrupting socket memory accounting to the point where packet
    sending is halted indefinitely.  Just remove the adjustments
    entirely, they aren't really needed.  From Eric Dumazet.

20) ATM Iphase driver uses a data type with the same name as the S390
    headers, rename to fix the build.  From Heiko Carstens.

21) Fix a typo in copying the inner network header offset from one SKB
    to another, from Pravin B Shelar.

Please pull, thanks a lot!

The following changes since commit fc16e884a2320198b8cb7bc2fdcf6b4485e79709:

  Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc (2013-01-28 16:23:07 -0800)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git master

for you to fetch changes up to a1c83b054ebe1264ed9ae9d5c286f9eae68e60ea:

  Merge branch 'sctp_keys' (2013-02-08 14:55:08 -0500)

----------------------------------------------------------------

Alexander Stein (1):
      can: c_can: Set reserved bit in IFx_MASK2 to 1 on write

Andre Guedes (1):
      Bluetooth: Fix hci_conn timeout routine

Arend van Spriel (2):
      brcmsmac: fix tx status processing
      brcmsmac: rework of mac80211 .flush() callback operation

Bing Zhao (1):
      mwifiex: fix incomplete scan in case of IE parsing error

Bjørn Mork (4):
      net: usbnet: prevent buggy devices from killing us
      net: usbnet: fix tx_dropped statistics
      net: cdc_ncm: add another Huawei vendor specific device
      net: qmi_wwan: add more Huawei devices, including E320

Bruce Allan (1):
      e1000e: enable ECC on I217/I218 to catch packet buffer memory errors

Cong Wang (1):
      pktgen: correctly handle failures when adding a device

Dan Carpenter (1):
      cfg80211: off by one in ieee80211_bss()

Daniel Borkmann (3):
      net: sctp: sctp_auth_key_put: use kzfree instead of kfree
      net: sctp: sctp_setsockopt_auth_key: use kzfree instead of kfree
      net: sctp: sctp_endpoint_free: zero out secret key data

Daniele Palmas (1):
      NET: qmi_wwan: add Telit LE920 support

David S. Miller (7):
      Merge branch 'wireless'
      via-rhine: Fix bugs in NAPI support.
      Merge branch 'fixes-for-3.8' of git://gitorious.org/linux-can/linux-can
      Merge branch 'wireless'
      Merge branch 'netback'
      Merge branch 'fixes' of git://git.kernel.org/.../jesse/openvswitch into openvswitch
      Merge branch 'sctp_keys'

Emmanuel Grumbach (1):
      Revert "iwlwifi: fix the reclaimed packet tracking upon flush queue"

Eric Dumazet (3):
      tcp: fix an infinite loop in tcp_slow_start()
      tcp: frto should not set snd_cwnd to 0
      l2tp: dont play with skb->truesize

Hauke Mehrtens (2):
      bcma: unregister gpios before unloading bcma
      ssb: unregister gpios before unloading ssb

Heiko Carstens (1):
      atm/iphase: rename fregt_t -> ffreg_t

Ian Campbell (3):
      xen/netback: shutdown the ring if it contains garbage.
      xen/netback: free already allocated memory on failure in xen_netbk_get_requests
      netback: correct netbk_tx_err to handle wrap around.

Ilpo Järvinen (1):
      tcp: fix for zero packets_in_flight was too broad

Jason Wang (3):
      vhost_net: correct error handling in vhost_net_set_backend()
      vhost_net: handle polling errors when setting backend
      tuntap: allow polling/writing/reading when detached

Jesse Gross (1):
      openvswitch: Move LRO check from transmit to receive.

Johan Hedberg (1):
      Bluetooth: Fix handling of unexpected SMP PDUs

Johannes Naab (1):
      netem: fix delay calculation in rate extension

John W. Linville (5):
      Merge branch 'for-john' of git://git.kernel.org/.../jberg/mac80211
      Merge branch 'for-john' of git://git.kernel.org/.../iwlwifi/iwlwifi-fixes
      Merge branch 'master' of git://git.kernel.org/.../linville/wireless into for-davem
      Merge branch 'for-upstream' of git://git.kernel.org/.../bluetooth/bluetooth
      Merge branch 'master' of git://git.kernel.org/.../linville/wireless into for-davem

Larry Finger (2):
      rtlwifi: Fix the usage of the wrong variable in usb.c
      rtlwifi: Fix scheduling while atomic bug

Lucas Stach (1):
      net: usb: fix regression from FLAG_NOARP code

Marcelo Ricardo Leitner (1):
      ipv6: do not create neighbor entries for local delivery

Matthew Daley (1):
      xen/netback: don't leak pages on failure in xen_netbk_tx_check_gop.

Michael S. Tsirkin (1):
      tun: fix carrier on/off status

Milos Vyletel (1):
      bonding: unset primary slave via sysfs

Neil Horman (1):
      vmxnet3: set carrier state properly on probe

Nivedita Singhvi (1):
      tcp: Increment LISTENOVERFLOW and LISTENDROPS in tcp_v4_conn_request()

Phil Sutter (1):
      packet: fix leakage of tx_ring memory

Pravin B Shelar (1):
      net: Fix inner_network_header assignment in skb-copy.

Rafał Miłecki (1):
      bcma: fix NAND flash validation

Sarveshwar Bandi (1):
      be2net: Updating Module Author string and log message string to "Emulex Corporation"

Tom Parkin (4):
      l2tp: prevent l2tp_tunnel_delete racing with userspace close
      ipv6: rename datagram_send_ctl and datagram_recv_ctl
      ipv6: export ip6_datagram_recv_ctl
      l2tp: correctly handle ancillary data in the ip6 recv path

Tommi Rantala (1):
      ipv6/ip6_gre: fix error case handling in ip6gre_tunnel_xmit()

Vijay Subramanian (2):
      tcp: Update MIB counters for drops
      tcp: ipv6: Update MIB counters for drops

YOSHIFUJI Hideaki / 吉藤英明 (1):
      ipv6 addrconf: Fix interface identifiers of 802.15.4 devices.

Yuchung Cheng (1):
      tcp: detect SYN/data drop when F-RTO is disabled

 drivers/atm/iphase.h                                  | 146 ++++++++++++++++++++++++-------------------------
 drivers/bcma/bcma_private.h                           |   5 ++
 drivers/bcma/driver_chipcommon_nflash.c               |   2 +-
 drivers/bcma/driver_gpio.c                            |   5 ++
 drivers/bcma/main.c                                   |   7 +++
 drivers/net/bonding/bond_sysfs.c                      |   1 +
 drivers/net/can/c_can/c_can.c                         |   6 +-
 drivers/net/ethernet/emulex/benet/be.h                |   8 +--
 drivers/net/ethernet/emulex/benet/be_main.c           |   2 +-
 drivers/net/ethernet/intel/e1000e/defines.h           |   9 +++
 drivers/net/ethernet/intel/e1000e/e1000.h             |   2 +
 drivers/net/ethernet/intel/e1000e/ethtool.c           |   2 +
 drivers/net/ethernet/intel/e1000e/hw.h                |   1 +
 drivers/net/ethernet/intel/e1000e/ich8lan.c           |  11 ++++
 drivers/net/ethernet/intel/e1000e/netdev.c            |  46 ++++++++++++++++
 drivers/net/ethernet/via/via-rhine.c                  |   8 +--
 drivers/net/tun.c                                     |  38 ++++++++-----
 drivers/net/usb/cdc_ncm.c                             |   3 +
 drivers/net/usb/qmi_wwan.c                            |  13 +++++
 drivers/net/usb/usbnet.c                              |  35 ++++++++++--
 drivers/net/vmxnet3/vmxnet3_drv.c                     |   7 +--
 drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c |  35 +++++++-----
 drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.h |   3 +-
 drivers/net/wireless/brcm80211/brcmsmac/main.c        |  40 ++++----------
 drivers/net/wireless/brcm80211/brcmsmac/pub.h         |   3 +-
 drivers/net/wireless/iwlwifi/dvm/tx.c                 |  24 +++-----
 drivers/net/wireless/mwifiex/scan.c                   |   9 +--
 drivers/net/wireless/rtlwifi/base.c                   |   7 ++-
 drivers/net/wireless/rtlwifi/usb.c                    |   4 +-
 drivers/net/xen-netback/common.h                      |   3 +
 drivers/net/xen-netback/interface.c                   |  23 +++++---
 drivers/net/xen-netback/netback.c                     | 115 +++++++++++++++++++++++---------------
 drivers/ssb/driver_gpio.c                             |  12 ++++
 drivers/ssb/main.c                                    |   9 +++
 drivers/ssb/ssb_private.h                             |   5 ++
 drivers/vhost/net.c                                   |  41 +++++++++-----
 drivers/vhost/vhost.c                                 |  18 +++++-
 drivers/vhost/vhost.h                                 |   2 +-
 include/linux/usb/usbnet.h                            |   4 +-
 include/net/transp_v6.h                               |  22 ++++----
 net/bluetooth/hci_conn.c                              |   6 +-
 net/bluetooth/smp.c                                   |  13 +++++
 net/core/pktgen.c                                     |   9 ++-
 net/core/skbuff.c                                     |   2 +-
 net/ipv4/tcp_cong.c                                   |  14 +++--
 net/ipv4/tcp_input.c                                  |   8 ++-
 net/ipv4/tcp_ipv4.c                                   |   6 +-
 net/ipv6/addrconf.c                                   |   1 +
 net/ipv6/datagram.c                                   |  16 +++---
 net/ipv6/ip6_flowlabel.c                              |   4 +-
 net/ipv6/ip6_gre.c                                    |   2 +-
 net/ipv6/ipv6_sockglue.c                              |   6 +-
 net/ipv6/raw.c                                        |   6 +-
 net/ipv6/route.c                                      |   2 +-
 net/ipv6/tcp_ipv6.c                                   |   6 +-
 net/ipv6/udp.c                                        |   6 +-
 net/l2tp/l2tp_core.c                                  |  82 +++++++++++++++++++++------
 net/l2tp/l2tp_core.h                                  |   5 +-
 net/l2tp/l2tp_ip6.c                                   |  10 ++--
 net/l2tp/l2tp_ppp.c                                   |   6 --
 net/openvswitch/vport-netdev.c                        |  16 +++---
 net/packet/af_packet.c                                |  10 ++--
 net/sched/sch_netem.c                                 |  12 ++--
 net/sctp/auth.c                                       |   2 +-
 net/sctp/endpointola.c                                |   5 ++
 net/sctp/socket.c                                     |   2 +-
 net/sunrpc/svcsock.c                                  |   2 +-
 net/wireless/scan.c                                   |   2 +-
 68 files changed, 649 insertions(+), 348 deletions(-)

^ permalink raw reply

* Re: Softirqs without captured packets
From: David Miller @ 2013-02-08 20:15 UTC (permalink / raw)
  To: javierdo1; +Cc: netdev
In-Reply-To: <CALZVapnbVoZ_G_viipXwm3vZC5Qkq1zwmfnf3ydvLjdjEa_8Zg@mail.gmail.com>

From: Javier Domingo <javierdo1@gmail.com>
Date: Fri, 8 Feb 2013 21:02:41 +0100

> Sorry, I think I misexplained,
> 
> I wanted to say net's receive softirq: net_rx_action, not softirqs in general.

If you don't show us your code we have to guess all sorts of things
like this.

Don't expect much help until you post your tracer module.

^ permalink raw reply

* Re: Softirqs without captured packets
From: Javier Domingo @ 2013-02-08 20:02 UTC (permalink / raw)
  To: David Miller; +Cc: netdev
In-Reply-To: <20130208.145728.1110053781319882182.davem@davemloft.net>

Sorry, I think I misexplained,

I wanted to say net's receive softirq: net_rx_action, not softirqs in general.

Javier Domingo


2013/2/8 David Miller <davem@davemloft.net>:
> From: Javier Domingo <javierdo1@gmail.com>
> Date: Fri, 8 Feb 2013 20:54:14 +0100
>
>> Just realized I didn't put the file:
>
> Softirqs happen for TX packet reclaim, other miscelanneous networking
> device events (link status changes, hw statistic overflows, etc.),
> timers, etc.
>
> They are not exclusively triggered for receive packets.

^ permalink raw reply

* Re: Softirqs without captured packets
From: David Miller @ 2013-02-08 19:57 UTC (permalink / raw)
  To: javierdo1; +Cc: netdev
In-Reply-To: <CALZVapktiq5norswRmjZyGXpx7mYdaTgQvJ50vO2UjsJ=pf1=w@mail.gmail.com>

From: Javier Domingo <javierdo1@gmail.com>
Date: Fri, 8 Feb 2013 20:54:14 +0100

> Just realized I didn't put the file:

Softirqs happen for TX packet reclaim, other miscelanneous networking
device events (link status changes, hw statistic overflows, etc.),
timers, etc.

They are not exclusively triggered for receive packets.

^ permalink raw reply

* Re: [PATCH net 0/2] two small fixes for sctp key usage
From: David Miller @ 2013-02-08 19:55 UTC (permalink / raw)
  To: dborkman; +Cc: linux-sctp, netdev
In-Reply-To: <cover.1360327229.git.dborkman@redhat.com>

From: Daniel Borkmann <dborkman@redhat.com>
Date: Fri,  8 Feb 2013 14:04:33 +0100

> Cryptographically used keys should be zeroed out when our session
> ends resp. memory is freed, thus do not leave them somewhere in the
> memory.
> 
> Daniel Borkmann (2):
>   net: sctp: sctp_setsockopt_auth_key: use kzfree instead of kfree
>   net: sctp: sctp_endpoint_free: zero out secret key data

Applied and queued up for -stable, thanks.

^ permalink raw reply

* Re: Softirqs without captured packets
From: Javier Domingo @ 2013-02-08 19:54 UTC (permalink / raw)
  To: netdev
In-Reply-To: <CALZVap=wdDnTndwa+Q+MLCufj9YpY-m+wATFiKSTX2bXX-9DVw@mail.gmail.com>

Just realized I didn't put the file:

72629698379 - 72629718215 : 1
74446597044 - 74446610271 : 1
74447311859 - 74447326144 : 1
74459926951 - 74459940066 : 1
74460493324 - 74460506776 : 1
75708139383 - 75708152423 : 1
78789178738 - 78789192193 : 1
81870249115 - 81870266795 : 1
82453115182 - 82453128734 : 1
82454422076 - 82454436262 : 1
84941351211 - 84941365088 : 1
88012468928 - 88012490076 : 1
91093531367 - 91093544479 : 1
94174580701 - 94174593974 : 1
97255697024 - 97255717767 : 1
100326824218 - 100326837290 : 1
103397862854 - 103397876256 : 1
104413375208 - 104413388445 : 1
104414011120 - 104414025737 : 1
104431217115 - 104431230275 : 1
104431618672 - 104431632019 : 1
106469004429 - 106469017424 : 1
109540080623 - 109540093733 : 1
112422576622 - 112422589718 : 1
112423816811 - 112423830280 : 1
112611195079 - 112611208154 : 1
115692241947 - 115692259487 : 1
118763338884 - 118763354085 : 1
118936394694 - 118936417696 : 1
118936508371 - 118936514357 : 0
119021775177 - 119021793869 : 1
119022423028 - 119022428225 : 0
119082217851 - 119082236343 : 1
119082727755 - 119082733047 : 0
119160373560 - 119160391592 : 1
120021439838 - 120021445260 : 0
120080335207 - 120080354398 : 1
120080813194 - 120080818466 : 0
120153654216 - 120153672575 : 1
121019559280 - 121019564419 : 0
121077246674 - 121077264713 : 1
121077706744 - 121077712014 : 0
121149814873 - 121149832951 : 1
121834435471 - 121834448943 : 1
122017680410 - 122017685690 : 0
122076897293 - 122076915354 : 1
122077338699 - 122077344001 : 0
122150678671 - 122150696748 : 1
123016583987 - 123016589274 : 0
123075354561 - 123075372606 : 1
123075869057 - 123075874334 : 0
123149582635 - 123149600835 : 1
124006623861 - 124006641543 : 1
124006988105 - 124006992692 : 0
124015481615 - 124015486709 : 0
124203654495 - 124203672592 : 1
124204118825 - 124204123958 : 0
124424121095 - 124424141011 : 1
124905569248 - 124905582388 : 1
125013736137 - 125013741239 : 0
125419454432 - 125419472579 : 1
125419937174 - 125419942306 : 0
125496934922 - 125496952971 : 1
126011632510 - 126011637617 : 0
126073154917 - 126073172890 : 1
126073585293 - 126073590395 : 0
126146946648 - 126146964867 : 1
127986932739 - 127986947262 : 1
132506260685 - 132506275864 : 1
134388781024 - 134388794299 : 1
134389371455 - 134389385797 : 1
134396037182 - 134396050252 : 1
134396623751 - 134396637053 : 1
135584600902 - 135584613929 : 1
138665690096 - 138665703325 : 1
141736774852 - 141736787887 : 1
142384520868 - 142384534021 : 1
142385805720 - 142385819137 : 1
144817854661 - 144817867768 : 1
147898894363 - 147898907346 : 1
150970007218 - 150970020285 : 1
154051107145 - 154051120165 : 1
157122183489 - 157122196623 : 1
160193313516 - 160193326543 : 1
160850186104 - 160850199664 : 1
160850576628 - 160850590030 : 1
163264369839 - 163264382964 : 1
164353928156 - 164353945212 : 2
164360923288 - 164360936323 : 1
164361367293 - 164361380680 : 1
166335624581 - 166335637598 : 1
169416579663 - 169416592700 : 1
172351888299 - 172351904103 : 1
172353193269 - 172353207414 : 1
172497615292 - 172497628399 : 1
174306931457 - 174306961195 : 1
175578779157 - 175578792255 : 1
175621573550 - 175621579456 : 0
175845045010 - 175845064279 : 1
175851970600 - 175851988415 : 1
175852468293 - 175852472336 : 0
175852583156 - 175852604868 : 1
178659788705 - 178659801947 : 1
179529208965 - 179529214979 : 1
179529249019 - 179529253931 : 1
179529586569 - 179529592320 : 0
179530274118 - 179530294254 : 1
179530720141 - 179530741809 : 1
179530889245 - 179530894352 : 0
179531123570 - 179531159319 : 1
179531485822 - 179531489650 : 0
179634051675 - 179634068510 : 1
179634300269 - 179634311218 : 1
179634407746 - 179634411429 : 0
179636629274 - 179636636348 : 1
179653947463 - 179653951226 : 0
179693982993 - 179694009673 : 1
179694187049 - 179694202972 : 1
179694397533 - 179694402178 : 0
179718001062 - 179718020778 : 1
179723564790 - 179723568795 : 0
179761776772 - 179761802595 : 1
179761996768 - 179762012402 : 1
179762156990 - 179762177617 : 1
179762579037 - 179762583072 : 0
179801669057 - 179801685120 : 1
179915594822 - 179915614463 : 1
179915876177 - 179915895608 : 1
179915974367 - 179915978152 : 1
179916376831 - 179916382033 : 0
180018222988 - 180018242089 : 1
180018407947 - 180018427305 : 1
180018496677 - 180018500530 : 1
180018836466 - 180018841635 : 0
180020951673 - 180020972041 : 1
180021332148 - 180021350202 : 1
180067740722 - 180067761114 : 1
180104030618 - 180104035370 : 0
180614507255 - 180614520430 : 1
180614601040 - 180614605727 : 0
181740872868 - 181740887582 : 1
184811937427 - 184811951873 : 1
186017441667 - 186017463092 : 1
186024186958 - 186024214154 : 1
186024549063 - 186024554220 : 0
186063526409 - 186063543539 : 1
187893029553 - 187893042640 : 1
188760815894 - 188760836087 : 1
188761258597 - 188761276779 : 1
188821052803 - 188821072999 : 1
188822357890 - 188822375973 : 1
188822677493 - 188822681451 : 0
192384146025 - 192384161510 : 1
194313062492 - 194313079750 : 1
194313583637 - 194313597816 : 1
194324837314 - 194324850479 : 1
194325868756 - 194325881972 : 1
194599806745 - 194599830930 : 1
194638539079 - 194638544004 : 0
195461068945 - 195461084104 : 1
198532159251 - 198532176863 : 1
199853379827 - 199853398081 : 1
199853451725 - 199853456592 : 0
199854179845 - 199854207179 : 1
199854581207 - 199854585887 : 0
199936548699 - 199936552774 : 0
199937122348 - 199937151076 : 1
199937526791 - 199937531450 : 0
200149759787 - 200149763847 : 0
200150387959 - 200150416980 : 1
200150822779 - 200150827571 : 0
200297055451 - 200297059553 : 0
200297651549 - 200297680294 : 1
200298014516 - 200298019111 : 0
200392316813 - 200392320888 : 0
200392941400 - 200392970258 : 1
200393329050 - 200393333747 : 0
200715015099 - 200715019202 : 0
200715714227 - 200715743077 : 1
200716127462 - 200716132204 : 0
200881784021 - 200881788133 : 0
200882364163 - 200882393430 : 1
200882779177 - 200882783874 : 0
201007232600 - 201007236707 : 0
201007852116 - 201007880815 : 1
201008220543 - 201008225265 : 0
201082071013 - 201082075151 : 0
201082716590 - 201082745433 : 1
201083136844 - 201083141513 : 0
201455319015 - 201455323145 : 0
201455938565 - 201455967508 : 1
201456283317 - 201456288050 : 0
201603300079 - 201603313144 : 1
201625955684 - 201625959777 : 0
201626626993 - 201626655929 : 1
201627010079 - 201627014783 : 0
201676137928 - 201676142071 : 0
201676762622 - 201676791515 : 1
201677148461 - 201677153173 : 0
201876981195 - 201876985343 : 0
201878230883 - 201878259848 : 1
201878562543 - 201878567275 : 0
202321410222 - 202321423407 : 1
202322193218 - 202322207588 : 1
202415251110 - 202415279606 : 1
202415636704 - 202415641471 : 0
202416282715 - 202416308828 : 1
202416657838 - 202416662550 : 0
204674391357 - 204674407690 : 1
205286907297 - 205286911535 : 0
205287587512 - 205287618708 : 1
205287956272 - 205287961023 : 0
205542394915 - 205542399000 : 0
205543570181 - 205543599449 : 1
205543916875 - 205543921635 : 0
206175241567 - 206175245734 : 0
206176396295 - 206176425613 : 1
206176747511 - 206176752288 : 0
206973554856 - 206973559019 : 0
206974179889 - 206974208915 : 1
206974537037 - 206974541795 : 0
207263368873 - 207263373013 : 0
207264000525 - 207264029496 : 1
207264432157 - 207264436932 : 0
207413667416 - 207413671589 : 0
207414360482 - 207414389408 : 1
207414684397 - 207414689127 : 0
207488226509 - 207488230693 : 0
207488828063 - 207488857189 : 1
207489215039 - 207489219816 : 0
207581805010 - 207581809183 : 0
207582455544 - 207582484367 : 1
207582847374 - 207582852204 : 0
207668890806 - 207668894943 : 0
207669707472 - 207669736248 : 1
207670079059 - 207670083826 : 0
207755765418 - 207755778545 : 1
207911138051 - 207911142166 : 0
207913804992 - 207913834090 : 1
207914133650 - 207914138452 : 0
207920735607 - 207920781652 : 2
207921099278 - 207921104763 : 0
207977245796 - 207977272161 : 1
207977582761 - 207977587556 : 0
208919149833 - 208919178479 : 1
208919504505 - 208919509257 : 0
208971705353 - 208971735328 : 1
208972076463 - 208972081243 : 0
209917536620 - 209917562160 : 1
209917937310 - 209917942080 : 0
209969825924 - 209969852419 : 1
209970175352 - 209970180136 : 0
210836490917 - 210836504547 : 1
210916648530 - 210916673450 : 1
210917019315 - 210917024142 : 0
210971606049 - 210971632479 : 1
210971977462 - 210971982259 : 0
211915455513 - 211915480411 : 1
211915835203 - 211915839988 : 0
211967697635 - 211967724094 : 1
211968085679 - 211968090462 : 0
212914513914 - 212914538370 : 1
212914891605 - 212914896382 : 0
212967972193 - 212967998655 : 1
212968331747 - 212968336574 : 0
213907597221 - 213907610311 : 1
213912488628 - 213912513194 : 1
213912864306 - 213912869127 : 0
213965177290 - 213965203830 : 1
213965540043 - 213965544917 : 0
214911071053 - 214911095744 : 1
214911458733 - 214911463526 : 0
214965780223 - 214965806650 : 1
214966151918 - 214966156772 : 0
215909631913 - 215909656661 : 1
215910011431 - 215910016278 : 0
215963243684 - 215963270069 : 1
215963636162 - 215963640976 : 0
216908078126 - 216908107226 : 1
216908476655 - 216908481517 : 0
216962151531 - 216962179472 : 1
216962517347 - 216962522186 : 0
216978696726 - 216978710353 : 1
217906990240 - 217907018791 : 1
217907367044 - 217907371902 : 0
217962164817 - 217962192498 : 1
217962516356 - 217962521223 : 0
218905985074 - 218906010416 : 1
218906352848 - 218906357680 : 0
218958454804 - 218958481733 : 1
218958826326 - 218958831133 : 0
219904331724 - 219904356185 : 1
219904731132 - 219904735932 : 0
219958077214 - 219958103603 : 1
219958422972 - 219958427853 : 0
220059807037 - 220059821024 : 1
220902840972 - 220902865737 : 1
220903245088 - 220903249907 : 0
220957501895 - 220957528210 : 1
220957871636 - 220957876519 : 0
221901346834 - 221901371590 : 1
221901759095 - 221901763865 : 0
221953464601 - 221953491069 : 1
221953827606 - 221953832448 : 0
222900418748 - 222900443443 : 1
222900805473 - 222900810298 : 0
222955112857 - 222955139398 : 1
222955503665 - 222955508490 : 0
223130858493 - 223130871775 : 1
223898947794 - 223898972387 : 1
223899300355 - 223899305217 : 0
223952447621 - 223952474038 : 1
223952788881 - 223952793725 : 0
224282976286 - 224282989568 : 1
224283465739 - 224283479398 : 1
224295520648 - 224295533948 : 1
224295929801 - 224295943091 : 1
224897321914 - 224897346694 : 1
224897684346 - 224897689156 : 0
224952724098 - 224952750550 : 1
224953061910 - 224953066797 : 0
225895538446 - 225895563403 : 1
225895925099 - 225895929939 : 0
225949210471 - 225949236773 : 1
225949566702 - 225949571547 : 0
226202006319 - 226202019284 : 1
226893995442 - 226894020202 : 1
226894352410 - 226894357267 : 0
227218065143 - 227218091745 : 1
227218428623 - 227218433525 : 0
227892356099 - 227892380947 : 1
227892745189 - 227892750056 : 0
227946165432 - 227946191702 : 1
227946525973 - 227946530888 : 0
228890981876 - 228891006737 : 1
228891309540 - 228891314372 : 0
228944479865 - 228944506331 : 1
228944854220 - 228944859155 : 0
229283065870 - 229283078975 : 1
229889202911 - 229889227754 : 1
229889603716 - 229889608436 : 0
229944954165 - 229944980547 : 1
229945300587 - 229945305509 : 0
230887714198 - 230887739168 : 1
230888082912 - 230888087796 : 0
230939152538 - 230939178660 : 1
230939511980 - 230939516529 : 0
231885939210 - 231885963678 : 1
231886344972 - 231886349469 : 0
231940082297 - 231940108279 : 1
231940450409 - 231940455021 : 0
232287822031 - 232287835276 : 1
232289102723 - 232289116125 : 1
232364123100 - 232364136187 : 1
232884986303 - 232885010826 : 1
232885357220 - 232885361745 : 0
232937350897 - 232937377072 : 1
232937717967 - 232937722542 : 0
233884164104 - 233884188489 : 1
233884544039 - 233884548596 : 0
233938803817 - 233938829944 : 1
233939164868 - 233939169470 : 0
234882607388 - 234882631849 : 1
234882956219 - 234882960763 : 0
234936434770 - 234936461072 : 1
234936803716 - 234936808251 : 0
235445200040 - 235445213088 : 1
235881290059 - 235881314607 : 1
235881695561 - 235881700154 : 0
235935041683 - 235935067892 : 1
235935412134 - 235935416728 : 0
236879821659 - 236879846170 : 1
236880207850 - 236880212472 : 0
236932116707 - 236932142882 : 1
236932480848 - 236932485463 : 0
237878964658 - 237878989128 : 1
237879371787 - 237879376351 : 0
237932588047 - 237932614092 : 1
237932961268 - 237932965916 : 0
238516322560 - 238516335532 : 1
238876692774 - 238876717112 : 1
238877101162 - 238877105692 : 0
238931882732 - 238931908969 : 1
238932227842 - 238932232489 : 0
239875742178 - 239875766561 : 1
239876154608 - 239876159158 : 0
239930655528 - 239930685183 : 1
239930991976 - 239930996588 : 0
240874512635 - 240874538248 : 1
240874906764 - 240874911364 : 0
240929428959 - 240929455286 : 1
240929794442 - 240929799039 : 0
241587399006 - 241587412730 : 1
241873204259 - 241873228987 : 1
241873593288 - 241873597915 : 0
241926762943 - 241926789058 : 1
241927136419 - 241927141074 : 0
242871561523 - 242871588590 : 1
242871934067 - 242871938717 : 0
242924553150 - 242924580102 : 1
242924907675 - 242924912407 : 0
243870376974 - 243870401700 : 1
243870745283 - 243870749883 : 0
243923720937 - 243923746937 : 1
243924059496 - 243924064206 : 0
244668418490 - 244668432017 : 1
244869555462 - 244869579938 : 1
244869932526 - 244869937124 : 0
244922167417 - 244922193599 : 1
244922557283 - 244922561948 : 0
245867933727 - 245867958205 : 1
245868315011 - 245868319653 : 0
245920155780 - 245920182025 : 1
245920506215 - 245920510870 : 0
246867027862 - 246867052407 : 1
246867403102 - 246867407744 : 0
246920366588 - 246920393008 : 1
246920753723 - 246920758374 : 0
247749560917 - 247749574072 : 1
247866141633 - 247866165996 : 1
247866491713 - 247866496408 : 0
247921230656 - 247921256980 : 1
247921587357 - 247921592044 : 0
248864905629 - 248864932626 : 1
248865305070 - 248865309700 : 0
248920101946 - 248920128691 : 1
248920506631 - 248920511346 : 0
249863892417 - 249863917298 : 1
249864253705 - 249864258308 : 0
249916357123 - 249916383752 : 1
249916732565 - 249916737253 : 0
250861710470 - 250861735381 : 1
250862102828 - 250862107462 : 0
250913236240 - 250913263086 : 1
250913607724 - 250913612424 : 0
251860024728 - 251860049676 : 1
251860423084 - 251860427766 : 0
251913639769 - 251913666479 : 1
251914015459 - 251914020181 : 0
252258240666 - 252258254286 : 1
252858470978 - 252858498641 : 1
252858893068 - 252858897745 : 0
252912871998 - 252912899542 : 1
252913251873 - 252913256563 : 0
253856761726 - 253856786774 : 1
253857123022 - 253857127694 : 0
253861074643 - 253861087283 : 1
253861147418 - 253861151982 : 0
253910467974 - 253910494161 : 1
253910838087 - 253910842794 : 0
254253738961 - 254253752715 : 1
254254609598 - 254254623113 : 1
254260730897 - 254260744186 : 1
254261417349 - 254261430657 : 1
254287835931 - 254287840010 : 0
254289129974 - 254289159540 : 1
254289516717 - 254289521460 : 0
254289573182 - 254289599432 : 1
254289962059 - 254289966816 : 0
255337518584 - 255337531711 : 1
258418690354 - 258418705935 : 1
261499655850 - 261499669150 : 1
262249734773 - 262249747955 : 1
262251042476 - 262251056251 : 1
264580811224 - 264580824322 : 1
267651892093 - 267651907207 : 1
270722970043 - 270722983503 : 1
273794080879 - 273794094129 : 1
276875147741 - 276875160753 : 1
279946280264 - 279946293309 : 1
283027326220 - 283027339225 : 1
284215549785 - 284215563170 : 1
284216133890 - 284216148304 : 1
284224502393 - 284224515496 : 1
284225219456 - 284225232795 : 1
286108378692 - 286108391820 : 1
289179420562 - 289179434054 : 1
292218018194 - 292218032456 : 1
292219321880 - 292219335474 : 1
292260586607 - 292260599847 : 1
295331664045 - 295331677065 : 1
297996348007 - 297996376722 : 1
298402805191 - 298402818219 : 1
301473829750 - 301473843115 : 1
302046486702 - 302046499440 : 1
304554923523 - 304554936736 : 1
307635982572 - 307635995599 : 1
310943515736 - 310943528515 : 1
312135020049 - 312135033019 : 1
314181997982 - 314182011177 : 1
314182632715 - 314182646395 : 1
314204738875 - 314204751992 : 1
314206175248 - 314206188540 : 1
315214059439 - 315214072414 : 1
318285136595 - 318285149640 : 1
321356213359 - 321356226578 : 1
322191063834 - 322191076906 : 1
322192370433 - 322192384018 : 1
324437334386 - 324437347461 : 1
327508466816 - 327508479839 : 1
330579522410 - 330579535407 : 1
333650639422 - 333650654681 : 1
336731698614 - 336731713715 : 1
337907212539 - 337907227420 : 1
339812734885 - 339812750883 : 1
342644641152 - 342644663929 : 1
342644671177 - 342644674830 : 0
342645769523 - 342645802774 : 1
342646126624 - 342646131346 : 0
342893828294 - 342893841848 : 1
344158248745 - 344158264109 : 1
344158928027 - 344158942132 : 1
344170664849 - 344170677966 : 1
344171120506 - 344171133834 : 1
345964942403 - 345964955445 : 1
347640458549 - 347640477573 : 1
347640861333 - 347640866013 : 0
349036044891 - 349036057914 : 1
352107172632 - 352107185664 : 1
352164703416 - 352164716540 : 1
352165942302 - 352165955644 : 1
355178234030 - 355178247039 : 1
358259361573 - 358259374643 : 1
361340405643 - 361340418683 : 1
364411472814 - 364411493860 : 1
367492534014 - 367492549685 : 1
372012282319 - 372012295889 : 1
374127703970 - 374127717180 : 1
374128267867 - 374128282236 : 1
374139238180 - 374139251318 : 1
374139684366 - 374139697741 : 1
375090506822 - 375090519709 : 1
378161649262 - 378161662334 : 1
381242795734 - 381242809716 : 1
382132502811 - 382132516023 : 1
382133958977 - 382133972359 : 1
384323744317 - 384323757380 : 1
387394859514 - 387394872508 : 1
390475895661 - 390475908715 : 1
393547055752 - 393547068815 : 1
396618107568 - 396618120718 : 1
399699228208 - 399699241203 : 1
402780220843 - 402780233803 : 1
404098713681 - 404098726803 : 1
404099155822 - 404099169154 : 1
404109114883 - 404109127958 : 1
404109660943 - 404109674317 : 1
405851416519 - 405851429589 : 1
408922429363 - 408922442420 : 1
412003548858 - 412003561843 : 1
412103718885 - 412103732181 : 1
412105048201 - 412105061716 : 1
415084634011 - 415084647059 : 1
418165762579 - 418165775674 : 1
418875622732 - 418875651430 : 1
421236885093 - 421236898206 : 1
424307873956 - 424307887033 : 1
427378980472 - 427378993532 : 1
431888659760 - 431888672870 : 1
434068244286 - 434068257373 : 1
434068786863 - 434068800273 : 1
434082096637 - 434082109862 : 1
434083011256 - 434083024636 : 1
434966961508 - 434966974368 : 1
438038083310 - 438038096345 : 1
441119204742 - 441119217884 : 1
442073412476 - 442073425695 : 1
442074668786 - 442074682296 : 1
444200264440 - 444200277595 : 1
447271386085 - 447271399137 : 1
450342453024 - 450342466193 : 1
453413555412 - 453413568510 : 1
456484658922 - 456484671932 : 1
459565711610 - 459565724620 : 1
462636783861 - 462636796916 : 1
464039815185 - 464039828500 : 1
464040387957 - 464040401244 : 1
464050884661 - 464050897758 : 1
464051401273 - 464051414662 : 1
465707855560 - 465707868603 : 1
468779044720 - 468779057777 : 1
471850170540 - 471850183625 : 1
472045500901 - 472045514281 : 1
472047153647 - 472047167019 : 1
474921197447 - 474921210547 : 1
478002312181 - 478002325233 : 1
481073423014 - 481073436154 : 1
484144529675 - 484144542600 : 1
487225544238 - 487225557252 : 1
492102308975 - 492102322138 : 1
494007721171 - 494007734433 : 1
494010088948 - 494010102420 : 1
494024454508 - 494024467595 : 1
494034137453 - 494034150851 : 1
495182494306 - 495182507443 : 1
498263596652 - 498263609604 : 1
501344631919 - 501344645067 : 1
502017953571 - 502017966673 : 1
502019350684 - 502019364142 : 1
504415718315 - 504415731374 : 1
507486866646 - 507486879648 : 1
510557953399 - 510557966516 : 1
513639060092 - 513639073114 : 1
516710108929 - 516710122099 : 1
519781233779 - 519781246879 : 1
522862323100 - 522862336145 : 1
523982649227 - 523982662387 : 1
523983183126 - 523983196486 : 1
524006465112 - 524006478289 : 1
524006878464 - 524006891769 : 1
525943329527 - 525943342757 : 1
529024499760 - 529024512843 : 1
531989327323 - 531989340508 : 1
531990545292 - 531990558696 : 1
532105507462 - 532105520579 : 1
535176611447 - 535176624432 : 1
538247697432 - 538247710540 : 1
538263514554 - 538263539652 : 1
541318837928 - 541318851021 : 1
544399925770 - 544399938867 : 1
547471021750 - 547471034854 : 1
551651972852 - 551651985927 : 1
553957423755 - 553957437012 : 1
553957967227 - 553957980547 : 1
553975865446 - 553975878643 : 1
553976350604 - 553976363891 : 1
554729909951 - 554729923101 : 1
557810987466 - 557811000529 : 1
560892080218 - 560892093265 : 1
561964768953 - 561964782133 : 1
561966076836 - 561966090304 : 1
563973201285 - 563973214500 : 1
567044267442 - 567044280522 : 1
570115358417 - 570115371427 : 1
573196506801 - 573196519931 : 1
576277524069 - 576277537101 : 1
579359341763 - 579359354843 : 1
582439698143 - 582439711155 : 1
583929683836 - 583929697213 : 1
583930376047 - 583930389377 : 1
583943060133 - 583943073333 : 1
583943507236 - 583943520503 : 1
585510850970 - 585510864127 : 1
588591909074 - 588591922161 : 1
591672930947 - 591672943952 : 1
591940581485 - 591940594838 : 1
591941798572 - 591941812064 : 1
594753976243 - 594753989335 : 1
597825092244 - 597825105294 : 1
600906101576 - 600906114616 : 1
603977273649 - 603977286781 : 1
607058478042 - 607058491097 : 1
611528655847 - 611528668951 : 1
613909722248 - 613909735455 : 1
613910285585 - 613910299087 : 1
613929520970 - 613929534160 : 1
613929886023 - 613929899343 : 1
614606461328 - 614606474390 : 1
617687499991 - 617687513013 : 1
620758614615 - 620758627705 : 1
621920108145 - 621920121185 : 1
621921396892 - 621921410334 : 1
623839684567 - 623839697734 : 1
626910777241 - 626910790309 : 1
629981922045 - 629981935115 : 1
633062933588 - 633062946633 : 1
636134064335 - 636134077530 : 1
639215183583 - 639215196716 : 1
642296243020 - 642296256084 : 1
643877469509 - 643877482699 : 1
643877971452 - 643877985004 : 1
643899344888 - 643899358021 : 1
643900037198 - 643900050545 : 1
645377309466 - 645377322583 : 1
648458362156 - 648458375265 : 1
651539415900 - 651539428987 : 1
651892745802 - 651892758919 : 1
651894071817 - 651894085184 : 1
654621299265 - 654621312390 : 1
657644137158 - 657644161861 : 1
657701551594 - 657701564726 : 1
660782591774 - 660782604896 : 1
661570200601 - 661570213304 : 1
663863697423 - 663863710475 : 1
666944820626 - 666944833656 : 1
670560205745 - 670560218337 : 1
671404376490 - 671404389558 : 1
673859172378 - 673859185648 : 1
673859975157 - 673859988502 : 1
673871330752 - 673871343817 : 1
673871902649 - 673871916004 : 1
674482955568 - 674482968610 : 1
677564008870 - 677564021815 : 1
680635184450 - 680635197438 : 1
681863347697 - 681863361006 : 1
681864677592 - 681864690909 : 1
683706238055 - 683706251045 : 1
686787296154 - 686787309129 : 1
689868336821 - 689868349801 : 1
692939419153 - 692939432109 : 1
696010509614 - 696010522647 : 1
696897336899 - 696897349497 : 1
699081637940 - 699081651009 : 1
702152762393 - 702152775288 : 1
703829147592 - 703829160798 : 1
703829815721 - 703829829030 : 1
703846036923 - 703846050038 : 1
703846455910 - 703846469210 : 1
705223854377 - 705223867470 : 1
708305187785 - 708305200785 : 1
711376015505 - 711376028574 : 1
711836585149 - 711836598294 : 1
711837851839 - 711837865118 : 1
714447129219 - 714447142249 : 1
717518201030 - 717518214112 : 1
720599320148 - 720599333238 : 1
723670388090 - 723670401115 : 1
726751445937 - 726751458919 : 1
731280006095 - 731280019200 : 1
733802026855 - 733802040017 : 1
733802559987 - 733802573319 : 1
733815813255 - 733815826352 : 1
733816309524 - 733816322963 : 1
734359454930 - 734359467865 : 1
737440523204 - 737440536183 : 1
740521563575 - 740521576650 : 1
741809352072 - 741809365354 : 1
741810675781 - 741810689243 : 1
743602632880 - 743602645938 : 1
746683749200 - 746683762165 : 1
749754823650 - 749754836655 : 1
752825899536 - 752825912612 : 1
755906941068 - 755906954148 : 1
758978075360 - 758978088388 : 1
762049225628 - 762049238718 : 1
763772634661 - 763772647916 : 1
763775774028 - 763775787612 : 1
763791800067 - 763791813149 : 1
763792212473 - 763792225835 : 1
765130274500 - 765130287495 : 1
768201368096 - 768201381123 : 1
771272455778 - 771272468758 : 1
771784201269 - 771784214479 : 1
771785475102 - 771785488532 : 1
774343562169 - 774343575197 : 1
776114364204 - 776114388660 : 1
777414660425 - 777414673498 : 1
780495713675 - 780495726712 : 1
783576806366 - 783576819456 : 1
786647882365 - 786647895275 : 1
791157080512 - 791157093660 : 1
793750708051 - 793750721163 : 1
793751270353 - 793751283726 : 1
793764320155 - 793764333255 : 1
793764732193 - 793764745523 : 1
794235950842 - 794235963847 : 1
797316999227 - 797317012214 : 1
800388070373 - 800388083506 : 1
801754777777 - 801754791053 : 1
801756196217 - 801756209562 : 1
803469146137 - 803469159207 : 1
806550254912 - 806550267879 : 1
809621356121 - 809621369220 : 1
812692422323 - 812692435375 : 1
815763504966 - 815763518093 : 1
818132884995 - 818132897513 : 1
818844594608 - 818844607876 : 1
821925653759 - 821925666777 : 1
823720304467 - 823720317612 : 1
823720873029 - 823720886374 : 1
823732498056 - 823732511278 : 1
823732958189 - 823732971586 : 1
825006775509 - 825006788594 : 1
828077879681 - 828077892756 : 1
831158935474 - 831158948564 : 1
831724466871 - 831724479969 : 1
831725798893 - 831725812295 : 1
834230052876 - 834230065914 : 1
837301196980 - 837301210142 : 1
840372240074 - 840372253143 : 1
843443295667 - 843443308739 : 1
846514418775 - 846514431831 : 1
851034676587 - 851034689729 : 1
853689425788 - 853689438935 : 1
853690143412 - 853690156779 : 1
853700273998 - 853700287202 : 1
853700891253 - 853700904603 : 1
854112681578 - 854112694618 : 1
857193469228 - 857193482291 : 1
860264610384 - 860264623447 : 1
861693589389 - 861693602558 : 1
861694932256 - 861694945576 : 1
863345692047 - 863345705204 : 1
866416790378 - 866416803478 : 1
869487900479 - 869487913524 : 1
872558990685 - 872559003787 : 1
875630019829 - 875630032926 : 1
878701112563 - 878701125680 : 1
881782232303 - 881782245318 : 1
883657906366 - 883657919459 : 1
883658522358 - 883658535722 : 1
883675897103 - 883675910223 : 1
883676690628 - 883676703873 : 1
884853290060 - 884853303123 : 1
886044821498 - 886044835088 : 1
886045180790 - 886045194282 : 1
887924481491 - 887924494564 : 1
890995550018 - 890995563075 : 1
891667707884 - 891667721049 : 1
891669059866 - 891669073271 : 1
892885850895 - 892885875743 : 1
894066633055 - 894066646117 : 1
897147775932 - 897147789067 : 1
900228784830 - 900228797902 : 1
903309932391 - 903309945401 : 1
906390870688 - 906390883646 : 1
910910177991 - 910910191031 : 1
913628384808 - 913628397951 : 1
913628992437 - 913629005859 : 1
913647334908 - 913647348071 : 1
913647812324 - 913647825628 : 1
913988950281 - 913988963226 : 1
917070007490 - 917070020578 : 1
920141095127 - 920141108182 : 1
921636098675 - 921636111812 : 1
921637578700 - 921637592082 : 1
923222209299 - 923222222443 : 1
926293283726 - 926293296761 : 1
929364367550 - 929364380535 : 1
932435482392 - 932435495519 : 1
935506607859 - 935506620896 : 1
938577668179 - 938577681132 : 1
941658752588 - 941658765606 : 1
943601619859 - 943601633007 : 1
943603889174 - 943603902499 : 1
943614048878 - 943614061967 : 1
943614720741 - 943614734036 : 1
944739826628 - 944739839608 : 1
947810894671 - 947810907779 : 1
950881988733 - 950882001730 : 1
951608854662 - 951608867894 : 1
951610132995 - 951610146305 : 1
953963092007 - 953963105117 : 1
957034182673 - 957034195700 : 1
960115293308 - 960115306301 : 1
963196331302 - 963196344786 : 1
966277384971 - 966277397846 : 1
970787822097 - 970787835220 : 1
973571655896 - 973571668976 : 1
973572161442 - 973572175139 : 1
973596684135 - 973596697280 : 1
973597239577 - 973597252861 : 1
973865391707 - 973865404707 : 1
976936534129 - 976936547174 : 1
980007612342 - 980007625511 : 1
981588889484 - 981588902694 : 1
981590077133 - 981590090480 : 1
983088668440 - 983088681480 : 1
986169807394 - 986169820386 : 1
989250890378 - 989250903401 : 1
992321947718 - 992321960531 : 1
995403058856 - 995403072021 : 1
998484053945 - 998484067062 : 1
1001565199100 - 1001565212207 : 1
1003552428310 - 1003552441518 : 1
1003552876303 - 1003552889638 : 1
1003568382384 - 1003568395487 : 1
1003568765750 - 1003568779020 : 1
1004636194981 - 1004636208188 : 1
1007707344705 - 1007707357709 : 1
1010778415721 - 1010778428741 : 1
1011560540229 - 1011560553389 : 1
1011561927543 - 1011561940923 : 1
1013859564627 - 1013859577612 : 1
1014269151269 - 1014269176907 : 1
1016940609681 - 1016940622736 : 1
1018351305497 - 1018351318142 : 1
1020021683074 - 1020021696106 : 1
1023092823043 - 1023092836083 : 1
1026163919547 - 1026163932584 : 1
1027481836548 - 1027481849148 : 1
1029665812302 - 1029665825304 : 1
1032744810554 - 1032744823611 : 1
1033528205221 - 1033528218561 : 1
1033528750711 - 1033528764109 : 1
1033541061767 - 1033541074846 : 1
1033541667086 - 1033541680471 : 1
1035816027012 - 1035816040095 : 1
1038896948014 - 1038896961012 : 1
1041534120902 - 1041534134090 : 1
1041535480453 - 1041535493935 : 1
1041968059912 - 1041968072957 : 1
1045049121614 - 1045049134639 : 1
1048120270308 - 1048120283353 : 1
1051201331248 - 1051201344335 : 1
1054282477243 - 1054282490313 : 1
1054731144773 - 1054731157353 : 1
1057363507649 - 1057363520788 : 1
1060444621675 - 1060444634762 : 1
1063497178478 - 1063497191573 : 1
1063497679952 - 1063497693362 : 1
1063512563544 - 1063512576671 : 1
1063513012957 - 1063513026255 : 1
1063515816507 - 1063515829519 : 1
1066596673106 - 1066596686186 : 1
1069677794533 - 1069677807548 : 1
1071506529596 - 1071506542793 : 1
1071507810802 - 1071507824241 : 1
1072758809018 - 1072758822028 : 1
1075829941783 - 1075829954816 : 1
1078901043557 - 1078901056545 : 1
1081972173147 - 1081972186280 : 1
1085043288525 - 1085043301538 : 1
1089542781558 - 1089542794630 : 1
1092621315335 - 1092621328327 : 1
1093472479026 - 1093472492203 : 1
1093473184240 - 1093473197527 : 1
1093483468223 - 1093483481271 : 1
1093483904348 - 1093483917772 : 1
1093864037081 - 1093864049248 : 1
1094861109846 - 1094861121694 : 1
1095702399059 - 1095702412126 : 1
1095858217997 - 1095858229866 : 1
1096932111767 - 1096932123657 : 1
1097929194501 - 1097929206436 : 1
1098783457340 - 1098783470607 : 1
1098926221703 - 1098926233816 : 1
1099999183233 - 1099999195124 : 1
1100996249385 - 1100996261176 : 1
1101474694454 - 1101474707571 : 1
1101475950400 - 1101475963755 : 1
1101864511724 - 1101864524807 : 1
1101993337796 - 1101993349724 : 1
1103066193258 - 1103066205064 : 1
1104063286977 - 1104063298982 : 1
1104935626670 - 1104935639675 : 1
1105060413515 - 1105060425418 : 1
1106134278291 - 1106134290127 : 1
1107131370635 - 1107131382453 : 1
1108006733154 - 1108006746149 : 1
1108128461127 - 1108128472975 : 1
1109202350443 - 1109202362277 : 1
1110199448196 - 1110199460292 : 1
1111077818122 - 1111077831162 : 1
1111196526268 - 1111196538141 : 1
1112270400706 - 1112270412572 : 1
1113267538886 - 1113267550759 : 1
1114059245853 - 1114059257629 : 1
1114158934382 - 1114158947385 : 1
1114264617228 - 1114264629143 : 1
1115338533174 - 1115338545101 : 1
1116335592271 - 1116335604095 : 1
1117239950409 - 1117239963399 : 1
1117332701985 - 1117332713803 : 1
1118406581113 - 1118406592971 : 1
1119403690993 - 1119403702817 : 1
1120311100144 - 1120311113132 : 1
1120400772846 - 1120400784659 : 1
1121474658475 - 1121474670465 : 1
1122471749452 - 1122471761320 : 1
1123382220415 - 1123382233417 : 1
1123442339995 - 1123442353128 : 1
1123443109842 - 1123443123434 : 1
1123452519420 - 1123452532497 : 1
1123453176302 - 1123453189649 : 1
1123468799008 - 1123468810921 : 1
1124541707025 - 1124541718798 : 1
1125538780310 - 1125538792083 : 1
1126463294747 - 1126463307764 : 1
1126535876064 - 1126535887965 : 1
1127608782704 - 1127608794605 : 1
1128605863360 - 1128605875143 : 1
1129534331746 - 1129534344826 : 1
1129602944847 - 1129602956755 : 1
1130675862333 - 1130675874252 : 1
1131445983359 - 1131445996484 : 1
1131447358115 - 1131447371500 : 1
1131672893718 - 1131672905639 : 1
1132615447269 - 1132615460279 : 1
1132670027682 - 1132670039573 : 1
1133743897562 - 1133743909316 : 1
1134740996492 - 1134741008481 : 1
1135697408174 - 1135697421179 : 1
1135738116015 - 1135738127836 : 1
1136812007561 - 1136812019446 : 1
1137809083861 - 1137809095742 : 1
1138777582501 - 1138777595454 : 1
1138806166743 - 1138806178498 : 1
1139121229652 - 1139121254520 : 1
1139880065444 - 1139880077347 : 1
1140877149450 - 1140877161261 : 1
1141858638539 - 1141858651561 : 1
1141874255608 - 1141874267411 : 1
1142948132927 - 1142948144792 : 1
1143945237716 - 1143945249639 : 1
1144939749210 - 1144939762102 : 1
1144942306721 - 1144942318571 : 1
1146015224871 - 1146015236799 : 1
1147012280549 - 1147012292352 : 1
1148009373282 - 1148009385148 : 1
1149082249745 - 1149082261671 : 1
1149429245728 - 1149429258786 : 1
1150079359854 - 1150079371782 : 1
1151076458076 - 1151076469984 : 1
1152150335353 - 1152150347173 : 1
1152507804965 - 1152507818052 : 1
1153147391707 - 1153147403615 : 1
1153408609585 - 1153408626458 : 2
1153427014762 - 1153427027792 : 1
1153429429704 - 1153429443176 : 1
1154144490340 - 1154144502195 : 1
1155588907800 - 1155588920935 : 1
1158659895213 - 1158659908348 : 1
1161420134450 - 1161420147558 : 1
1161421503425 - 1161421516752 : 1
1161731041771 - 1161731054759 : 1
1164802116298 - 1164802129244 : 1
1167883236536 - 1167883249568 : 1
1170964637439 - 1170964651116 : 1
1174045338033 - 1174045351158 : 1
1177116480523 - 1177116493580 : 1
1180187562888 - 1180187575761 : 1
1183258717066 - 1183258730071 : 1
1183385079370 - 1183385092569 : 1
1183385659969 - 1183385673331 : 1
1183410184189 - 1183410197431 : 1
1183412143342 - 1183412156692 : 1
1186329855756 - 1186329868831 : 1
1189410880482 - 1189410893519 : 1
1191403367642 - 1191403380775 : 1
1191404629160 - 1191404642639 : 1
1192491918243 - 1192491931318 : 1
1195563022708 - 1195563035845 : 1
1198644116079 - 1198644129076 : 1
1201715186141 - 1201715199216 : 1
1204786299148 - 1204786312203 : 1
1209294635744 - 1209294648728 : 1
1212374342255 - 1212374355255 : 1
1213370608213 - 1213370621401 : 1
1213371229297 - 1213371242741 : 1
1213380476882 - 1213380490035 : 1
1213381045659 - 1213381058984 : 1
1215455391872 - 1215455405046 : 1
1218526498270 - 1218526511944 : 1
1221373776210 - 1221373789267 : 1
1221375147017 - 1221375160349 : 1
1221607563080 - 1221607576203 : 1
1224689415984 - 1224689428943 : 1
1227769839332 - 1227769852345 : 1
1230840788128 - 1230840801226 : 1
1233921903454 - 1233921916531 : 1
1236993021973 - 1236993034970 : 1
1240074070745 - 1240074083782 : 1
1243145166570 - 1243145179554 : 1
1243340706113 - 1243340719441 : 1
1243341201161 - 1243341214518 : 1
1243352470146 - 1243352483286 : 1
1243352837069 - 1243352850336 : 1
1246216277490 - 1246216290526 : 1
1249297343557 - 1249297356572 : 1
1251108564790 - 1251108599333 : 1
1251345943175 - 1251345956642 : 1
1251347277495 - 1251347290937 : 1
1252368445299 - 1252368458274 : 1
1253059602756 - 1253059623257 : 1
1255439532306 - 1255439545389 : 1
1258520619281 - 1258520632334 : 1
1260419128656 - 1260419150493 : 1
1261591689451 - 1261591702583 : 1
1264672777974 - 1264672791050 : 1
1269172654330 - 1269172667155 : 1
1272250848041 - 1272250861076 : 1
1273312810127 - 1273312823303 : 1
1273314226347 - 1273314239732 : 1
1273323892118 - 1273323905280 : 1
1273324512362 - 1273324525706 : 1
1275321889890 - 1275321902947 : 1
1278402928061 - 1278402941750 : 1
1281315427382 - 1281315440415 : 1
1281316730436 - 1281316743731 : 1
1281474115502 - 1281474128517 : 1
1284545205790 - 1284545218855 : 1
1287626268561 - 1287626281656 : 1
1290697346497 - 1290697359521 : 1
1293768465098 - 1293768478137 : 1
1296839514540 - 1296839527383 : 1
1299920592565 - 1299920605605 : 1
1303002523952 - 1303002536947 : 1
1303278141412 - 1303278154495 : 1
1303278782886 - 1303278796454 : 1
1303291121040 - 1303291134140 : 1
1303291665881 - 1303291679295 : 1
1306082799720 - 1306082812744 : 1
1309153936231 - 1309153949308 : 1
1311282584592 - 1311282597761 : 1
1311283972668 - 1311283985995 : 1
1312234968508 - 1312234981577 : 1
1315306056734 - 1315306069766 : 1
1318377138515 - 1318377151589 : 1
1321448295004 - 1321448308018 : 1
1324519635727 - 1324519648677 : 1
1329048415989 - 1329048428895 : 1
1332127339590 - 1332127352563 : 1
1333250455156 - 1333250468399 : 1
1333252100294 - 1333252113649 : 1
1333258508080 - 1333258521112 : 1
1333259148580 - 1333259161857 : 1
1335208393437 - 1335208406472 : 1
1338289491255 - 1338289504510 : 1
1341251703064 - 1341251720304 : 1
1341253074327 - 1341253088087 : 1
1341360582380 - 1341360595360 : 1
1344441672053 - 1344441685071 : 1
1347522708917 - 1347522721992 : 1
1350593788332 - 1350593801384 : 1
1353664907431 - 1353664920508 : 1
1356746023423 - 1356746037117 : 1
1359817071636 - 1359817084743 : 1
1362888171920 - 1362888184958 : 1
1363212588881 - 1363212605926 : 2
1363226341813 - 1363226354978 : 1
1363227082371 - 1363227095701 : 1
1365969234404 - 1365969247452 : 1
1369050372704 - 1369050385777 : 1
1371218644015 - 1371218657175 : 1
1371219904489 - 1371219917861 : 1
1372131423497 - 1372131436555 : 1
1375213302038 - 1375213315155 : 1
1378293574533 - 1378293587553 : 1
1380011101269 - 1380011128181 : 1
1381374692392 - 1381374705449 : 1
1384108435480 - 1384108448015 : 1
1384455730300 - 1384455743348 : 1
1388924486299 - 1388924499293 : 1
1392003846510 - 1392003859593 : 1
1393181203656 - 1393181216848 : 1
1393181837249 - 1393181850601 : 1
1393190257398 - 1393190270500 : 1
1393190818976 - 1393190832321 : 1
1393487175345 - 1393487187958 : 1
1395074962995 - 1395074976063 : 1
1398145967656 - 1398145980751 : 1
1401182405650 - 1401182418708 : 1
1401183778415 - 1401183791777 : 1
1401217140971 - 1401217154028 : 1
1404288492071 - 1404288505141 : 1
1407369292623 - 1407369305601 : 1
1410440388870 - 1410440401925 : 1
1413511531933 - 1413511545015 : 1
1416582569096 - 1416582582099 : 1
1419653643232 - 1419653656234 : 1
1420727330332 - 1420727342874 : 1
1422724795144 - 1422724808336 : 1
1423148229497 - 1423148242607 : 1
1423148794101 - 1423148807511 : 1
1423164817037 - 1423164830187 : 1
1423165398474 - 1423165411781 : 1
1425805833767 - 1425805846801 : 1
1428876923690 - 1428876936852 : 1
1431158336094 - 1431158349308 : 1
1431159617612 - 1431159630975 : 1
1431958086432 - 1431958099458 : 1
1435029170052 - 1435029183120 : 1
1438100237779 - 1438100250828 : 1
1441181363510 - 1441181376385 : 1
1444252419821 - 1444252432788 : 1
1448800693227 - 1448800706284 : 1
1451880279674 - 1451880292719 : 1
1453123711038 - 1453123724198 : 1
1453124283428 - 1453124296775 : 1
1453134762245 - 1453134775329 : 1
1453135365096 - 1453135378373 : 1
1454951427778 - 1454951440738 : 1
1458032460365 - 1458032473589 : 1
1461113573174 - 1461113586239 : 1
1461131308274 - 1461131321356 : 1
1461132577695 - 1461132591092 : 1
1464194610256 - 1464194623233 : 1
1467275732946 - 1467275745969 : 1
1470346906791 - 1470346919818 : 1
1473417910927 - 1473417924009 : 1
1476489023814 - 1476489036864 : 1
1479560165015 - 1479560178082 : 1
1482641184024 - 1482641197079 : 1
1483091363468 - 1483091376570 : 1
1483095281763 - 1483095295107 : 1
1483118350178 - 1483118363236 : 1
1483118795440 - 1483118808812 : 1
1485722229731 - 1485722242768 : 1
1488793348832 - 1488793361877 : 1
1491105133064 - 1491105146119 : 1
1491106438161 - 1491106451636 : 1
1491864432346 - 1491864445399 : 1
1494935583489 - 1494935596496 : 1
1498016949038 - 1498016962012 : 1
1501097719657 - 1501097732733 : 1
1501846612431 - 1501846636999 : 1
1504168806943 - 1504168820010 : 1
1508678025221 - 1508678038248 : 1
1511756821276 - 1511756834291 : 1
1513072505018 - 1513072518198 : 1
1513073001950 - 1513073015369 : 1
1513083221813 - 1513083234850 : 1
1513083721008 - 1513083734320 : 1
1514827896621 - 1514827909638 : 1
1517908966658 - 1517908980639 : 1
1520990090738 - 1520990103738 : 1
1521075897226 - 1521075910303 : 1
1521077319147 - 1521077332682 : 1
1524061179922 - 1524061192909 : 1
1527132260163 - 1527132273298 : 1
1530213383062 - 1530213396124 : 1
1533294446625 - 1533294459690 : 1
1536375542197 - 1536375555247 : 1
1539456583536 - 1539456596559 : 1
1542537662578 - 1542537675671 : 1
1543040810095 - 1543040823279 : 1
1543041404269 - 1543041417643 : 1
1543057500107 - 1543057513237 : 1
1543058057535 - 1543058070853 : 1
1545618716525 - 1545618729632 : 1
1548699763780 - 1548699776815 : 1
1551046500780 - 1551046514287 : 1
1551047754585 - 1551047767960 : 1
1551770902797 - 1551770915812 : 1
1554851999601 - 1554852012578 : 1
1557933021434 - 1557933034634 : 1
1561014156707 - 1561014169795 : 1
1564095227182 - 1564095240027 : 1
1568558412147 - 1568558425161 : 1
1571633362042 - 1571633375101 : 1
1573010410727 - 1573010423871 : 1
1573011082777 - 1573011096167 : 1
1573025093346 - 1573025106453 : 1
1573025737678 - 1573025751160 : 1
1574714431159 - 1574714444276 : 1
1577795456627 - 1577795470167 : 1
1580866566704 - 1580866579758 : 1
1581017301471 - 1581017314603 : 1
1581018626104 - 1581018639589 : 1
1583947680917 - 1583947693843 : 1
1587018757147 - 1587018770134 : 1
1590099818144 - 1590099831028 : 1
1593170949095 - 1593170962165 : 1
1596252043351 - 1596252056371 : 1
1599333084560 - 1599333097455 : 1
1602414160903 - 1602414173961 : 1
1602986800506 - 1602986813835 : 1
1602987408256 - 1602987421614 : 1
1603002117650 - 1603002130743 : 1
1603002566512 - 1603002580017 : 1
1605495255811 - 1605495268713 : 1
1608566342788 - 1608566355728 : 1
1610994287095 - 1610994300255 : 1
1610995647768 - 1610995661107 : 1
1611223762906 - 1611223776438 : 1
1611224346501 - 1611224359891 : 1
1611647552583 - 1611647565720 : 1
1614729333242 - 1614729346246 : 1
1617809624378 - 1617809637345 : 1
1620890608793 - 1620890621750 : 1
1623961737698 - 1623961750635 : 1
1625256411325 - 1625256436168 : 1
1628430194679 - 1628430207629 : 1
1631510813478 - 1631510826371 : 1
1632959686236 - 1632959699466 : 1
1632960246723 - 1632960260052 : 1
1632968509064 - 1632968522176 : 1
1632968920930 - 1632968934260 : 1
1634591080381 - 1634591093439 : 1
1637671982372 - 1637671996394 : 1
1640753038904 - 1640753051882 : 1
1640966792432 - 1640966805782 : 1
1640968057615 - 1640968070995 : 1
1643824165526 - 1643824178486 : 1
1646905206562 - 1646905219660 : 1
1649976305571 - 1649976318595 : 1
1653047437139 - 1653047450204 : 1
1656128561454 - 1656128574629 : 1
1659199607958 - 1659199621056 : 1
1662280670667 - 1662280683682 : 1
1662929718473 - 1662929731577 : 1
1662930347526 - 1662930360918 : 1
1662944682342 - 1662944695450 : 1
1662945053802 - 1662945067087 : 1
1665361772790 - 1665361785870 : 1
1668442810736 - 1668442823844 : 1
1670937670530 - 1670937683639 : 1
1670938912327 - 1670938925681 : 1
1671523894078 - 1671523907158 : 1
1674604942055 - 1674604955075 : 1
1677676035989 - 1677676049184 : 1
1680747150895 - 1680747163967 : 1
1683818286926 - 1683818300074 : 1
1688331665945 - 1688331678945 : 1
1690229924922 - 1690229936693 : 1
1691406327415 - 1691406340530 : 1
1692903802993 - 1692903816120 : 1
1692904501101 - 1692904514486 : 1
1692915693477 - 1692915706669 : 1
1692916227664 - 1692916240994 : 1
1694487335831 - 1694487348771 : 1
1697558415545 - 1697558428817 : 1
1700639527500 - 1700639540604 : 1
1700910054842 - 1700910068057 : 1
1700911310596 - 1700911323943 : 1
1703721384231 - 1703721397268 : 1
1706801675479 - 1706801688564 : 1
1709872759778 - 1709872772841 : 1
1712824054490 - 1712824066066 : 1
1712943820304 - 1712943833349 : 1
1716014959176 - 1716014972233 : 1
1719096077045 - 1719096090087 : 1
1722167194814 - 1722167207887 : 1
1722876610955 - 1722876624130 : 1
1722877109417 - 1722877122842 : 1
1722889563321 - 1722889576408 : 1
1722890068078 - 1722890081424 : 1
1725238229403 - 1725238242472 : 1
1728309521855 - 1728309534822 : 1
1730883156899 - 1730883170041 : 1
1730884443652 - 1730884457027 : 1
1731390476847 - 1731390489986 : 1
1734471475141 - 1734471488201 : 1
1737542567220 - 1737542580345 : 1
1740623656883 - 1740623669918 : 1
1742807097899 - 1742807122604 : 1
1743694728757 - 1743694741742 : 1
1746905351965 - 1746905364615 : 1
1748183935753 - 1748183948818 : 1
1751262879504 - 1751262892649 : 1
1752847496683 - 1752847509968 : 1
1752848193585 - 1752848207047 : 1
1752858415124 - 1752858428204 : 1
1752858916018 - 1752858929371 : 1
1754333947050 - 1754333960055 : 1
1756224766706 - 1756224779261 : 1
1757414993709 - 1757415007073 : 1
1760496111198 - 1760496124278 : 1
1760851097501 - 1760851110651 : 1
1760852440494 - 1760852454001 : 1
1763567263930 - 1763567276900 : 1
1766648304599 - 1766648317636 : 1
1769719340564 - 1769719353429 : 1
1772800433060 - 1772800446152 : 1
1775881480458 - 1775881493455 : 1
1778962596993 - 1778962610055 : 1
1782043702559 - 1782043715621 : 1
1782818010710 - 1782818023942 : 1
1782818644718 - 1782818658117 : 1
1782834282580 - 1782834295684 : 1
1782834718359 - 1782834731731 : 1
1783440321453 - 1783440334060 : 1
1785124810494 - 1785124823496 : 1
1788205837589 - 1788205850616 : 1
1790827465938 - 1790827479020 : 1
1790828754822 - 1790828768287 : 1
1791286866885 - 1791286879859 : 1
1794367941285 - 1794367954454 : 1
1797439088059 - 1797439101059 : 1
1800510132619 - 1800510145601 : 1
1803581251548 - 1803581264483 : 1
1808061439943 - 1808061452859 : 1
1811139353164 - 1811139366173 : 1
1812795100356 - 1812795113543 : 1
1812795665422 - 1812795678874 : 1
1812809628858 - 1812809641938 : 1
1812810076555 - 1812810089885 : 1
1814220426816 - 1814220439836 : 1
1814354835870 - 1814354858137 : 1
1814354870967 - 1814354875541 : 0
1814958888353 - 1814958907752 : 1
1814959292476 - 1814959297783 : 0
1815055389611 - 1815055407710 : 1
1817291498628 - 1817291512200 : 1
1819943254824 - 1819943272120 : 1
1819943634423 - 1819943639031 : 0
1820362647034 - 1820362660007 : 1
1820800438220 - 1820800451350 : 1
1820801794365 - 1820801807800 : 1
1823433737375 - 1823433750547 : 1
1826514800508 - 1826514813573 : 1
1829595909282 - 1829595922362 : 1
1832676936660 - 1832676949650 : 1
1835757981372 - 1835757994409 : 1
1838829130060 - 1838829143123 : 1
1841910170462 - 1841910183415 : 1
1842766971302 - 1842766984401 : 1
1842767510885 - 1842767524180 : 1
1842779737639 - 1842779750796 : 1
1842780270312 - 1842780283569 : 1
1844981366174 - 1844981379261 : 1
1848062371506 - 1848062384554 : 1
1850771028582 - 1850771041712 : 1
1850772493933 - 1850772507280 : 1
1851133468585 - 1851133481628 : 1
1854214524701 - 1854214537813 : 1
1857296413595 - 1857296426635 : 1
1860376700529 - 1860376713504 : 1
1863447794230 - 1863447807335 : 1
1863458956840 - 1863458982540 : 1
1867936463926 - 1867936476958 : 1
1871015865356 - 1871015878433 : 1
1872739604586 - 1872739621570 : 2
1872751155391 - 1872751168518 : 1
1872751583110 - 1872751596385 : 1
1874096916926 - 1874096930034 : 1
1877178020471 - 1877178033693 : 1
1880249141004 - 1880249154044 : 1
1880742330979 - 1880742344246 : 1
1880743635446 - 1880743648781 : 1
1883320222287 - 1883320235350 : 1
1886401325928 - 1886401338980 : 1
1889472427194 - 1889472440196 : 1
1892553447788 - 1892553460738 : 1
1895624610001 - 1895624623058 : 1
1898695661889 - 1898695674986 : 1
1901766735944 - 1901766748992 : 1
1902707609225 - 1902707622452 : 1
1902708318939 - 1902708332309 : 1
1902719998517 - 1902720011412 : 1
1902720592136 - 1902720605464 : 1
1904847895349 - 1904847908391 : 1
1907918956629 - 1907918969768 : 1
1910711576181 - 1910711589316 : 1
1910712854284 - 1910712867702 : 1
1910990017221 - 1910990030249 : 1
1914071112167 - 1914071125194 : 1
1917142213293 - 1917142226168 : 1
1920213301173 - 1920213314200 : 1
1923294416953 - 1923294430055 : 1
1927812714696 - 1927812727713 : 1
1930892368856 - 1930892381953 : 1
1932678894457 - 1932678907572 : 1
1932679503333 - 1932679516647 : 1
1932696394000 - 1932696407087 : 1
1932696827064 - 1932696840393 : 1
1933963452113 - 1933963465265 : 1
1937044517570 - 1937044530865 : 1
1940115625113 - 1940115638050 : 1
1940688228424 - 1940688241576 : 1
1940689514250 - 1940689527607 : 1
1943196734699 - 1943196747764 : 1
1946277806253 - 1946277819338 : 1
1949358867573 - 1949358880700 : 1
1952429957106 - 1952429970163 : 1
1955501109783 - 1955501122873 : 1
1958572150433 - 1958572163280 : 1
1961653257833 - 1961653270833 : 1
1962655088670 - 1962655101903 : 1
1962655753454 - 1962655766848 : 1
1962666751753 - 1962666764920 : 1
1962667176461 - 1962667189793 : 1
1964724329541 - 1964724342561 : 1
1967805367520 - 1967805380562 : 1
1970660106396 - 1970660119536 : 1
1970661482913 - 1970661496289 : 1
1970876502879 - 1970876515924 : 1
1973947606172 - 1973947619334 : 1
1977018726755 - 1977018739732 : 1
1980099788877 - 1980099801936 : 1
1982974143402 - 1982974168110 : 1
1983180874469 - 1983180887584 : 1
1987701106945 - 1987701119998 : 1
1990778875108 - 1990778888086 : 1
1992627962473 - 1992627975643 : 1
1992631031999 - 1992631045436 : 1
1992638611950 - 1992638625002 : 1
1992639112761 - 1992639126176 : 1
1993849930492 - 1993849943542 : 1
1996930971796 - 1996930985078 : 1
2000002164898 - 2000002177956 : 1
2000632408004 - 2000632421251 : 1
2000633952336 - 2000633965691 : 1
2003083206158 - 2003083219172 : 1
2006164265369 - 2006164278443 : 1
2009235416031 - 2009235429148 : 1
2012316435158 - 2012316448171 : 1
2015387559551 - 2015387572613 : 1
2018468807266 - 2018468820304 : 1
2021550571834 - 2021550584834 : 1
2022597796326 - 2022597809476 : 1
2022598209109 - 2022598222476 : 1
2022610173460 - 2022610186552 : 1
2022610718133 - 2022610731430 : 1
2024630849064 - 2024630862086 : 1
2027711857377 - 2027711870504 : 1
2030603381301 - 2030603394468 : 1
2030604833520 - 2030604846990 : 1
2030782941431 - 2030782954476 : 1
2033863979552 - 2033863992617 : 1
2036945094555 - 2036945107527 : 1
2040016240268 - 2040016253285 : 1
2043097248384 - 2043097261526 : 1
2047567794960 - 2047567808027 : 1
2050645451184 - 2050645464221 : 1
2052568720424 - 2052568733612 : 1
2052569162301 - 2052569175823 : 1
2052582071867 - 2052582084919 : 1
2052582575976 - 2052582589253 : 1
2053726473965 - 2053726487063 : 1
2056797495269 - 2056797508551 : 1
2059878671836 - 2059878684784 : 1
2060575910351 - 2060575923486 : 1
2060577150107 - 2060577163481 : 1
2062959692408 - 2062959705430 : 1
2066030783857 - 2066030796884 : 1
2069101916968 - 2069101930075 : 1
2072183028641 - 2072183041618 : 1
2075254118746 - 2075254131826 : 1
2078335404509 - 2078335417499 : 1
2081416235109 - 2081416248136 : 1
2082542344028 - 2082542357155 : 1
2082544699617 - 2082544713114 : 1
2082551828482 - 2082551841912 : 1
2082552475860 - 2082552489193 : 1
2084487330984 - 2084487344051 : 1
2087568381183 - 2087568394273 : 1
2090544411547 - 2090544424707 : 1
2090545645317 - 2090545658761 : 1
2090639489203 - 2090639502183 : 1
2093720591109 - 2093720604149 : 1
2096242028506 - 2096242053396 : 1
2096801584473 - 2096801597473 : 1
2099882751503 - 2099882764473 : 1
2100325123597 - 2100325136192 : 1
2102953834903 - 2102953848003 : 1
2107442694528 - 2107442707575 : 1
2109780117608 - 2109780130136 : 1
2110521896967 - 2110521910079 : 1
2112512633963 - 2112512647128 : 1
2112513165547 - 2112513178874 : 1
2112520303077 - 2112520316134 : 1
2112520652530 - 2112520665824 : 1
2113603894110 - 2113603907166 : 1
2116684177009 - 2116684190004 : 1
2119765197078 - 2119765210078 : 1
2120513020158 - 2120513033326 : 1
2120514272157 - 2120514285524 : 1
2122836198808 - 2122836211873 : 1
2125917261844 - 2125917274872 : 1
2128988374699 - 2128988387719 : 1
2132059466441 - 2132059479476 : 1
2135140697197 - 2135140710304 : 1
2137901084326 - 2137901096881 : 1
2138221641760 - 2138221654782 : 1
2141292760007 - 2141292773104 : 1
2142478247033 - 2142478260120 : 1
2142478788541 - 2142478801917 : 1
2142492296466 - 2142492309558 : 1
2142492999713 - 2142493013143 : 1
2144363834101 - 2144363847161 : 1
2147434935865 - 2147434948862 : 1
2150487246511 - 2150487259671 : 1
2150488547031 - 2150488560433 : 1
2150506014850 - 2150506027862 : 1
2153587074071 - 2153587087076 : 1
2156658242980 - 2156658256175 : 1
2159739294543 - 2159739307628 : 1
2162810369685 - 2162810382705 : 1
2167318592887 - 2167318605974 : 1
2170398424450 - 2170398437492 : 1
2172451612397 - 2172451625670 : 1
2172452173614 - 2172452187118 : 1
2172464651983 - 2172464665235 : 1
2172465633689 - 2172465646944 : 1
2173469485648 - 2173469498652 : 1
2176540596271 - 2176540609156 : 1
2179611687164 - 2179611700131 : 1
2180457059526 - 2180457072688 : 1
2180458320326 - 2180458333736 : 1
2182682824030 - 2182682837224 : 1
2185753878606 - 2185753891639 : 1
2188834966538 - 2188834979528 : 1
2191916798670 - 2191916811693 : 1
2194997065306 - 2194997078368 : 1
2198078168276 - 2198078181322 : 1
2201159249007 - 2201159262000 : 1
2202421383030 - 2202421396334 : 1
2202421851303 - 2202421864677 : 1
2202438239287 - 2202438252345 : 1
2202438723076 - 2202438736381 : 1
2204230360776 - 2204230373798 : 1
2207301473318 - 2207301486410 : 1
2210382552013 - 2210382565070 : 1
2210427375570 - 2210427388793 : 1
2210428789979 - 2210428803356 : 1
2213463589789 - 2213463602773 : 1
2216534698053 - 2216534711081 : 1
2219605772366 - 2219605785388 : 1
2219690798909 - 2219690823604 : 1
2222676905137 - 2222676918199 : 1
2226209558589 - 2226209571714 : 1
2229287738295 - 2229287751233 : 1
2232368853861 - 2232368866863 : 1
2232391741375 - 2232391754472 : 1
2232392313022 - 2232392326324 : 1
2232404039799 - 2232404052951 : 1
2232404533260 - 2232404546537 : 1
2235449860730 - 2235449874077 : 1
2238521045848 - 2238521058925 : 1
2240396184766 - 2240396197834 : 1
2240397603115 - 2240397616592 : 1
2241602109101 - 2241602122128 : 1
2244683192295 - 2244683205375 : 1
2247754283938 - 2247754297737 : 1
2250835334898 - 2250835348036 : 1
2253916427910 - 2253916440954 : 1
2256997469985 - 2256997483025 : 1
2260078588911 - 2260078601931 : 1
2262362176310 - 2262362189540 : 1
2262362716671 - 2262362730051 : 1
2262373386717 - 2262373400030 : 1
2262373886245 - 2262373899592 : 1
2263159648160 - 2263159661252 : 1
2266240708902 - 2266240721932 : 1
2269322627389 - 2269322640472 : 1
2270364757856 - 2270364771033 : 1
2270365991500 - 2270366004919 : 1
2272402882842 - 2272402895834 : 1
2275473935202 - 2275473948294 : 1
2278555031134 - 2278555044196 : 1
2281626080039 - 2281626093109 : 1
2286434096230 - 2286434109298 : 1
2289513225877 - 2289513238932 : 1
2292328930098 - 2292328943238 : 1
2292329397189 - 2292329410609 : 1
2292343001773 - 2292343015005 : 1
2292343482464 - 2292343495757 : 1
2292594378346 - 2292594391408 : 1
2295675347135 - 2295675360220 : 1
2298756527428 - 2298756540407 : 1
2300335705948 - 2300335719152 : 1
2300337089759 - 2300337103111 : 1
2301827632582 - 2301827645719 : 1
2304898676405 - 2304898689417 : 1
2307969797732 - 2307969810799 : 1
2311050819872 - 2311050832930 : 1
2314121939521 - 2314121952601 : 1
2317203029488 - 2317203042543 : 1
2320284123881 - 2320284136851 : 1
2322304774714 - 2322304787864 : 1
2322305348398 - 2322305361810 : 1
2322315207907 - 2322315220973 : 1
2322315643992 - 2322315657302 : 1
2323365182605 - 2323365195660 : 1
2326436280636 - 2326436293643 : 1
2329507384494 - 2329507397506 : 1
2330308272163 - 2330308285425 : 1
2330309539938 - 2330309553302 : 1
2330415112370 - 2330415125829 : 1
2330415733236 - 2330415746583 : 1
2332578521779 - 2332578534824 : 1
2335659566159 - 2335659579161 : 1
2337497693457 - 2337497718223 : 1
2338730662656 - 2338730675748 : 1
2341801734467 - 2341801747519 : 1
2346011867551 - 2346011880571 : 1
2349090585535 - 2349090598552 : 1
2352161745862 - 2352161758764 : 1
2352275342877 - 2352275356034 : 1
2352275878938 - 2352275892224 : 1
2352287309656 - 2352287326563 : 2
2355242742766 - 2355242756436 : 1
2358313913333 - 2358313926355 : 1
2360280386124 - 2360280399299 : 1
2360281679678 - 2360281693068 : 1
2361395060002 - 2361395072959 : 1
2364466247570 - 2364466260700 : 1
2367547154658 - 2367547167733 : 1
2370618268702 - 2370618281780 : 1
2373689369597 - 2373689382651 : 1
2376770380891 - 2376770394010 : 1
2379841494003 - 2379841506983 : 1
2382247550710 - 2382247563757 : 1
2382248215965 - 2382248229382 : 1
2382260914290 - 2382260927453 : 1
2382261346821 - 2382261360161 : 1
2382912821846 - 2382912834879 : 1
2385993729304 - 2385993742349 : 1
2389064771938 - 2389064785002 : 1
2390254229281 - 2390254242414 : 1
2390255450568 - 2390255463918 : 1
2392145897107 - 2392145910102 : 1
2395216987533 - 2395217000545 : 1
2398298039428 - 2398298052355 : 1
2401369157003 - 2401369169905 : 1
2405867894613 - 2405867907753 : 1
2408947195954 - 2408947208984 : 1
2412018266347 - 2412018279542 : 1
2412221401005 - 2412221414130 : 1
2412222003849 - 2412222017161 : 1
2412229737670 - 2412229750805 : 1
2412230339280 - 2412230352537 : 1
2415089323534 - 2415089337373 : 1
2418170455842 - 2418170468860 : 1
2420224392810 - 2420224406055 : 1
2420225613365 - 2420225626677 : 1
2421251516250 - 2421251529237 : 1
2424332731984 - 2424332744959 : 1
2427413747948 - 2427413761000 : 1
2430494785299 - 2430494798376 : 1
2433565823108 - 2433565836061 : 1
2436636990569 - 2436637003523 : 1
2439718055351 - 2439718068388 : 1
2442187187746 - 2442187204743 : 2
2442201430805 - 2442201443838 : 1
2442201939285 - 2442201952597 : 1
2442799090047 - 2442799103066 : 1
2445870238468 - 2445870251620 : 1
2448951278260 - 2448951291255 : 1
2450199953143 - 2450199966238 : 1
2450201411706 - 2450201425040 : 1
2452032397351 - 2452032410251 : 1
2455113430295 - 2455113443362 : 1
2455203991106 - 2455204015774 : 1
2458194628774 - 2458194641919 : 1
2459124125438 - 2459124138008 : 1
2461275578109 - 2461275591075 : 1
2465748556332 - 2465748569227 : 1
2468182636400 - 2468182648880 : 1
2468823716682 - 2468823729649 : 1
2471894770044 - 2471894783014 : 1
2472160645471 - 2472160658691 : 1
2472161316540 - 2472161329945 : 1
2472179239070 - 2472179252137 : 1
2472179654911 - 2472179668136 : 1
2474965855632 - 2474965868689 : 1
2478046952104 - 2478046965161 : 1
2480172489372 - 2480172502551 : 1
2480173846236 - 2480173859695 : 1
2481128128513 - 2481128141358 : 1
2484199093460 - 2484199106520 : 1
2487280260555 - 2487280273607 : 1
2490351316096 - 2490351329138 : 1
2493422450461 - 2493422464530 : 1
2495791863199 - 2495791875797 : 1
2496503498993 - 2496503511998 : 1
2499585348018 - 2499585361098 : 1
2502138487708 - 2502138500801 : 1
2502139123241 - 2502139136620 : 1
2502149203611 - 2502149216728 : 1
2502149627975 - 2502149641252 : 1
2502665663935 - 2502665676845 : 1
2505736717495 - 2505736730692 : 1
2508807792052 - 2508807805044 : 1
2510144893013 - 2510144906243 : 1
2510146306826 - 2510146320208 : 1
2511878909584 - 2511878922699 : 1
2514949999548 - 2514950012530 : 1
2518021257135 - 2518021270207 : 1
2521102238287 - 2521102251424 : 1
2525627707175 - 2525627720255 : 1
2528700203524 - 2528700216319 : 1
2531771348352 - 2531771361339 : 1
2532106620313 - 2532106633486 : 1
2532107336171 - 2532107349511 : 1
2532121892905 - 2532121906022 : 1
2532122469884 - 2532122483308 : 1
2534842346009 - 2534842359109 : 1
2537913543410 - 2537913556560 : 1
2540118178652 - 2540118191769 : 1
2540119798629 - 2540119812059 : 1
2540994836686 - 2540994849678 : 1
2544075707772 - 2544075720825 : 1
2547156749566 - 2547156762663 : 1
2550237810913 - 2550237824003 : 1
2553308953705 - 2553308966778 : 1
2556389983686 - 2556389996771 : 1
2559471097975 - 2559471111032 : 1
2562080935301 - 2562080948479 : 1
2562081644201 - 2562081657491 : 1
2562096450840 - 2562096467928 : 2
2562096799148 - 2562096801722 : 0
2562542147277 - 2562542160261 : 1
2565613335959 - 2565613349017 : 1
2568694323140 - 2568694336205 : 1
2570089830448 - 2570089843638 : 1
2570091248184 - 2570091261494 : 1
2571775438268 - 2571775451366 : 1
2574856603007 - 2574856615975 : 1
2577476093720 - 2577476118473 : 1
2577937600190 - 2577937613275 : 1
2581008660303 - 2581008673405 : 1
2585497252447 - 2585497265507 : 1
2588577498964 - 2588577511971 : 1
2591657817989 - 2591657830964 : 1
2592050193661 - 2592050206916 : 1
2592051068549 - 2592051081886 : 1
2592068437208 - 2592068450333 : 1
2592068943079 - 2592068956391 : 1
2594728849696 - 2594728862874 : 1
2597800255927 - 2597800269014 : 1
2600059055500 - 2600059068655 : 1
2600060362641 - 2600060376116 : 1
2600881019211 - 2600881032221 : 1
2603952138285 - 2603952151347 : 1
2607023283613 - 2607023296711 : 1
2610094354994 - 2610094368017 : 1
2613165439756 - 2613165452833 : 1
2616236730964 - 2616236744001 : 1
2619317703486 - 2619317716645 : 1
2622024456538 - 2622024469672 : 1
2622025114227 - 2622025127582 : 1
2622034131535 - 2622034144632 : 1
2622034630635 - 2622034643990 : 1
2622388766250 - 2622388779297 : 1
2625469843675 - 2625469856747 : 1
2628540950289 - 2628540963503 : 1
2630027929461 - 2630027942738 : 1
2630029149440 - 2630029162875 : 1
2631622024623 - 2631622037723 : 1
2634703046625 - 2634703059685 : 1
2637784162561 - 2637784175616 : 1
2640855260657 - 2640855273719 : 1
2645375609260 - 2645375622365 : 1
2648453244705 - 2648453257813 : 1
2651524377384 - 2651524390381 : 1
2651999939628 - 2651999952808 : 1
2652000493830 - 2652000507196 : 1
2652003792984 - 2652003806014 : 1
2652004349573 - 2652004362825 : 1
2654595378514 - 2654595391711 : 1
2657676541604 - 2657676554657 : 1
2660000556219 - 2660000569378 : 1
2660001943765 - 2660001957077 : 1
2660757620034 - 2660757633079 : 1
2663839560950 - 2663839573928 : 1
2666919728746 - 2666919741756 : 1
2669990912874 - 2669990926044 : 1
2673072093911 - 2673072106904 : 1
2676152957347 - 2676152970392 : 1
2679224076660 - 2679224089730 : 1
2681961363274 - 2681961376371 : 1
2681962031705 - 2681962045137 : 1
2681983037899 - 2681983051074 : 1
2681983597054 - 2681983610508 : 1
2682305176046 - 2682305189043 : 1
2685386240336 - 2685386253343 : 1
2688467296014 - 2688467309072 : 1
2689971470947 - 2689971484097 : 1
2689972811931 - 2689972825303 : 1
2691548397555 - 2691548410593 : 1
2694619452367 - 2694619465564 : 1
2694716742392 - 2694716767615 : 1
2697690534030 - 2697690547124 : 1
2700771624672 - 2700771637782 : 1
2705250547268 - 2705250560300 : 1
2708329768189 - 2708329781311 : 1
2711400845055 - 2711400858139 : 1
2711937743351 - 2711937756554 : 1
2711938288669 - 2711938302356 : 1
2711969991722 - 2711970004864 : 1
2711970401115 - 2711970414427 : 1
2714481863687 - 2714481876784 : 1
2717563043994 - 2717563057104 : 1
2719963550293 - 2719963563530 : 1
2719964789441 - 2719964802891 : 1
2720644067975 - 2720644081031 : 1
2723715153419 - 2723715166529 : 1
2726786308772 - 2726786321886 : 1
2729857334710 - 2729857347722 : 1
2732928407016 - 2732928420026 : 1
2736009569856 - 2736009582876 : 1
2739090559875 - 2739090573063 : 1
2741929653376 - 2741929666491 : 1
2741930333657 - 2741930347019 : 1
2741940337497 - 2741940350552 : 1
2741940817561 - 2741940830773 : 1
2742171720739 - 2742171733774 : 1
2745252790424 - 2745252803439 : 1
2748323815997 - 2748323829057 : 1
2749932712926 - 2749932726311 : 1
2749934056281 - 2749934069561 : 1
2751404937397 - 2751404950434 : 1
2754486017613 - 2754486030695 : 1
2757557138103 - 2757557151243 : 1
2760628184600 - 2760628197754 : 1
2765127545102 - 2765127558275 : 1
2768206278417 - 2768206291486 : 1
2771277325008 - 2771277338010 : 1
2771898586724 - 2771898599991 : 1
2771899248781 - 2771899262075 : 1
2771911435538 - 2771911448726 : 1
2771911966892 - 2771911980211 : 1
2774358453566 - 2774358466816 : 1
2777429527988 - 2777429541090 : 1
2779903529833 - 2779903542940 : 1
2779904848964 - 2779904862319 : 1
2780500669803 - 2780500682896 : 1
2783571745910 - 2783571758962 : 1
2786652823950 - 2786652837044 : 1
2789723906030 - 2789723919123 : 1
2792794986306 - 2792794999334 : 1
2795876100877 - 2795876113870 : 1
2798947182938 - 2798947195927 : 1
2801869849609 - 2801869870407 : 1
2801870391181 - 2801870405543 : 1
2801893903582 - 2801893916634 : 1
2801894693643 - 2801894707081 : 1
2802028267317 - 2802028280399 : 1
2805109371531 - 2805109384499 : 1
2808190445331 - 2808190458396 : 1
2809880761880 - 2809880774945 : 1
2809881963868 - 2809881977326 : 1
2811271530834 - 2811271543781 : 1
2814352673141 - 2814352686266 : 1
2817433659834 - 2817433672937 : 1
2820504743664 - 2820504756851 : 1
2822784837730 - 2822784869437 : 1
2825003365013 - 2825003378082 : 1
2826819423964 - 2826819436595 : 1
2828082718661 - 2828082731746 : 1
2831163887256 - 2831163900303 : 1
2831847637183 - 2831847650413 : 1
2831848374564 - 2831848387926 : 1
2831858538732 - 2831858551917 : 1
2831859142763 - 2831859156103 : 1
2834234907749 - 2834234920744 : 1
2836011861250 - 2836011873720 : 1
2837306003922 - 2837306016974 : 1
2839851871742 - 2839851884927 : 1
2839853288739 - 2839853302121 : 1
2840377191690 - 2840377204689 : 1
2843458241406 - 2843458254581 : 1
2846529338386 - 2846529351373 : 1
2849610396647 - 2849610409617 : 1
2852691508002 - 2852691521005 : 1
2855772550885 - 2855772564040 : 1
2858843625168 - 2858843638155 : 1
2861820265013 - 2861820278210 : 1
2861820764400 - 2861820777799 : 1
2861831032490 - 2861831045690 : 1
2861831985412 - 2861831998868 : 1
2861924672256 - 2861924685266 : 1
2864150789093 - 2864150801674 : 1
2864995836306 - 2864995849398 : 1
2868076906747 - 2868076919735 : 1
2869823155620 - 2869823175611 : 1
2869824430560 - 2869824444941 : 1
2871157967352 - 2871157980485 : 1
2874229055070 - 2874229073496 : 1
2877310070771 - 2877310086625 : 1
2880381217803 - 2880381238906 : 1
2883073177898 - 2883073187121 : 2
2883073187683 - 2883073187724 : 0
2883073223309 - 2883073227720 : 2
2883073227809 - 2883073227835 : 0
2884879529754 - 2884879549784 : 1
2887959228165 - 2887959248650 : 1
2888049287781 - 2888049290057 : 1
2888049629019 - 2888049634296 : 0
2888149115715 - 2888149121989 : 1
2888149477023 - 2888149482400 : 0
2888248943890 - 2888248950004 : 1
2888249332197 - 2888249337486 : 0
2888348763975 - 2888348769829 : 1
2888349096819 - 2888349101507 : 0
2888448570743 - 2888448574298 : 1
2888448886038 - 2888448890260 : 0
2889676719587 - 2889676726673 : 1
2889676784354 - 2889676791972 : 1
2889677076673 - 2889677082297 : 0
2889926744724 - 2889926749525 : 1
2889926797901 - 2889926802876 : 1
2889927030307 - 2889927035589 : 0
2890176780329 - 2890176786435 : 1
2890176839186 - 2890176846110 : 1
2890177115237 - 2890177121024 : 0
2890377060896 - 2890377068556 : 1
2890377155582 - 2890377159682 : 1
2890377406775 - 2890377412057 : 0
2891030314838 - 2891030328699 : 1
2891301061931 - 2891301065594 : 1
2891301355651 - 2891301360369 : 0
2891396810253 - 2891396818156 : 1
2891396917598 - 2891396922735 : 1
2891397155818 - 2891397161570 : 0
2891794469001 - 2891794488489 : 1
2891795055229 - 2891795062970 : 1
2891805904806 - 2891805914378 : 1
2891806360439 - 2891806366011 : 1
2892587866802 - 2892587872573 : 1
2892588180158 - 2892588184763 : 0
2893413009819 - 2893413017066 : 1
2893413065671 - 2893413068679 : 1
2893413323329 - 2893413327486 : 0
2894101399506 - 2894101418468 : 1
2894355250823 - 2894355257971 : 1
2894355298810 - 2894355306536 : 1
2894355643455 - 2894355647110 : 0
2894592763403 - 2894592767083 : 1
2894593167797 - 2894593173226 : 0
2894692573717 - 2894692578117 : 1
2894692894854 - 2894692898899 : 0
2894792378479 - 2894792381904 : 1
2894792680122 - 2894792683894 : 0
2894892182150 - 2894892186030 : 1
2894892531333 - 2894892535256 : 0
2894991986347 - 2894991990377 : 1
2894992376356 - 2894992381463 : 0
2895605647514 - 2895605653278 : 1
2895605995371 - 2895605998701 : 0
2896605153665 - 2896605160019 : 1
2896605512543 - 2896605518309 : 0
2897015559604 - 2897015565270 : 1
2897015594760 - 2897015600828 : 1
2897015869112 - 2897015873082 : 0
2897182527942 - 2897182542833 : 1
2898012971191 - 2898012978652 : 1
2898013018513 - 2898013026988 : 1
2898013271275 - 2898013276804 : 0
2899798644300 - 2899798666781 : 1
2899799916801 - 2899799931268 : 1
2900009501565 - 2900009507580 : 1
2900009545682 - 2900009550999 : 1
2900009884166 - 2900009890178 : 0
2900263591133 - 2900263608820 : 1
2900669908324 - 2900669934539 : 1
2900670285416 - 2900670287907 : 0
2900744523014 - 2900744543430 : 1
2900744962896 - 2900744968018 : 0
2900823142968 - 2900823166212 : 1
2900823722881 - 2900823726908 : 0
2901037510069 - 2901037568506 : 1
2901037937566 - 2901037942413 : 0
2901056369567 - 2901056373514 : 0
2901270298909 - 2901270317892 : 1
2901341238231 - 2901341269603 : 1
2901341576795 - 2901341581622 : 0
2901342389166 - 2901342415628 : 1
2901342763115 - 2901342767764 : 0
2901343052178 - 2901343078280 : 1
2901343380993 - 2901343384126 : 0
2901349067901 - 2901349071251 : 0
2901564926589 - 2901564954636 : 1
2901569374175 - 2901569392701 : 1
2901571314879 - 2901571318962 : 0
2901825777531 - 2901825797194 : 1
2901921459826 - 2901921489299 : 1
2901922699581 - 2901922729304 : 1
2901923070226 - 2901923075029 : 0
2901923398137 - 2901923416573 : 1
2901924651705 - 2901924677994 : 1
2901925018652 - 2901925023411 : 0
2901925566298 - 2901925585789 : 1
2901926604155 - 2901926630374 : 1
2901926975484 - 2901926979228 : 0
2901927523041 - 2901927533999 : 1
2901928241334 - 2901928251193 : 1
2901928568330 - 2901928570869 : 0
2901929483419 - 2901929496304 : 1
2901930464002 - 2901930478483 : 1
2901930790748 - 2901930793408 : 0
2902137384531 - 2902137413219 : 1
2902138325436 - 2902138355426 : 1
2902138660459 - 2902138663198 : 0
2902139575068 - 2902139581877 : 1
2902141568353 - 2902141594717 : 1
2902141905413 - 2902141910105 : 0
2902142565593 - 2902142585132 : 1
2902143262247 - 2902143288097 : 1
2902143633944 - 2902143638654 : 0
2902144508491 - 2902144527988 : 1
2902145433669 - 2902145459684 : 1
2902145816180 - 2902145820832 : 0
2902146500071 - 2902146518226 : 1
2902146884641 - 2902146910281 : 1
2902147221033 - 2902147223566 : 0
2903078209948 - 2903078218028 : 1
2903078586497 - 2903078591462 : 0
2903079076840 - 2903079080021 : 1
2903079407990 - 2903079412670 : 0
2903106945298 - 2903106950493 : 0
2903185445929 - 2903185469903 : 1
2903185913855 - 2903185919127 : 0
2903262249391 - 2903262264595 : 1
2903262705976 - 2903262709219 : 0
2903344606310 - 2903344628371 : 1
2903477871384 - 2903477904039 : 1
2903478220251 - 2903478222724 : 0
2903478808263 - 2903478810247 : 0
2903673017253 - 2903673023882 : 0
2903695803859 - 2903695826463 : 1
2903705239000 - 2903705261897 : 1
2903705579708 - 2903705583598 : 0
2903706154116 - 2903706169439 : 1
2903706480357 - 2903706483148 : 0
2903706610658 - 2903706620758 : 1
2903706937572 - 2903706940180 : 0
2903714650065 - 2903714653428 : 0
2903753796055 - 2903753820569 : 1
2903763921100 - 2903763940104 : 1
2903764639518 - 2903764643582 : 0
2903838868700 - 2903838907355 : 1
2903839233062 - 2903839237949 : 0
2903840312161 - 2903840315235 : 0
2903915177277 - 2903915194944 : 1
2903916441227 - 2903916463223 : 2
2903916768464 - 2903916771192 : 0
2903917552978 - 2903917555160 : 0
2903933955628 - 2903933977008 : 1
2903934806676 - 2903934810394 : 0
2903999572576 - 2903999576748 : 1
2903999598587 - 2903999602902 : 1
2903999890214 - 2903999893414 : 0
2904033372899 - 2904033398264 : 1
2904033704189 - 2904033708602 : 0
2904105557533 - 2904105560960 : 0
2904107562837 - 2904107574171 : 1
2904107801476 - 2904107807170 : 1
2904146531326 - 2904146535594 : 0
2904152903633 - 2904152907348 : 0
2904182596462 - 2904182617287 : 1
2904183055090 - 2904183060407 : 0
2904193365545 - 2904193382870 : 1
2904256784052 - 2904256804890 : 1
2904257260598 - 2904257264725 : 0
2904269029298 - 2904269046635 : 1
2904325899151 - 2904325919591 : 1
2904340388002 - 2904340414686 : 1
2904340743473 - 2904340746573 : 0
2904341266122 - 2904341268981 : 0
2904365865002 - 2904365868363 : 0
2904399950226 - 2904399954295 : 0
2904415036442 - 2904415069194 : 1
2904415370237 - 2904415373730 : 0
2904468041411 - 2904468066345 : 1
2904468498500 - 2904468501617 : 0
2904472764914 - 2904472798096 : 1
2904473072128 - 2904473074538 : 0
2904473921612 - 2904473924388 : 0
2904543909068 - 2904543921729 : 1
2904544954430 - 2904544957301 : 0
2904689981951 - 2904689999315 : 1
2904697214367 - 2904697228892 : 1
2904697541149 - 2904697543780 : 0
2904698651382 - 2904698658812 : 1
2904698978372 - 2904698980443 : 0
2904699108772 - 2904699114960 : 1
2904699435951 - 2904699438615 : 0
2904703357365 - 2904703359604 : 0
2904763519879 - 2904763545561 : 1
2904763868685 - 2904763871313 : 0
2904764456693 - 2904764459086 : 0
2904868098888 - 2904868102981 : 0
2904941054141 - 2904941073246 : 1
2904941810542 - 2904941812940 : 0
2904943181982 - 2904943190498 : 1
2904955380734 - 2904955389101 : 1
2904955990598 - 2904955993050 : 0
2904983066315 - 2904983075020 : 1
2904995003251 - 2904995014974 : 1
2904995331798 - 2904995335451 : 0
2904995656117 - 2904995663571 : 1
2904995983016 - 2904995985129 : 0
2904996637082 - 2904996648966 : 1
2904996963420 - 2904996966074 : 0
2905000884597 - 2905000886777 : 0
2905016553830 - 2905016568487 : 1
2905016894912 - 2905016897642 : 0
2905017286713 - 2905017288941 : 0
2905079178108 - 2905079190338 : 1
2905080506010 - 2905080524647 : 2
2905080804385 - 2905080807506 : 0
2905081523505 - 2905081525803 : 0
2905182375554 - 2905182395551 : 1
2905182709612 - 2905182712329 : 0
2905198080317 - 2905198088691 : 1
2905230123642 - 2905230133937 : 1
2905230927353 - 2905230929825 : 0
2905242036948 - 2905242044169 : 1
2905242326591 - 2905242331552 : 1
2905245154169 - 2905245157059 : 0
2905253780574 - 2905253798757 : 1
2905291225044 - 2905291229551 : 0
2905305385275 - 2905305403107 : 1
2905305752024 - 2905305754867 : 0
2905349940125 - 2905349948993 : 1
2905368043963 - 2905368051384 : 1
2905368464081 - 2905368473618 : 1
2905368791030 - 2905368793718 : 0
2905374738002 - 2905374745962 : 1
2905375718278 - 2905375727648 : 1
2905376044829 - 2905376047209 : 0
2905376959194 - 2905376964574 : 1
2905377939700 - 2905377947022 : 1
2905378266553 - 2905378268772 : 0
2905378396564 - 2905378403113 : 2
2905378724141 - 2905378727214 : 0
2905443999310 - 2905444018661 : 1
2905468303653 - 2905468329296 : 1
2905468648441 - 2905468651687 : 0
2905494600863 - 2905494616344 : 1
2905510334601 - 2905510342852 : 1
2905511314211 - 2905511325689 : 1
2905511640984 - 2905511643623 : 0
2905512555884 - 2905512563762 : 1
2905513345038 - 2905513355631 : 1
2905513666865 - 2905513669681 : 0
2905513993733 - 2905514000510 : 1
2905514516326 - 2905514518974 : 0
2905533179653 - 2905533194112 : 1
2905562970095 - 2905562990036 : 1
2905563920410 - 2905563938959 : 1
2905564246634 - 2905564250429 : 0
2905564899716 - 2905564909813 : 1
2905565880259 - 2905565893186 : 1
2905566207327 - 2905566210325 : 0
2905567121404 - 2905567129761 : 1
2905567840732 - 2905567854359 : 1
2905568167605 - 2905568170771 : 0
2905569081907 - 2905569089415 : 1
2905569801685 - 2905569816476 : 1
2905570128825 - 2905570131956 : 0
2905571042357 - 2905571050957 : 1
2905572022965 - 2905572034376 : 1
2905572349608 - 2905572352524 : 0
2905578367590 - 2905578375333 : 1
2905644035688 - 2905644047952 : 1
2905644211491 - 2905644226087 : 2
2905644494733 - 2905644498839 : 0
2905662260773 - 2905662280866 : 1
2905662633085 - 2905662653317 : 1
2905662921939 - 2905662925719 : 0
2905682067546 - 2905682070274 : 0
2905729433038 - 2905729452492 : 1
2905729772227 - 2905729775517 : 0
2905782168266 - 2905782192494 : 1
2905783291777 - 2905783310261 : 1
2905783617588 - 2905783620166 : 0
2905784270625 - 2905784276444 : 1
2905787213373 - 2905787232095 : 1
2905787539499 - 2905787542809 : 0
2905788453671 - 2905788462508 : 1
2905789238253 - 2905789249327 : 1
2905789565271 - 2905789568202 : 0
2905790152687 - 2905790160360 : 1
2905791394686 - 2905791405380 : 1
2905791721473 - 2905791724408 : 0
2905792113103 - 2905792120034 : 1
2905793028366 - 2905793038793 : 1
2905793354333 - 2905793356810 : 0
2906425754298 - 2906425774642 : 1
2909072273730 - 2909072279646 : 1
2909072389394 - 2909072390962 : 1
2909072589965 - 2909072593476 : 0
2909506786587 - 2909506800512 : 1
2911983963694 - 2911983968312 : 1
2911983988911 - 2911983994042 : 1
2911984253541 - 2911984257208 : 0
2912482812188 - 2912482815564 : 0
2912587927783 - 2912587945875 : 1
2912696120297 - 2912696156326 : 1
2912696514088 - 2912696519793 : 0
2913737335487 - 2913737341513 : 0
2913806539641 - 2913806559987 : 1
2913806928406 - 2913806931687 : 0
2914024993508 - 2914025027334 : 1
2914025319729 - 2914025322819 : 0
2914025711428 - 2914025713898 : 0
2914246022256 - 2914246042422 : 1
2915062103268 - 2915062112640 : 1
2915062323941 - 2915062327462 : 1
2915062480755 - 2915062486831 : 0
2915668976333 - 2915668997860 : 1
2916762144816 - 2916762152112 : 0
2916851604485 - 2916851630630 : 1
2916853564686 - 2916853577114 : 1
2916854048762 - 2916854054089 : 0
2916866796163 - 2916866812084 : 1
2916891753354 - 2916891759331 : 0
2916938189180 - 2916938204436 : 1
2916938838614 - 2916938843873 : 0
2916964470864 - 2916964489378 : 1
2916964968872 - 2916964974109 : 0
2916971764912 - 2916971783534 : 1
2916972225762 - 2916972230999 : 0
2917008661321 - 2917008679268 : 1
2917009143333 - 2917009148600 : 0
2917039609124 - 2917039625120 : 1
2917040237696 - 2917040242985 : 0
2917045686963 - 2917045701827 : 1
2917046209105 - 2917046212845 : 0
2917084905603 - 2917084923789 : 1
2917124898890 - 2917124916867 : 1
2917125384263 - 2917125388639 : 0
2917125684977 - 2917125697188 : 1
2917199590178 - 2917199609354 : 1
2918740057409 - 2918740077719 : 1
2919057410461 - 2919057414497 : 0
2919116555997 - 2919116600649 : 1
2919116878143 - 2919116882084 : 0
2919120109998 - 2919120132383 : 1
2919120406230 - 2919120409400 : 0
2919120588945 - 2919120606117 : 1
2919120929471 - 2919120933136 : 0
2919121298804 - 2919121319459 : 1
2919121647187 - 2919121649928 : 0
2919122266072 - 2919122277361 : 1
2919122561956 - 2919122564562 : 0
2919141187259 - 2919141191084 : 0
2919200485579 - 2919200504160 : 1
2919202542233 - 2919202569977 : 1
2919202875355 - 2919202892232 : 1
2919203201321 - 2919203203925 : 0
2919204806158 - 2919204817831 : 1
2919206925927 - 2919206944759 : 2
2919207253388 - 2919207256716 : 0
2919256524337 - 2919256527122 : 0
2919258878289 - 2919258882204 : 0
2919266909466 - 2919266936924 : 1
2919267154756 - 2919267174165 : 1
2919267255300 - 2919267259240 : 0
2919307131736 - 2919307136498 : 0
2919317947697 - 2919317989108 : 2
2919318312614 - 2919318317986 : 0
2919319159282 - 2919319198709 : 2
2919319562980 - 2919319567570 : 0
2919444006734 - 2919444010690 : 0
2919460691357 - 2919460694430 : 0
2919535169127 - 2919535194515 : 1
2919535646585 - 2919535663810 : 1
2919536017170 - 2919536020968 : 0
2919609835684 - 2919609851082 : 1
2919610446772 - 2919610449785 : 0
2919612211122 - 2919612222999 : 1
2919612734542 - 2919612737543 : 0
2919657483277 - 2919657522696 : 1
2919657825469 - 2919657830121 : 0
2919684144086 - 2919684175228 : 1
2919684487085 - 2919684491582 : 0
2919708750377 - 2919708764477 : 1
2919710617041 - 2919710644285 : 1
2919711015749 - 2919711020586 : 0
2919711285399 - 2919711312158 : 1
2919711632418 - 2919711635444 : 0
2919715097546 - 2919715101699 : 0
2919746868282 - 2919746872747 : 0
2919757873303 - 2919757888786 : 1
2919759701181 - 2919759720442 : 1
2919760027817 - 2919760031490 : 0
2919760223415 - 2919760237896 : 1
2919760549569 - 2919760551677 : 0
2919763294784 - 2919763297536 : 0
2919764472566 - 2919764476461 : 0
2919765029274 - 2919765051209 : 2
2919765386872 - 2919765390468 : 0
2919800659075 - 2919800671843 : 1
2919829664967 - 2919829684011 : 2
2919830014676 - 2919830017691 : 0
2919836354166 - 2919836373902 : 1
2919836514204 - 2919836522289 : 1
2919836877129 - 2919836880834 : 0
2919841422147 - 2919841433997 : 1
2919845438015 - 2919845450852 : 1
2919846221273 - 2919846233983 : 1
2919846546930 - 2919846549531 : 0
2920210979865 - 2920211024832 : 1
2920211211839 - 2920211223407 : 1
2920211350275 - 2920211355435 : 0
2920248477643 - 2920248481905 : 0
2920529917555 - 2920529946368 : 1
2920530109632 - 2920530119614 : 1
2920567592554 - 2920567597774 : 0
2921619952706 - 2921619958320 : 0
2921693795166 - 2921693820608 : 1
2921694251648 - 2921694255663 : 0
2921768748072 - 2921768765825 : 1
2921772477479 - 2921772491003 : 1
2921773125738 - 2921773135875 : 1
2921786789321 - 2921786796972 : 1
2921791946159 - 2921791956645 : 1
2921803577214 - 2921803580419 : 0
2921821135948 - 2921821148511 : 1
2921864003728 - 2921864037119 : 1
2921864350557 - 2921864353453 : 0
2921876554877 - 2921876571013 : 1
2921882455875 - 2921882466244 : 1
2921918981181 - 2921919001597 : 1
2921919307757 - 2921919311150 : 0
2921952111849 - 2921952115057 : 0
2921952635148 - 2921952638252 : 0
2921958582833 - 2921958587858 : 0
2922014823193 - 2922014846502 : 1
2922016872469 - 2922016892907 : 1
2922017199260 - 2922017216745 : 1
2922017525354 - 2922017528620 : 0
2922023993944 - 2922023996341 : 0
2922025172283 - 2922025176276 : 0
2922027131125 - 2922027146761 : 1
2922027524332 - 2922027527892 : 0
2922032221496 - 2922032235058 : 1
2922038451433 - 2922038462394 : 1
2922075489688 - 2922075509509 : 1
2922075815020 - 2922075818018 : 0
2922076666508 - 2922076672462 : 0
2922086392339 - 2922086423051 : 2
2922086739675 - 2922086743525 : 0
2922088794518 - 2922088805706 : 1
2922109701035 - 2922109712294 : 1
2922124434508 - 2922124447872 : 1
2922153906636 - 2922153935312 : 3
2922154235851 - 2922154237626 : 0
2922154296934 - 2922154299816 : 0
2922155690369 - 2922155699622 : 1
2922157356866 - 2922157375193 : 1
2922157821915 - 2922157827075 : 0
2922165706488 - 2922165723458 : 1
2922166126597 - 2922166130210 : 0
2922194879555 - 2922194883512 : 0
2922229905549 - 2922229924303 : 1
2922230494332 - 2922230498080 : 0
2922232257233 - 2922232267579 : 1
2922241080160 - 2922241092865 : 1
2922308389351 - 2922308393588 : 0
2922308844407 - 2922308846828 : 0
2922310936707 - 2922310952873 : 1
2922311328947 - 2922311332545 : 0
2922368422227 - 2922368441169 : 1
2922389748197 - 2922389761289 : 1
2922406018183 - 2922406035058 : 1
2922459930350 - 2922459962716 : 1
2922460254443 - 2922460257522 : 0
2922460778533 - 2922460798424 : 1
2922461105346 - 2922461108719 : 0
2922462018521 - 2922462027563 : 1
2922462348373 - 2922462352343 : 0
2922462738242 - 2922462758050 : 1
2922463065854 - 2922463069310 : 0
2922464240988 - 2922464257511 : 1
2922464568601 - 2922464571977 : 0
2922464959834 - 2922464973918 : 1
2922465287392 - 2922465290558 : 0
2922466202523 - 2922466216153 : 1
2922466529039 - 2922466532212 : 0
2922466961388 - 2922466977923 : 1
2922467248112 - 2922467251393 : 0
2922468161844 - 2922468175804 : 1
2922468489160 - 2922468492663 : 0
2922468880651 - 2922468895607 : 1
2922469208221 - 2922469211421 : 0
2922519527180 - 2922519563903 : 1
2922519851564 - 2922519854160 : 0
2922520701351 - 2922520717714 : 1
2922521027724 - 2922521030065 : 0
2922521684523 - 2922521704423 : 1
2922522009377 - 2922522012985 : 0
2922522923081 - 2922522937990 : 1
2922523251734 - 2922523255649 : 0
2922523707434 - 2922523725059 : 1
2922524034895 - 2922524038050 : 0
2922524883540 - 2922524894176 : 1
2922525863584 - 2922525874855 : 1
2922526190172 - 2922526192989 : 0
2922526909204 - 2922526918107 : 1
2922527891748 - 2922527913645 : 1
2922528217513 - 2922528221333 : 0
2922528608498 - 2922528619169 : 1
2922529851931 - 2922529867158 : 1
2922530179693 - 2922530182003 : 0
2922530568851 - 2922530581394 : 1
2922530895569 - 2922530898017 : 0
2922736349236 - 2922736353502 : 0
2922817965086 - 2922817991556 : 1
2922818491098 - 2922818494798 : 0
2922866189743 - 2922866199222 : 2
2922866199609 - 2922866199646 : 0
2922892448405 - 2922892480912 : 1
2922892790348 - 2922892793846 : 0
2922968797750 - 2922968815794 : 1
2922969115724 - 2922969132630 : 2
2922969442942 - 2922969445905 : 0
2923044994981 - 2923045014697 : 1
2923045600615 - 2923045603456 : 0
2923048264635 - 2923048268769 : 1
2923048380745 - 2923048382300 : 1
2923048599803 - 2923048602588 : 0
2923076278067 - 2923076282932 : 0
2923125298462 - 2923125322187 : 1
2923125840102 - 2923125866639 : 2
2923126146172 - 2923126149122 : 0
2923127453518 - 2923127456415 : 0
2923159401961 - 2923159418159 : 2
2923159418811 - 2923159418896 : 0
2923179567495 - 2923179589862 : 1
2923181656016 - 2923181702180 : 2
2923182045927 - 2923182049357 : 0
2923185548803 - 2923185552337 : 0
2923187115935 - 2923187128555 : 0
2923199734350 - 2923199738689 : 0
2923205246553 - 2923205274934 : 1
2923206868909 - 2923206872834 : 0
2923235601558 - 2923235623751 : 2
2923235930339 - 2923235932929 : 0
2923238305962 - 2923238314950 : 1
2923265078558 - 2923265096256 : 1
2923299579983 - 2923299607232 : 2
2923299905623 - 2923299908894 : 0
2923300297594 - 2923300299671 : 0
2923308298702 - 2923308311566 : 1
2923369062987 - 2923369095935 : 1
2923369370268 - 2923369373191 : 0
2923381136225 - 2923381140342 : 0
2923387996365 - 2923388019717 : 1
2923388714914 - 2923388718292 : 0
2923430667955 - 2923430697523 : 1
2923430994701 - 2923430999121 : 0
2923464417199 - 2923464444795 : 2
2923464798850 - 2923464803597 : 0
2923465481357 - 2923465485480 : 0
2923472883078 - 2923472887697 : 0
2923482658686 - 2923482674909 : 1
2923484849400 - 2923484876861 : 1
2923485168815 - 2923485173482 : 0
2923485427811 - 2923485450892 : 1
2923485755119 - 2923485758255 : 0
2923490683671 - 2923490686351 : 0
2923492236171 - 2923492239035 : 0
2923492616328 - 2923492621158 : 0
2923518169067 - 2923518192546 : 1
2923519438311 - 2923519467274 : 1
2923519782561 - 2923519787426 : 0
2923520287071 - 2923520313885 : 1
2923520600000 - 2923520604017 : 0
2923520813427 - 2923520842685 : 1
2923521172578 - 2923521175255 : 0
2923540988927 - 2923541020203 : 2
2923541365788 - 2923541369067 : 0
2923542607488 - 2923542610381 : 0
2923552792191 - 2923552816487 : 2
2923553128361 - 2923553131387 : 0
2923555207580 - 2923555216230 : 1
2923556433435 - 2923556441947 : 1
2923581751589 - 2923581761230 : 1
2923588851507 - 2923588859740 : 1
2923593067836 - 2923593088802 : 2
2923593381723 - 2923593385401 : 0
2923595952942 - 2923595962478 : 1
2923598022128 - 2923598040932 : 2
2923598349782 - 2923598353088 : 0
2923600505533 - 2923600509084 : 0
2923601616475 - 2923601620847 : 0
2923625728772 - 2923625758142 : 1
2923626423832 - 2923626427973 : 0
2923650668751 - 2923650693951 : 1
2923650795420 - 2923650800493 : 1
2923651215757 - 2923651219728 : 0
2923653227997 - 2923653237757 : 1
2923674679154 - 2923674695681 : 1
2923674888781 - 2923674907914 : 2
2923675264181 - 2923675268525 : 0
2923678820718 - 2923678849791 : 3
2923679117413 - 2923679119884 : 0
2923679313596 - 2923679319528 : 1
2923679708120 - 2923679712265 : 0
2923695846538 - 2923695857109 : 1
2923697612136 - 2923697615791 : 0
2923703885885 - 2923703900949 : 1
2923742484043 - 2923742488958 : 0
2923850396029 - 2923850418364 : 1
2923851833306 - 2923851837899 : 0
2923890061039 - 2923890064794 : 0
2923924238676 - 2923924264194 : 1
2923924695271 - 2923924699192 : 0
2923993964653 - 2923993980736 : 1
2923994486437 - 2923994490691 : 0
2924102015931 - 2924102020821 : 0
2924136524068 - 2924136571492 : 1
2924136879329 - 2924136884152 : 0
2924137213888 - 2924137217353 : 0
2924139331599 - 2924139358401 : 1
2924139689150 - 2924139693397 : 0
2924247046533 - 2924247099207 : 1
2924247407251 - 2924247412456 : 0
2924278259326 - 2924278275519 : 1
2924280941508 - 2924280958774 : 1
2924282726837 - 2924282754086 : 1
2924283115144 - 2924283119671 : 0
2924283767811 - 2924283793966 : 1
2924284161976 - 2924284166553 : 0
2924284550772 - 2924284590780 : 2
2924284909804 - 2924284912691 : 0
2924286382289 - 2924286399119 : 1
2924287887222 - 2924287913571 : 1
2924288286220 - 2924288290840 : 0
2924289131819 - 2924289158299 : 1
2924289482728 - 2924289487228 : 0
2924289791165 - 2924289814129 : 1
2924290134998 - 2924290139581 : 0
2924391924869 - 2924391939193 : 1
2924419246163 - 2924419249801 : 0
2924425911910 - 2924425945036 : 1
2924426265900 - 2924426270685 : 0
2924429309761 - 2924429313638 : 0
2924433060592 - 2924433073883 : 1
2924433381334 - 2924433384383 : 0
2924438685918 - 2924438692858 : 2
2924438693020 - 2924438693053 : 0
2924460498449 - 2924460501342 : 0
2924494438757 - 2924494459817 : 1
2924540109796 - 2924540117458 : 1
2924598074289 - 2924598105621 : 2
2924598109906 - 2924598111855 : 0
2924598428084 - 2924598431728 : 0
2924603473167 - 2924603484435 : 1
2924603488035 - 2924603491902 : 1
2924603785530 - 2924603787964 : 0
2924611981768 - 2924612001744 : 1
2924612281333 - 2924612284571 : 0
2924668861998 - 2924668888652 : 1
2924670115631 - 2924670140943 : 1
2924670469668 - 2924670474435 : 0
2924670855607 - 2924670875965 : 1
2924672074859 - 2924672089113 : 1
2924672402737 - 2924672406392 : 0
2924672727974 - 2924672739013 : 1
2924673099592 - 2924673108451 : 2
2924673108728 - 2924673108797 : 0
2924673775517 - 2924673794199 : 1
2924673866099 - 2924673877705 : 2
2924673987958 - 2924673999126 : 2
2924674003334 - 2924674005048 : 0
2924674099909 - 2924674102666 : 0
2924674428687 - 2924674432018 : 0
2924675280803 - 2924675283499 : 0
2924797999937 - 2924798003648 : 0
2924828660237 - 2924828712090 : 1
2924829040614 - 2924829044588 : 0
2924854787915 - 2924854793405 : 0
2924855350903 - 2924855365840 : 1
2924868330466 - 2924868344575 : 1
2924880111834 - 2924880125034 : 1
2924896490961 - 2924896504358 : 2
2924896504855 - 2924896504921 : 0
2924902179853 - 2924902195394 : 1
2924906068708 - 2924906080966 : 2
2924906081416 - 2924906081481 : 0
2924906571955 - 2924906580473 : 2
2924906580810 - 2924906580868 : 0
2924906745869 - 2924906753772 : 2
2924906754056 - 2924906754114 : 0
2924908243363 - 2924908247456 : 0
2924997965203 - 2924997969896 : 0
2925045745588 - 2925045768000 : 1
2925066235643 - 2925066277619 : 1
2925066578125 - 2925066581418 : 0
2925168567158 - 2925168594600 : 1
2925169015555 - 2925169020977 : 0
2925230733706 - 2925230750084 : 1
2925231124012 - 2925231127715 : 0
2925247135055 - 2925247138725 : 0
2925255694769 - 2925255709373 : 1
2925267915442 - 2925267936650 : 1
2925269287912 - 2925269310462 : 1
2925269613988 - 2925269617729 : 0
2925270005177 - 2925270016373 : 1
2925270985919 - 2925271000763 : 1
2925271312812 - 2925271316358 : 0
2925271966099 - 2925271977538 : 1
2925272684890 - 2925272701584 : 1
2925273011634 - 2925273015110 : 0
2925273994083 - 2925274005974 : 1
2925274384057 - 2925274398763 : 1
2925274711418 - 2925274715023 : 0
2925276698530 - 2925276703200 : 0
2925288201701 - 2925288221212 : 1
2925288591730 - 2925288597024 : 0
2925327046817 - 2925327065853 : 1
2925333406368 - 2925333422041 : 1
2925346851076 - 2925346867884 : 1
2925355059051 - 2925355074560 : 1
2925365550188 - 2925365566266 : 1
2925411288075 - 2925411305063 : 1
2925411903165 - 2925411922128 : 1
2925412269085 - 2925412273797 : 0
2925412921208 - 2925412939090 : 1
2925496958766 - 2925496965816 : 0
2925497284219 - 2925497287007 : 0
2925546168995 - 2925546219606 : 1
2925546228734 - 2925546232677 : 0
2925546846937 - 2925546851070 : 0
2925546905505 - 2925546940415 : 1
2925547211081 - 2925547215251 : 0
2925548529941 - 2925548552292 : 1
2925548844293 - 2925548848209 : 0
2925579100662 - 2925579118742 : 1
2925579557552 - 2925579562064 : 0
2925580209900 - 2925580222025 : 1
2925580602604 - 2925580606217 : 0
2925590797452 - 2925590810807 : 1
2925591189425 - 2925591192905 : 0
2925606788415 - 2925606817852 : 1
2925620096170 - 2925620114085 : 1
2925624742433 - 2925624757980 : 1
2925629382193 - 2925629394606 : 1
2925631638267 - 2925631659175 : 1
2925631988343 - 2925632013021 : 2
2925632301187 - 2925632303010 : 0
2925634383436 - 2925634399941 : 1
2925634739153 - 2925634743957 : 0
2925634811086 - 2925634834072 : 1
2925634966447 - 2925634984129 : 1
2925635195433 - 2925635200222 : 0
2925636110951 - 2925636147197 : 2
2925636436676 - 2925636440193 : 0
2925639835467 - 2925639839608 : 0
2925642615207 - 2925642619340 : 0
2925664575752 - 2925664605962 : 2
2925665162544 - 2925665166753 : 0
2925681959326 - 2925681968242 : 1
2925682479695 - 2925682482897 : 0
2925689340941 - 2925689367580 : 2
2925689658832 - 2925689676621 : 2
2925689732041 - 2925689734986 : 0
2925692765905 - 2925692785796 : 2
2925693130941 - 2925693134287 : 0
2925714924836 - 2925714979952 : 1
2925715006034 - 2925715020431 : 1
2925715312366 - 2925715318016 : 0
2925715700859 - 2925715705481 : 0
2925730907991 - 2925730947500 : 1
2925731228820 - 2925731232805 : 0
2925731556128 - 2925731559191 : 0
2925767247608 - 2925767266267 : 1
2925769513704 - 2925769550183 : 1
2925769884389 - 2925769888989 : 0
2925770168011 - 2925770202635 : 1
2925770531240 - 2925770535923 : 0
2925771568682 - 2925771586352 : 1
2925773644153 - 2925773667699 : 1
2925773966236 - 2925773981035 : 1
2925774321573 - 2925774326193 : 0
2925775761272 - 2925775765234 : 0
2925782148419 - 2925782167166 : 1
2925782554139 - 2925782558289 : 0
2925783767635 - 2925783787407 : 1
2925784095360 - 2925784098816 : 0
2925784617624 - 2925784634349 : 1
2925784944440 - 2925784947531 : 0
2925790042069 - 2925790045297 : 0
2925825515319 - 2925825547715 : 2
2925825918198 - 2925825922353 : 0
2925834282692 - 2925834308699 : 2
2925834608980 - 2925834612908 : 0
2925839689239 - 2925839710634 : 2
2925840032735 - 2925840035966 : 0
2926006866147 - 2926006894403 : 2
2926007256728 - 2926007260489 : 0
2926009288654 - 2926009293738 : 0
2926069894019 - 2926069912127 : 1
2926082899964 - 2926082915860 : 1
2926089777300 - 2926089792516 : 1
2926100446160 - 2926100496971 : 1
2926100769466 - 2926100773506 : 0
2926770452855 - 2926770457490 : 0
2926818246097 - 2926818286094 : 1
2926818641375 - 2926818646293 : 0
2926819102285 - 2926819106510 : 0
2926868777062 - 2926868792718 : 1
2926870825399 - 2926870842671 : 1
2926871152399 - 2926871169682 : 1
2926871478683 - 2926871481896 : 0
2926876380254 - 2926876383832 : 0
2926877296607 - 2926877300857 : 0
2926926437522 - 2926926459227 : 1
2926926517643 - 2926926523882 : 1
2926926959930 - 2926926963851 : 0
2926931208115 - 2926931221052 : 1
2926931990236 - 2926931999426 : 1
2926933167481 - 2926933187287 : 1
2926933495542 - 2926933500321 : 0
2926934407854 - 2926934423635 : 1
2926935194583 - 2926935217762 : 1
2926935519862 - 2926935523777 : 0
2926936172255 - 2926936181914 : 1
2926937154449 - 2926937169922 : 1
2926937480145 - 2926937483573 : 0
2926938328688 - 2926938339339 : 1
2926939375641 - 2926939404857 : 1
2926939702932 - 2926939706350 : 0
2926940064663 - 2926940083409 : 1
2926975029701 - 2926975060318 : 1
2926975382251 - 2926975386419 : 0
2926975903461 - 2926975915566 : 1
2926976950100 - 2926976966768 : 1
2926977277036 - 2926977280631 : 0
2926977864042 - 2926977874613 : 1
2926978649114 - 2926978663650 : 1
2926978975770 - 2926978979145 : 0
2926979889756 - 2926979898713 : 1
2926980611116 - 2926980634210 : 1
2926980937402 - 2926980941342 : 0
2926981850954 - 2926981864294 : 1
2926983550240 - 2926983566786 : 1
2926983876801 - 2926983880432 : 0
2926984529554 - 2926984538806 : 1
2926985249216 - 2926985265612 : 1
2926985575948 - 2926985579416 : 0
2926986489889 - 2926986500211 : 1
2926987536299 - 2926987550525 : 1
2926987863139 - 2926987866665 : 0
2926988450290 - 2926988459774 : 1
2926989721494 - 2926989749281 : 1
2926990018040 - 2926990020694 : 0
2926990738254 - 2926990751868 : 1
2926991658017 - 2926991675629 : 1
2926991980120 - 2926991983756 : 0
2926992908743 - 2926992921836 : 1
2926993613978 - 2926993629456 : 1
2926993940324 - 2926993943757 : 0
2926994867922 - 2926994879508 : 1
2926995575665 - 2926995598069 : 1
2926995900942 - 2926995904509 : 0
2926996582290 - 2926996600886 : 1
2926997795034 - 2926997819355 : 1
2926998175091 - 2926998179309 : 0
2926998518655 - 2926998532254 : 1
2927023870044 - 2927023892424 : 1
2927024196798 - 2927024200485 : 0
2927025111134 - 2927025124813 : 1
2927025867780 - 2927025902974 : 1
2927026222268 - 2927026226058 : 0
2927027071934 - 2927027087533 : 1
2927028052000 - 2927028071710 : 1
2927028378706 - 2927028382248 : 0
2927029032177 - 2927029043424 : 1
2927030012692 - 2927030029263 : 1
2927030338961 - 2927030342229 : 0
2927030730265 - 2927030739242 : 1
2927031972021 - 2927031985276 : 1
2927032299432 - 2927032302670 : 0
2927032953271 - 2927032966654 : 1
2927033933269 - 2927033950577 : 1
2927034259593 - 2927034263103 : 0
2927034918392 - 2927034930689 : 1
2927035893655 - 2927035910790 : 1
2927036220318 - 2927036223831 : 0
2927036873785 - 2927036885036 : 1
2927038115315 - 2927038131500 : 1
2927038442520 - 2927038446078 : 0
2927038834873 - 2927038847528 : 1
2927039553089 - 2927039568825 : 1
2927039878997 - 2927039882044 : 0
2927070072206 - 2927070099016 : 1
2927071245673 - 2927071268451 : 1
2927071572704 - 2927071576039 : 0
2927072226319 - 2927072238954 : 1
2927073206636 - 2927073229750 : 2
2927073533940 - 2927073537538 : 0
2927074709521 - 2927074724137 : 1
2927075036541 - 2927075039682 : 0
2927075493168 - 2927075501973 : 1
2927076669720 - 2927076688651 : 2
2927076997142 - 2927077001601 : 0
2927092419570 - 2927092443143 : 1
2927092744798 - 2927092747397 : 0
2927122182853 - 2927122232886 : 2
2927122544910 - 2927122549043 : 0
2927166101776 - 2927166122887 : 1
2927167309146 - 2927167332630 : 1
2927167633236 - 2927167635912 : 0
2927168027282 - 2927168053869 : 2
2927168365869 - 2927168369452 : 0
2927169332605 - 2927169343351 : 1
2927170248363 - 2927170263272 : 1
2927170575066 - 2927170578289 : 0
2927171227511 - 2927171236591 : 1
2927172209233 - 2927172227365 : 1
2927172535489 - 2927172538907 : 0
2927172991902 - 2927173002815 : 1
2927173580924 - 2927173595273 : 1
2927173907565 - 2927173910745 : 0
2927188013030 - 2927188032756 : 1
2927188677103 - 2927188699885 : 1
2927189003069 - 2927189006695 : 0
2927189916659 - 2927189926568 : 1
2927190636622 - 2927190653809 : 1
2927190963440 - 2927190966926 : 0
2927191877187 - 2927191886137 : 1
2927215726455 - 2927215754568 : 1
2927216058490 - 2927216063160 : 0
2927243699338 - 2927243702938 : 0
2927285466262 - 2927285475476 : 2
2927285475897 - 2927285475925 : 0
2927299685583 - 2927299694602 : 2
2927299695023 - 2927299695051 : 0
2927301362441 - 2927301365415 : 0
2927304372267 - 2927304384463 : 1
2927317406523 - 2927317421181 : 1
2927321793717 - 2927321803779 : 1
2927452525001 - 2927452536750 : 2
2927452537207 - 2927452537248 : 0
2927452616157 - 2927452637280 : 1
2927452940994 - 2927452944071 : 0
2927496098480 - 2927496102077 : 0
2927551549418 - 2927551576035 : 1
2927580565387 - 2927580586797 : 2
2927580892461 - 2927580895537 : 0
2927645582502 - 2927645607735 : 2
2927645977675 - 2927645980815 : 0
2927646565783 - 2927646574572 : 1
2927683166099 - 2927683172537 : 0
2927924033344 - 2927924036799 : 0
2927946096008 - 2927946100486 : 1
2927946133145 - 2927946138640 : 1
2927946407699 - 2927946411417 : 0
2927973300031 - 2927973321199 : 1
2927984441936 - 2927984463559 : 1
2927997682661 - 2927997699714 : 1
2928002058156 - 2928002069247 : 1
2928166963258 - 2928167014533 : 2
2928167321766 - 2928167326203 : 0
2928169113672 - 2928169141428 : 1
2928169426226 - 2928169430371 : 0
2928668604267 - 2928668657510 : 1
2928668930072 - 2928668934094 : 0
2928669843711 - 2928669859541 : 1
2928670180387 - 2928670183535 : 0
2928670562539 - 2928670579649 : 1
2928670890115 - 2928670893353 : 0
2928671804127 - 2928671818051 : 1
2928672132496 - 2928672135832 : 0
2928672523030 - 2928672536782 : 1
2928672850308 - 2928672853469 : 0
2928673503111 - 2928673523084 : 2
2928673830816 - 2928673834511 : 0
2928674745460 - 2928674758969 : 1
2928675072393 - 2928675075511 : 0
2928675725008 - 2928675738278 : 1
2928676052271 - 2928676055442 : 0
2928676706500 - 2928676730773 : 2
2928677034251 - 2928677037538 : 0
2928689973422 - 2928689996611 : 1
2928690298731 - 2928690302524 : 0
2928690362966 - 2928690378442 : 1
2928690689949 - 2928690693062 : 0
2928696833462 - 2928696836892 : 0
2928757049171 - 2928757068250 : 1
2928770511906 - 2928770524269 : 1
2928775211588 - 2928775231983 : 1
2928840466526 - 2928840470045 : 0
2928869091093 - 2928869096256 : 0
2928897821963 - 2928897841539 : 2
2928897845229 - 2928897846882 : 0
2928898168084 - 2928898171113 : 0
2928899997528 - 2928900007216 : 1
2928901371375 - 2928901375017 : 0
2928901762718 - 2928901765276 : 0
2928922861581 - 2928922880824 : 1
2928961402082 - 2928961432078 : 2
2928961751289 - 2928961754689 : 0
2928961911406 - 2928961926418 : 2
2928962273931 - 2928962276319 : 0
2928975164712 - 2928975176028 : 1
2928986387284 - 2928986390983 : 0
2928986947643 - 2928986957372 : 1
2928988416188 - 2928988420219 : 1
2928990132701 - 2928990137333 : 1
2929043306682 - 2929043326262 : 1
2929044090146 - 2929044093471 : 0
2929048862536 - 2929048877800 : 1
2929061635108 - 2929061654205 : 1
2929066529828 - 2929066540304 : 1
2929068741983 - 2929068750546 : 1
2929081928030 - 2929081932309 : 0
2929105873103 - 2929105899567 : 1
2929114968995 - 2929114988468 : 1
2929138127073 - 2929138149239 : 1
2929139563672 - 2929139582622 : 1
2929139889837 - 2929139893329 : 0
2929140281681 - 2929140291067 : 1
2929141261221 - 2929141273331 : 1
2929141587876 - 2929141590868 : 0
2929142503589 - 2929142514106 : 1
2929143485018 - 2929143499828 : 1
2929143810630 - 2929143813826 : 0
2929144463907 - 2929144473514 : 1
2929145444027 - 2929145452521 : 1
2929145508846 - 2929145512201 : 0
2929146433092 - 2929146448631 : 1
2929146752061 - 2929146756111 : 0
2929147403819 - 2929147422848 : 2
2929147450884 - 2929147464451 : 2
2929147730244 - 2929147732988 : 0
2929147926362 - 2929147933638 : 1
2929151390871 - 2929151406242 : 1
2929151782068 - 2929151785542 : 0
2929151912926 - 2929151921125 : 1
2929152762770 - 2929152766232 : 0
2929162852502 - 2929162879193 : 1
2929212557287 - 2929212576891 : 1
2929213405995 - 2929213421514 : 2
2929213732657 - 2929213735927 : 0
2929214714119 - 2929214729964 : 1
2929214819032 - 2929214838636 : 2
2929214943998 - 2929214949747 : 1
2929215104817 - 2929215109115 : 0
2929215430347 - 2929215438742 : 1
2929219112841 - 2929219135010 : 1
2929228194234 - 2929228213447 : 1
2929233912703 - 2929233939183 : 1
2929235143272 - 2929235169986 : 1
2929235497619 - 2929235502094 : 0
2929235819143 - 2929235839184 : 2
2929236146296 - 2929236149709 : 0
2929237323316 - 2929237334741 : 1
2929238107199 - 2929238126830 : 2
2929238434856 - 2929238438267 : 0
2929239548713 - 2929239576707 : 1
2929239903163 - 2929239939055 : 0
2929240282241 - 2929240302069 : 1
2929241505162 - 2929241520081 : 1
2929241831792 - 2929241834843 : 0
2929242224086 - 2929242233744 : 1
2929243729185 - 2929243759400 : 1
2929244054997 - 2929244059786 : 0
2929244643792 - 2929244660832 : 1
2929245428412 - 2929245452300 : 1
2929245754278 - 2929245758803 : 0
2929246426181 - 2929246443576 : 1
2929247388170 - 2929247419534 : 2
2929247714656 - 2929247719086 : 0
2929254705730 - 2929254708851 : 0
2929255554591 - 2929255569409 : 1
2929255884557 - 2929255887359 : 0
2929256142880 - 2929256152234 : 1
2929259388581 - 2929259399710 : 1
2929294568957 - 2929294572811 : 0
2929305124334 - 2929305141627 : 1
2929323042008 - 2929323079599 : 1
2929323386294 - 2929323391056 : 0
2929324301382 - 2929324321663 : 1
2929324627776 - 2929324631489 : 0
2929325544356 - 2929325563632 : 1
2929325870385 - 2929325875272 : 0
2929326261221 - 2929326284240 : 1
2929326586480 - 2929326588734 : 0
2929327174498 - 2929327188286 : 3
2929327520959 - 2929327524550 : 0
2929328690679 - 2929328702783 : 3
2929329463072 - 2929329466159 : 0
2929330180695 - 2929330190726 : 1
2929331160922 - 2929331170073 : 1
2929331487501 - 2929331489824 : 0
2929332141658 - 2929332158254 : 2
2929332467947 - 2929332470722 : 0
2929333120922 - 2929333126805 : 1
2929334362909 - 2929334371164 : 1
2929334689588 - 2929334691918 : 0
2929335081263 - 2929335086635 : 1
2929335735089 - 2929335741874 : 1
2929336062338 - 2929336064827 : 0
2929394877802 - 2929394884398 : 0
2929401475455 - 2929401478374 : 0
2929468299906 - 2929468327663 : 2
2929468651989 - 2929468654830 : 0
2929469960653 - 2929469991437 : 1
2929470612539 - 2929470622465 : 1
2929470939371 - 2929470942370 : 0
2929481236973 - 2929481260300 : 1
2929508069384 - 2929508091349 : 1
2929524740406 - 2929524766281 : 1
2929639997928 - 2929640003907 : 0
2929659141886 - 2929659159315 : 1
2929659467202 - 2929659470193 : 0
2929660382231 - 2929660391958 : 2
2929660708953 - 2929660711669 : 0
2929713679905 - 2929713707676 : 1
2929729370216 - 2929729385312 : 1
2929780100174 - 2929780120894 : 1
2929781566524 - 2929781582512 : 1
2929852766813 - 2929852784838 : 1
2929853092153 - 2929853095079 : 0
2929853923380 - 2929853946002 : 3
2929854268769 - 2929854271698 : 0
2930645301587 - 2930645305545 : 0
2930686824846 - 2930686828622 : 0
2930688888250 - 2930688891432 : 0
2930716823317 - 2930716837582 : 2
2930716838008 - 2930716838048 : 0
2930716845467 - 2930716852532 : 1
2930720666212 - 2930720680921 : 1
2930736859676 - 2930736882750 : 1

Javier Domingo


2013/2/8 Javier Domingo <javierdo1@gmail.com>:
> Hi all,
>
> I have created a tracer module that makes a measure of time at the
> start and at the end of a softirq, and also the captured packets in
> it.
>
> I have made the measurements using sched_clock() for the time and
> summing up the work variable after each poll (in the net_rx_action
> polling loop).
>
> I have noticed quite strange results. There are many softirqs that end
> up with 0 captured packets.
>
> This is the trace I created and has the following format <start time>
> - <end time> : <captured packets>.
>
> As you will notice, thought many of them have some packet captured,
> there are many others that don't.
>
> Any help/explanation is welcome!,
>
> Javier Domingo

^ permalink raw reply

* Softirqs without captured packets
From: Javier Domingo @ 2013-02-08 19:41 UTC (permalink / raw)
  To: netdev

Hi all,

I have created a tracer module that makes a measure of time at the
start and at the end of a softirq, and also the captured packets in
it.

I have made the measurements using sched_clock() for the time and
summing up the work variable after each poll (in the net_rx_action
polling loop).

I have noticed quite strange results. There are many softirqs that end
up with 0 captured packets.

This is the trace I created and has the following format <start time>
- <end time> : <captured packets>.

As you will notice, thought many of them have some packet captured,
there are many others that don't.

Any help/explanation is welcome!,

Javier Domingo

^ permalink raw reply

* Re: [PATCH, resubmit] ax88179_178a: ASIX AX88179_178A USB 3.0/2.0 to gigabit ethernet adapter driver
From: David Miller @ 2013-02-08 19:23 UTC (permalink / raw)
  To: David.Laight; +Cc: bhutchings, freddy, netdev, linux-usb, linux-kernel
In-Reply-To: <AE90C24D6B3A694183C094C60CF0A2F6026B713F@saturn3.aculab.com>

From: "David Laight" <David.Laight@ACULAB.COM>
Date: Fri, 8 Feb 2013 10:23:08 -0000

> It is much better to define constants for the bit values and
> explicitly mask them as required.

Yes, __be32/__le32 along with bit define macros is the only reasonable
way to do this kind of stuff.

^ permalink raw reply

* Re: [PATCH] atm/iphase: rename fregt_t -> ffreg_t
From: David Miller @ 2013-02-08 19:22 UTC (permalink / raw)
  To: chas; +Cc: heiko.carstens, netdev, linux-kernel
In-Reply-To: <20130208095842.7df1a25e@thirdoffive.cmf.nrl.navy.mil>

From: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Date: Fri, 8 Feb 2013 09:58:42 -0500

> On Fri, 8 Feb 2013 11:19:11 +0100
> Heiko Carstens <heiko.carstens@de.ibm.com> wrote:
> 
>> We have conflicting type qualifiers for "freg_t" in s390's ptrace.h and the
>> iphase atm device driver, which causes the compile error below.
>> Unfortunately the s390 typedef can't be renamed, since it's a user visible api,
>> nor can I change the include order in s390 code to avoid the conflict.
>> 
>> So simply rename the iphase typedef to a new name. Fixes this compile error:
>> 
>> In file included from drivers/atm/iphase.c:66:0:
>> drivers/atm/iphase.h:639:25: error: conflicting type qualifiers for 'freg_t'
>> In file included from next/arch/s390/include/asm/ptrace.h:9:0,
>>                  from next/arch/s390/include/asm/lowcore.h:12,
>>                  from next/arch/s390/include/asm/thread_info.h:30,
>>                  from include/linux/thread_info.h:54,
>>                  from include/linux/preempt.h:9,
>>                  from include/linux/spinlock.h:50,
>>                  from include/linux/seqlock.h:29,
>>                  from include/linux/time.h:5,
>>                  from include/linux/stat.h:18,
>>                  from include/linux/module.h:10,
>>                  from drivers/atm/iphase.c:43:
>> next/arch/s390/include/uapi/asm/ptrace.h:197:3: note: previous declaration of 'freg_t' was here
>> 
>> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
> 
> seems like a fine idea.
> 
> Acked-by: chas williams - CONTRACTOR <chas@cmf.nrl.navy.mil>

Applied, thanks.

^ permalink raw reply

* Re: net: rcu warnings in ip6fl_get_first
From: Paul E. McKenney @ 2013-02-08 19:19 UTC (permalink / raw)
  To: Cong Wang; +Cc: linux-kernel, netdev
In-Reply-To: <kf1kul$699$2@ger.gmane.org>

On Fri, Feb 08, 2013 at 01:38:29AM +0000, Cong Wang wrote:
> On Thu, 07 Feb 2013 at 19:32 GMT, Sasha Levin <sasha.levin@oracle.com> wrote:
> > Hi guys,
> >
> > I got the following while fuzzing with trinity inside a KVM tools guest:
> >
> > [   51.680236] ===============================
> > [   51.681914] [ INFO: suspicious RCU usage. ]
> > [   51.683610] 3.8.0-rc6-next-20130206-sasha-00028-g83214f7-dirty #276 Tainted: G        W
> > [   51.686703] -------------------------------
> > [   51.688281] net/ipv6/ip6_flowlabel.c:671 suspicious rcu_dereference_check() usage!
> > [   51.691345]
> 
> It should use rcu_dereference_bh()...
> 
> diff --git a/net/ipv6/ip6_flowlabel.c b/net/ipv6/ip6_flowlabel.c
> index ea42bf4..c50080f 100644
> --- a/net/ipv6/ip6_flowlabel.c
> +++ b/net/ipv6/ip6_flowlabel.c
> @@ -65,13 +65,13 @@ static DEFINE_SPINLOCK(ip6_fl_lock);
>  static DEFINE_SPINLOCK(ip6_sk_fl_lock);
> 
>  #define for_each_fl_rcu(hash, fl)				\
> -	for (fl = rcu_dereference(fl_ht[(hash)]);		\
> +	for (fl = rcu_dereference_bh(fl_ht[(hash)]);		\
>  	     fl != NULL;					\
> -	     fl = rcu_dereference(fl->next))
> +	     fl = rcu_dereference_hb(fl->next))

Small but important typo in the preceding line, should be:

 +	     fl = rcu_dereference_bh(fl->next))

 							Thanx, Paul

>  #define for_each_fl_continue_rcu(fl)				\
> -	for (fl = rcu_dereference(fl->next);			\
> +	for (fl = rcu_dereference_bh(fl->next);			\
>  	     fl != NULL;					\
> -	     fl = rcu_dereference(fl->next))
> +	     fl = rcu_dereference_bh(fl->next))
> 
>  #define for_each_sk_fl_rcu(np, sfl)				\
>  	for (sfl = rcu_dereference_bh(np->ipv6_fl_list);	\
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 

^ permalink raw reply

* Re: [net-next 05/10] igb: Update igb to use a path similar to ixgbe to determine when to stop Tx
From: David Miller @ 2013-02-08 19:18 UTC (permalink / raw)
  To: alexander.h.duyck
  Cc: eric.dumazet, jeffrey.t.kirsher, netdev, gospo, sassmann
In-Reply-To: <511531AE.8030807@intel.com>

From: Alexander Duyck <alexander.h.duyck@intel.com>
Date: Fri, 08 Feb 2013 09:11:10 -0800

> For igb the IGB_MAX_DATA_PER_TXD is 32K as well.  So if I am not
> mistaken we should be fine.  The only time we risk exceeding that is
> if we have 64K page size.  It sounds like we may need to work in the
> ixgbe driver though since I believe the limit for it is only 16K per
> descriptor.
> 
> I will also submit an update for this patch that replaces PAGE_SIZE
> with NETDEV_FRAG_PAGE_MAX_SIZE in order to keep the two in sync.

I therefore expect a respin of this series from Jeff once the
update of this patch is resolved.

Thanks.

^ permalink raw reply

* pull request: wireless-next 2013-02-08
From: John W. Linville @ 2013-02-08 19:18 UTC (permalink / raw)
  To: davem-fT/PcQaiUtIeIZ0/mPfg9Q
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 36161 bytes --]

Dave,

Please accept this pull request intended for the 3.9 stream!

Included are a mac80211 pull, an iwlwifi pull (actually two -- one
was a fast-forward), a wl12xx pull, and a couple of Bluetooth pulls.

On mac80211, Johannes says:

"I've included
 * AKM definitions from Bing,
 * mesh fixes from Thomas, including a fix from him for me breaking his
   patch while applying,
 * channel check fix from Simon,
 * an old patch from Yoni Divinsky who doesn't even work for TI any
   more, to configure the WEP TX key for ARP offload etc.
 * MAC ACL API from Vasanth
 * a fix for the infamous chanctx_conf warning from Arnd
 * from myself, a fix for my previous aggregation changes, some cleanup
   and some improvements and fixes for WoWLAN"

On iwlwifi, Johannes says:

"Two small changes for iwlwifi-next, one to update all our Copyright
notices and one to provide the RX page order."

And also:

"So what I have here is some cleanups, preparations and the new MVM
(multi-virtual MAC) driver itself and (this is new) some work on the
transport API as well as a message flooding fix."

On wl12xx, Luca says:

"Lots of bugfixes and improvements in our TI wireless drivers,
including support for multi-channel.  Intended for 3.9."

On Bluetooth, Gustavo says:

"This is my first pull request to 3.9. The biggest changes here are from Johan
Hedberg who made a lot of fixes in the Management interface. The issues arose
due to a new test tool we wrote and the usage of the Management interface as
default in BlueZ 5. The rest of the patches are more clean ups and small
fixes."

And also:

"Here goes another batch intended for 3.9, the majority of the patch here are
from Johan who is fixing many issues in the management interface that have
appeared lately. The rest of the patches are just small improvements, fixes
and clean ups."

Along with those are the usual variety of updates/enhancements to
the mwl8k, mwifiex, ath9k, rtlwifi, and rt2x00 drivers as well as
a few updates for the ssb and bcma busses.  I don't think there are
any big headliners there.

Please let me know if there are problems!

Thanks,

John

---

The following changes since commit b285109dde7b873b5dc671ef1b3ae3090f4bc72f:

  Merge branch 'tg3' (2013-02-07 23:48:33 -0500)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next.git for-davem

for you to fetch changes up to f5237f278f30a92401539a54f87ee0c717b6f818:

  Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem (2013-02-08 13:16:17 -0500)

----------------------------------------------------------------

Alexey Khoroshilov (1):
      mwifiex: don't return zero on failure paths in mwifiex_pcie_init()

Anatol Pomozov (1):
      rtl8723ae: Fix misspellings sucess->success

Andre Guedes (3):
      Bluetooth: Reduce critical section in sco_conn_ready
      Bluetooth: Remove unneeded locking
      Bluetooth: Refactor mgmt_pending_foreach

Andrei Emeltchenko (4):
      Bluetooth: AMP: Send A2MP Create Phylink Rsp after Assoc write
      Bluetooth: AMP: Clean up logical link create / accept
      Bluetooth: AMP: Remove dead code
      Bluetooth: AMP: Use set_bit / test_bit for amp_mgr state

Arik Nemtsov (23):
      wlcore: use new set bandwidth command to adjusting channel BW
      wlcore/wl18xx/wl12xx: separate channel count between chips
      wlcore/wl12xx: make sure session id is always zero for AP
      wlcore: clear roc_vif on iface removal
      wlcore: take the mutex before resetting Tx queues
      wlcore: consolidate free_link and always call it
      wlcore: initialize per-link FW freed blocks correctly
      wlcore: track wlvif inside per-link structure
      wlcore: count packets held per AC in each vif
      wlcore: track FW-allocated packets per link
      wlcore: improved Tx scheduling algorithm
      wl18xx: set last Tx rate from FW status
      wlcore: remove support for injected Tx
      wlcore: improve handling for Rx errors
      wlcore: set 5Ghz probe-req template for DFS channels
      wlcore/wl18xx: change priority calculations for links
      wl18xx: limit Tx for the AP single-STA-in-PSM case
      wlcore: use link count for single-STA-PSM optimization
      wlcore: use separate HW queue for each AC in each vif
      wlcore: don't take mutex before stopping queues
      wlcore: consolidate Rx BA bitmap management to links struct
      wl18xx: support MIMO only if HT mode is not forced to SISO
      wl18xx: count HW block spare based correctly on keys

Arnd Bergmann (1):
      mac80211: avoid a build warning

Avinash Patil (1):
      mwifiex: fix invalid access of PCIe RxBD ring buffer descriptor

Bing Zhao (4):
      ieee80211: define AKM suite selectors type 5, 6 and 7
      mwifiex: do not overwrite error code from lower layer driver
      mwifiex: do not reconfigure tx buffer size in firmware while associating
      mwifiex: remove max_tx_buf_size

Christian Lamparter (3):
      iwlegacy: fix antenna bitmask
      iwl4965: report A-MPDU status
      ath9k: report A-MPDU status

Chuansheng Liu (1):
      wlcore: Fix the usage of wait_for_completion_timeout

Chun-Yeow Yeoh (1):
      rt2x00: allow AP and mesh mode to operate simultaneously

Cyril Roelandt (1):
      mwifiex: avoid out of bounds access in mwifiex_get_common_rates.

Eliad Peller (36):
      wlcore: start sta role on CHANGED_BSSID
      wlcore: workaround start_sta problem in wl12xx fw
      wlcore: implement .remain_on_channel() callback
      wlcore: get channel from bss_conf instead of hw->conf
      wlcore: add chanctx implementation
      wlcore: initiate ROC/CROC on sta state updates
      wlcore: set active psm on association
      wlcore: specify correct supported_rates
      wlcore: reconfigure rate policy on association
      wlcore: refactor CHANGED_HT handling
      wlcore: configure the remote rates with our own rates
      wlcore: print role_id on bss_info_changed
      wlcore: don't leak wl->mbox
      wlcore: don't call ieee80211_sched_scan_stopped directly
      wlcore: make scan scan configuration functions more generic
      wl18xx: change fw name and temporarily fail loading
      wlcore: update commands enum to new fw api
      wlcore: split 18xx and 12xx scan mechanism
      wl18xx: increase MAX_CHANNELS_5GHZ
      wlcore: update acx enum
      wlcore: update channel_switch/stop_channel_switch commands
      wlcore: update events enum/struct to new fw api
      wlcore: pass wmm configuration to the fw
      wlcore: save session_id per-link
      wlcore: call ieee80211_sched_scan_stopped on interface removal
      wl18xx: make driver operational again
      wlcore: configure dwell times according to scan type
      wlcore: don't stop fwlog if dbgpins are used
      wlcore: use sta_state-based ROCs for AP mode
      wlcore: mask out CCK rates when starting GO
      wlcore: move ps change handling to .bss_info_changed()
      wlcore: allow fw commands to fail
      wlcore: allow ACX_BA_SESSION_RX_SETUP to fail
      wlcore: remove WLCORE_QUIRK_NO_ELP
      wl18xx: declare support for greenfield ht_cap
      wlcore: add ACX_PEER_CAP command

Emmanuel Grumbach (2):
      iwlwifi: provide RX page order
      mac80211: provide the vif in rssi_callback

Eyal Shapira (2):
      wlcore: increase scan dwell times if no activity
      wlcore: support scan reports during periodic scan

Guenter Roeck (1):
      net: iwlegacy: remove unused variable

Gustavo Padovan (1):
      Bluetooth: Fix uuid output in debugfs

Hauke Mehrtens (2):
      ssb: add gpio_to_irq
      bcma: add gpio_to_irq

Ido Reis (1):
      wl18xx: update default mac/phy parameters

Ido Yariv (1):
      wlcore: Always pass DMA-able buffers to mmc functions

Janusz.Dziedzic-++hxYGjEMp0AvxtiuMwx3w@public.gmane.org (1):
      wlcore: SPI - fix spi transfer_list

Johan Hedberg (36):
      Bluetooth: Fix missing command complete event for mgmt_confirm_name
      Bluetooth: Fix missing command complete for mgmt_load_long_term_keys
      Bluetooth: Fix checking for valid device class values
      Bluetooth: Fix accepting set_dev_class for non-BR/EDR controllers
      Bluetooth: Move non-critical sections outside of the dev lock
      Bluetooth: Fix checking for exact values of boolean mgmt parameters
      Bluetooth: Fix returning proper command status for start_discovery
      Bluetooth: Fix sending incorrect new_settings for mgmt_set_powered
      Bluetooth: Add a new workqueue for hci_request operations
      Bluetooth: Use req_workqueue for hci_request operations
      Bluetooth: Fix using system-global workqueue when not necessary
      Bluetooth: Fix Class of Device indication when powering off
      Bluetooth: Fix checking for correct mgmt_load_link_keys parameters
      Bluetooth: Fix returning proper mgmt status for Load LTKs
      Bluetooth: Fix checking for proper key->master value in Load LTKs
      Bluetooth: Refactor valid LTK data testing into its own function
      Bluetooth: Check for valid key->authenticated value for LTKs
      Bluetooth: Add helper functions for testing bdaddr types
      Bluetooth: Fix checking for valid address type values in mgmt commands
      Bluetooth: Fix checking for valid disconnect parameters in unpair_device
      Bluetooth: Fix returning proper cmd_complete for mgmt_disconnect
      Bluetooth: Fix returning proper cmd_complete for mgmt_block/unblock
      Bluetooth: Add LE Local Features reading support
      Bluetooth: Add support for reading LE White List Size
      Bluetooth: Add support for reading LE supported states
      Bluetooth: Store UUIDs in the same order that they were added
      Bluetooth: Simplify UUIDs clearing code
      Bluetooth: Keep track of UUID type upon addition
      Bluetooth: Simplify UUID removal code
      Bluetooth: Simplify UUID16 list generation for EIR
      Bluetooth: Remove useless eir_len variable from EIR creation
      Bluetooth: Refactor UUID-16 list generation into its own function
      Bluetooth: Add support for 32-bit UUIDs in EIR data
      Bluetooth: Add support for 128-bit UUIDs in EIR data
      Bluetooth: Fix link security setting when powering on
      Bluetooth: Increment Management interface revision

Johannes Berg (14):
      mac80211: remove ARP filter enable/disable logic
      mac80211: improve aggregation debug messages
      mac80211: allow drivers to access IPv6 information
      iwlwifi: update copyright
      mac80211: fix aggregation state with current drivers
      mac80211: remove redundant check
      iwlwifi: include debugfs.h
      Merge remote-tracking branch 'wireless-next/master' into iwlwifi-next
      iwlwifi: add 7000 series device configuration
      iwlwifi: clean up CMD_MODE enum
      iwlwifi: fix calibration parser
      iwlwifi: add NVM and PHY DB code for new MVM driver
      iwlwifi: add the MVM driver
      iwlwifi: lower BT coex aggregation message severity

John W. Linville (6):
      Merge branch 'for-linville' of git://git.kernel.org/.../luca/wl12xx
      Merge branch 'for-upstream' of git://git.kernel.org/.../bluetooth/bluetooth-next
      Merge branch 'for-john' of git://git.kernel.org/.../jberg/mac80211-next
      Merge branch 'for-john' of git://git.kernel.org/.../iwlwifi/iwlwifi-next
      Merge branch 'for-upstream' of git://git.kernel.org/.../bluetooth/bluetooth-next
      Merge branch 'master' of git://git.kernel.org/.../linville/wireless-next into for-davem

Julia Lawall (2):
      drivers/net/wireless/ti/wlcore/main.c: eliminate possible double power off
      drivers/net/wireless/iwlegacy/4965-mac.c: adjust duplicate test

Kees Cook (1):
      drivers/net/wireless/ti/wl1251: remove CONFIG_EXPERIMENTAL

Larry Finger (7):
      rtlwifi: Eliminate two empty routines
      rtlwifi: Fix many compile warnings when using W=1
      rtlwifi: Fix warnings in usb.c
      rtlwifi: rtl8192c: Fix W=1 warning
      rtlwifi: rtl8192cu: Fix W=1 build warning
      rtlwifi: rtl8192de: Fix W=1 build warnings
      rtlwifi: rtl8723ae: Fix W=1 compile warnings

Lilach Edelstein (2):
      iwlwifi: add iwl_set_bits_mask to transport API
      iwlwifi: move register access lock into transport

Luciano Coelho (11):
      wlcore: avoid using goto in normal code flow
      wlcore: remove a bunch of unnecessary parentheses
      wlcore: gather information about firmware stability
      wlcore/wl12xx: move wl12xx chip ID defines to the lower driver
      wlcore/wl12xx: remove deprecated FW version check
      wlcore: change way of checking the firmware version
      wl12xx: ignore some of the firmware version fields
      wlcore/wl12xx/wl18xx: verify multi-role and single-role fw versions
      wl18xx: ignore irrelevant firmware version fields
      Merge branch 'wl12xx-next' into for-linville
      Merge branch 'wl12xx-next' into for-linville

Rafał Miłecki (5):
      ssb: trivial: use pflash helper variable
      ssb: register platform device for parallel flash
      bcma: register platform device for parallel flash
      bcma: Xflash: reorder includes to make pr_fmt work
      bcma: cc: fix (and rename) define of NAND flash type

Rami Rosen (2):
      Bluetooth: Remove unnecessary include l2cap.h
      Bluetooth: remove an unused variable in a header file

Simon Wunderlich (4):
      cfg80211: fix channel check in cfg80211_can_use_iftype_chan
      ath9k: add debug parameters for spectral scan
      ath9k: drop spectral packets after processing them
      ath9k: reorder error codes for spectral

Stanislaw Gruszka (5):
      rt2x00: print chip and firmware version by default
      rt2x00: print warning, notice and info as default
      rt2800usb: move "TX status missed" messages to debug level
      rt2x00: remove NOTICE
      iwlegacy: check for dma mapping errors

Sven Eckelmann (7):
      ath9k: Update spectral scan output data
      ath9k: Select RELAY for ATH9K_DEBUGFS
      ath9k: Only process fft samples when ATH9K_DEBUGFS is enabled
      ath9k: Only add fix_rssi_inv_only when spectral code is used
      ath9k: Only remove spectral scan relay file when it was created
      ath9k: Fix sparse __CHECK_ENDIAN__ for spectral code
      ath9k: Remove unused variables in ath_mci_cleanup

Szymon Janc (3):
      Bluetooth: mgmt: Remove not needed restriction on add/remove OOB data
      Bluetooth: mgmt: Avoid using magic number in status code
      Bluetooth: Fix pair device command reply if adapter is powered off

Thomas Pedersen (3):
      mac80211: clean up mesh sta allocation warning
      mac80211: support mesh rate updates
      mac80211: fix mesh_sta_info_get() reshuffle damage

Tushar Behera (1):
      wlcore: Remove redundant check on unsigned variable

Vasanthakumar Thiagarajan (2):
      cfg80211: Move the definition of struct mac_address up
      cfg80211/nl80211: add API for MAC address ACLs

Victor Goldenshtein (3):
      wlcore: add new reg-domain configuration command
      wlcore: remove unnecessary WARN_ON in wl12xx_tx_reset
      wlcore: restore default channel configuration

Vladimir Kondratiev (14):
      wil6210: Detect FW error
      wil6210: rearrange IRQ debug printing
      wil6210: remove raw wil_dbg() calls
      wil6210: Refactor rx init/fini
      wil6210: Count Tx statistics on Tx completion
      wil6210: Fix: Tx stall
      wil6210: Call skb_orphan() right before Rx indication
      wil6210: Fix "don't scan after connect" logic
      wil6210: Separate common code for mbox regs caching to function
      wil6210: Reorder reset preparation sequence
      wil6210: fix checkpatch CamelCase warnings
      wil6210: checkpatch warnings
      wil6210: Never delete Rx chain with firmware
      wil6210: fix wil_vring_init_tx status

Wei Yongjun (2):
      wlcore: spi: use platform_device_unregister in wl1271_remove()
      wlcore: sdio: use platform_device_unregister in wl1271_remove()

Xose Vazquez Perez (2):
      wireless: rt2x00: rt2800usb add/identify ids
      wireless: rt2x00: rt2800pci add id

Yair Shapira (3):
      wlcore/wl18xx/wl12xx: add recovery settings to conf
      wl18xx: support 2nd set of mac/phy tx-power params
      wl18xx: fix a bug in wl->num_rx_desc initialization

Yogesh Ashok Powar (10):
      mwl8k: Stop bsses before hw specific commands
      mwl8k: Do not call mwl8k_cmd_set_rf_channel unconditionally
      mwl8k: Move tx/rx antenna configuration to mwl8k_probe_hw
      mwl8k: Announce simultaneous AP-STA support on AP fw
      mwl8k: Allow adding station interface on AP firmware
      mwl8k: set mac type to MWL8K_MAC_TYPE_SECONDARY_CLIENT
      mwl8k: Enable hw encryption for STA mode on AP fw
      mwl8k: Add/Del self entry for AP interface only
      mwl8k: Choose interface specific calls on vif type
      mwl8k: Do not call STA specific cmds not supported by the AP fw

Yoni Divinsky (1):
      mac80211: add op to configure default key id

 drivers/bcma/bcma_private.h                        |    1 +
 drivers/bcma/driver_chipcommon_nflash.c            |    4 +-
 drivers/bcma/driver_chipcommon_sflash.c            |    4 +-
 drivers/bcma/driver_gpio.c                         |   11 +
 drivers/bcma/driver_mips.c                         |   38 +-
 drivers/bcma/main.c                                |    8 +
 drivers/net/wireless/ath/ath9k/Kconfig             |    1 +
 drivers/net/wireless/ath/ath9k/ath9k.h             |   17 +-
 drivers/net/wireless/ath/ath9k/debug.c             |  193 +-
 drivers/net/wireless/ath/ath9k/debug.h             |    2 +
 drivers/net/wireless/ath/ath9k/init.c              |    9 +-
 drivers/net/wireless/ath/ath9k/mac.c               |    8 +-
 drivers/net/wireless/ath/ath9k/main.c              |   23 +-
 drivers/net/wireless/ath/ath9k/mci.c               |    2 -
 drivers/net/wireless/ath/ath9k/recv.c              |   80 +-
 drivers/net/wireless/ath/wil6210/cfg80211.c        |    9 +-
 drivers/net/wireless/ath/wil6210/interrupt.c       |   55 +-
 drivers/net/wireless/ath/wil6210/main.c            |   63 +-
 drivers/net/wireless/ath/wil6210/netdev.c          |   31 +-
 drivers/net/wireless/ath/wil6210/pcie_bus.c        |    4 +-
 drivers/net/wireless/ath/wil6210/txrx.c            |  107 +-
 drivers/net/wireless/ath/wil6210/wil6210.h         |   22 +-
 drivers/net/wireless/ath/wil6210/wmi.c             |  107 +-
 .../net/wireless/brcm80211/brcmsmac/mac80211_if.c  |    5 +-
 drivers/net/wireless/iwlegacy/3945-mac.c           |   39 +-
 drivers/net/wireless/iwlegacy/4965-mac.c           |   57 +-
 drivers/net/wireless/iwlegacy/4965.c               |    3 -
 drivers/net/wireless/iwlegacy/commands.h           |    3 +-
 drivers/net/wireless/iwlegacy/common.h             |    1 +
 drivers/net/wireless/iwlwifi/Kconfig               |   14 +-
 drivers/net/wireless/iwlwifi/Makefile              |    3 +
 drivers/net/wireless/iwlwifi/dvm/agn.h             |    4 +-
 drivers/net/wireless/iwlwifi/dvm/calib.c           |    4 +-
 drivers/net/wireless/iwlwifi/dvm/calib.h           |    4 +-
 drivers/net/wireless/iwlwifi/dvm/commands.h        |    4 +-
 drivers/net/wireless/iwlwifi/dvm/debugfs.c         |    2 +-
 drivers/net/wireless/iwlwifi/dvm/dev.h             |    2 +-
 drivers/net/wireless/iwlwifi/dvm/devices.c         |    2 +-
 drivers/net/wireless/iwlwifi/dvm/led.c             |    2 +-
 drivers/net/wireless/iwlwifi/dvm/led.h             |    2 +-
 drivers/net/wireless/iwlwifi/dvm/lib.c             |    2 +-
 drivers/net/wireless/iwlwifi/dvm/mac80211.c        |    9 +-
 drivers/net/wireless/iwlwifi/dvm/main.c            |   42 +-
 drivers/net/wireless/iwlwifi/dvm/power.c           |    2 +-
 drivers/net/wireless/iwlwifi/dvm/power.h           |    2 +-
 drivers/net/wireless/iwlwifi/dvm/rs.c              |    7 +-
 drivers/net/wireless/iwlwifi/dvm/rs.h              |    2 +-
 drivers/net/wireless/iwlwifi/dvm/rx.c              |    2 +-
 drivers/net/wireless/iwlwifi/dvm/rxon.c            |    2 +-
 drivers/net/wireless/iwlwifi/dvm/scan.c            |    2 +-
 drivers/net/wireless/iwlwifi/dvm/sta.c             |    2 +-
 drivers/net/wireless/iwlwifi/dvm/testmode.c        |    4 +-
 drivers/net/wireless/iwlwifi/dvm/tt.c              |    8 +-
 drivers/net/wireless/iwlwifi/dvm/tt.h              |    2 +-
 drivers/net/wireless/iwlwifi/dvm/tx.c              |    2 +-
 drivers/net/wireless/iwlwifi/dvm/ucode.c           |    2 +-
 drivers/net/wireless/iwlwifi/iwl-agn-hw.h          |    4 +-
 drivers/net/wireless/iwlwifi/iwl-config.h          |    5 +-
 drivers/net/wireless/iwlwifi/iwl-csr.h             |    4 +-
 drivers/net/wireless/iwlwifi/iwl-debug.h           |    4 +-
 drivers/net/wireless/iwlwifi/iwl-devtrace.c        |    2 +-
 drivers/net/wireless/iwlwifi/iwl-devtrace.h        |    2 +-
 drivers/net/wireless/iwlwifi/iwl-drv.c             |   27 +-
 drivers/net/wireless/iwlwifi/iwl-drv.h             |    6 +-
 drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c    |   18 +-
 drivers/net/wireless/iwlwifi/iwl-eeprom-parse.h    |   13 +-
 drivers/net/wireless/iwlwifi/iwl-eeprom-read.c     |    4 +-
 drivers/net/wireless/iwlwifi/iwl-eeprom-read.h     |    4 +-
 drivers/net/wireless/iwlwifi/iwl-fh.h              |    5 +-
 drivers/net/wireless/iwlwifi/iwl-fw-file.h         |    4 +-
 drivers/net/wireless/iwlwifi/iwl-fw.h              |   20 +-
 drivers/net/wireless/iwlwifi/iwl-io.c              |   93 +-
 drivers/net/wireless/iwlwifi/iwl-io.h              |   15 +-
 drivers/net/wireless/iwlwifi/iwl-modparams.h       |    4 +-
 drivers/net/wireless/iwlwifi/iwl-notif-wait.c      |    4 +-
 drivers/net/wireless/iwlwifi/iwl-notif-wait.h      |    4 +-
 drivers/net/wireless/iwlwifi/iwl-nvm-parse.c       |  346 +++
 drivers/net/wireless/iwlwifi/iwl-nvm-parse.h       |   80 +
 drivers/net/wireless/iwlwifi/iwl-op-mode.h         |    6 +-
 drivers/net/wireless/iwlwifi/iwl-phy-db.c          |  514 ++++
 drivers/net/wireless/iwlwifi/iwl-phy-db.h          |   82 +
 drivers/net/wireless/iwlwifi/iwl-prph.h            |    7 +-
 drivers/net/wireless/iwlwifi/iwl-test.c            |   21 +-
 drivers/net/wireless/iwlwifi/iwl-test.h            |    4 +-
 drivers/net/wireless/iwlwifi/iwl-testmode.h        |    4 +-
 drivers/net/wireless/iwlwifi/iwl-trans.h           |   52 +-
 drivers/net/wireless/iwlwifi/mvm/Makefile          |   10 +
 drivers/net/wireless/iwlwifi/mvm/binding.c         |  197 ++
 drivers/net/wireless/iwlwifi/mvm/d3.c              |  841 ++++++
 drivers/net/wireless/iwlwifi/mvm/debugfs.c         |  378 +++
 drivers/net/wireless/iwlwifi/mvm/fw-api-d3.h       |  282 ++
 drivers/net/wireless/iwlwifi/mvm/fw-api-mac.h      |  369 +++
 drivers/net/wireless/iwlwifi/mvm/fw-api-power.h    |  140 +
 drivers/net/wireless/iwlwifi/mvm/fw-api-rs.h       |  312 ++
 drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h     |  561 ++++
 drivers/net/wireless/iwlwifi/mvm/fw-api-sta.h      |  380 +++
 drivers/net/wireless/iwlwifi/mvm/fw-api-tx.h       |  580 ++++
 drivers/net/wireless/iwlwifi/mvm/fw-api.h          |  949 ++++++
 drivers/net/wireless/iwlwifi/mvm/fw.c              |  644 ++++
 drivers/net/wireless/iwlwifi/mvm/led.c             |  134 +
 drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c        |  951 ++++++
 drivers/net/wireless/iwlwifi/mvm/mac80211.c        | 1310 +++++++++
 drivers/net/wireless/iwlwifi/mvm/mvm.h             |  500 ++++
 drivers/net/wireless/iwlwifi/mvm/nvm.c             |  311 ++
 drivers/net/wireless/iwlwifi/mvm/ops.c             |  679 +++++
 drivers/net/wireless/iwlwifi/mvm/phy-ctxt.c        |  292 ++
 drivers/net/wireless/iwlwifi/mvm/power.c           |  207 ++
 drivers/net/wireless/iwlwifi/mvm/quota.c           |  178 ++
 drivers/net/wireless/iwlwifi/mvm/rs.c              | 3096 ++++++++++++++++++++
 drivers/net/wireless/iwlwifi/mvm/rs.h              |  393 +++
 drivers/net/wireless/iwlwifi/mvm/rx.c              |  355 +++
 drivers/net/wireless/iwlwifi/mvm/scan.c            |  437 +++
 drivers/net/wireless/iwlwifi/mvm/sta.c             | 1211 ++++++++
 drivers/net/wireless/iwlwifi/mvm/sta.h             |  368 +++
 drivers/net/wireless/iwlwifi/mvm/time-event.c      |  569 ++++
 drivers/net/wireless/iwlwifi/mvm/time-event.h      |  214 ++
 drivers/net/wireless/iwlwifi/mvm/tx.c              |  916 ++++++
 drivers/net/wireless/iwlwifi/mvm/utils.c           |  472 +++
 drivers/net/wireless/iwlwifi/pcie/1000.c           |    2 +-
 drivers/net/wireless/iwlwifi/pcie/2000.c           |    2 +-
 drivers/net/wireless/iwlwifi/pcie/5000.c           |    2 +-
 drivers/net/wireless/iwlwifi/pcie/6000.c           |    2 +-
 drivers/net/wireless/iwlwifi/pcie/7000.c           |  111 +
 drivers/net/wireless/iwlwifi/pcie/cfg.h            |    6 +-
 drivers/net/wireless/iwlwifi/pcie/drv.c            |   10 +-
 drivers/net/wireless/iwlwifi/pcie/internal.h       |    6 +-
 drivers/net/wireless/iwlwifi/pcie/rx.c             |    3 +-
 drivers/net/wireless/iwlwifi/pcie/trans.c          |   95 +-
 drivers/net/wireless/iwlwifi/pcie/tx.c             |    2 +-
 drivers/net/wireless/mwifiex/11n.c                 |   39 -
 drivers/net/wireless/mwifiex/11n.h                 |    2 -
 drivers/net/wireless/mwifiex/README                |    1 -
 drivers/net/wireless/mwifiex/debugfs.c             |    2 -
 drivers/net/wireless/mwifiex/init.c                |    1 -
 drivers/net/wireless/mwifiex/ioctl.h               |    1 -
 drivers/net/wireless/mwifiex/join.c                |    6 +-
 drivers/net/wireless/mwifiex/main.h                |    1 -
 drivers/net/wireless/mwifiex/pcie.c                |    6 +-
 drivers/net/wireless/mwifiex/sdio.c                |   10 +-
 drivers/net/wireless/mwifiex/sta_cmdresp.c         |    5 +-
 drivers/net/wireless/mwifiex/usb.c                 |    4 +-
 drivers/net/wireless/mwifiex/util.c                |    2 +-
 drivers/net/wireless/mwl8k.c                       |  167 +-
 drivers/net/wireless/rt2x00/rt2800lib.c            |    2 +-
 drivers/net/wireless/rt2x00/rt2800pci.c            |    1 +
 drivers/net/wireless/rt2x00/rt2800usb.c            |   20 +-
 drivers/net/wireless/rt2x00/rt2x00.h               |    6 +-
 drivers/net/wireless/rt2x00/rt2x00dev.c            |    7 +-
 drivers/net/wireless/rt2x00/rt2x00mac.c            |    6 +-
 drivers/net/wireless/rtlwifi/rc.c                  |   15 -
 drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c  |    3 +-
 drivers/net/wireless/rtlwifi/rtl8192cu/sw.c        |    2 +-
 drivers/net/wireless/rtlwifi/rtl8192de/dm.c        |    4 +-
 drivers/net/wireless/rtlwifi/rtl8723ae/fw.c        |    8 +-
 drivers/net/wireless/rtlwifi/rtl8723ae/hal_btc.c   |    2 -
 drivers/net/wireless/rtlwifi/rtl8723ae/hw.c        |    8 +-
 drivers/net/wireless/rtlwifi/rtl8723ae/phy.c       |   20 +-
 drivers/net/wireless/rtlwifi/rtl8723ae/trx.c       |    2 -
 drivers/net/wireless/rtlwifi/usb.c                 |    4 -
 drivers/net/wireless/rtlwifi/wifi.h                |    2 +-
 drivers/net/wireless/ti/wl1251/Kconfig             |    2 +-
 drivers/net/wireless/ti/wl12xx/Makefile            |    2 +-
 drivers/net/wireless/ti/wl12xx/cmd.c               |   37 +
 drivers/net/wireless/ti/wl12xx/cmd.h               |   20 +
 drivers/net/wireless/ti/wl12xx/event.c             |  116 +
 drivers/net/wireless/ti/wl12xx/event.h             |  111 +
 drivers/net/wireless/ti/wl12xx/main.c              |  192 +-
 drivers/net/wireless/ti/wl12xx/scan.c              |  501 ++++
 drivers/net/wireless/ti/wl12xx/scan.h              |  140 +
 drivers/net/wireless/ti/wl12xx/wl12xx.h            |   40 +-
 drivers/net/wireless/ti/wl18xx/Makefile            |    2 +-
 drivers/net/wireless/ti/wl18xx/acx.c               |   87 +-
 drivers/net/wireless/ti/wl18xx/acx.h               |   55 +-
 drivers/net/wireless/ti/wl18xx/cmd.c               |   80 +
 drivers/net/wireless/ti/wl18xx/cmd.h               |   52 +
 drivers/net/wireless/ti/wl18xx/conf.h              |   21 +-
 drivers/net/wireless/ti/wl18xx/event.c             |  111 +
 drivers/net/wireless/ti/wl18xx/event.h             |   77 +
 drivers/net/wireless/ti/wl18xx/main.c              |  267 +-
 drivers/net/wireless/ti/wl18xx/scan.c              |  326 +++
 drivers/net/wireless/ti/wl18xx/scan.h              |  127 +
 drivers/net/wireless/ti/wl18xx/tx.c                |   54 +-
 drivers/net/wireless/ti/wl18xx/wl18xx.h            |   50 +-
 drivers/net/wireless/ti/wlcore/acx.c               |   15 +-
 drivers/net/wireless/ti/wlcore/acx.h               |    1 -
 drivers/net/wireless/ti/wlcore/boot.c              |   77 +-
 drivers/net/wireless/ti/wlcore/cmd.c               |  419 ++-
 drivers/net/wireless/ti/wlcore/cmd.h               |   81 +-
 drivers/net/wireless/ti/wlcore/conf.h              |  110 +-
 drivers/net/wireless/ti/wlcore/debugfs.c           |   10 +-
 drivers/net/wireless/ti/wlcore/event.c             |  326 +--
 drivers/net/wireless/ti/wlcore/event.h             |   99 +-
 drivers/net/wireless/ti/wlcore/hw_ops.h            |   41 +
 drivers/net/wireless/ti/wlcore/init.c              |   19 +-
 drivers/net/wireless/ti/wlcore/io.h                |   12 +-
 drivers/net/wireless/ti/wlcore/main.c              | 1592 ++++++----
 drivers/net/wireless/ti/wlcore/ps.c                |   11 +-
 drivers/net/wireless/ti/wlcore/rx.c                |   33 +-
 drivers/net/wireless/ti/wlcore/rx.h                |    3 +-
 drivers/net/wireless/ti/wlcore/scan.c              |  696 ++---
 drivers/net/wireless/ti/wlcore/scan.h              |  144 +-
 drivers/net/wireless/ti/wlcore/sdio.c              |    3 +-
 drivers/net/wireless/ti/wlcore/spi.c               |    5 +-
 drivers/net/wireless/ti/wlcore/tx.c                |  298 +-
 drivers/net/wireless/ti/wlcore/tx.h                |   35 +-
 drivers/net/wireless/ti/wlcore/wlcore.h            |  118 +-
 drivers/net/wireless/ti/wlcore/wlcore_i.h          |   49 +-
 drivers/ssb/driver_gpio.c                          |   22 +
 drivers/ssb/driver_mipscore.c                      |   48 +-
 drivers/ssb/main.c                                 |    8 +
 drivers/ssb/ssb_private.h                          |    4 +
 include/linux/bcma/bcma_driver_chipcommon.h        |    2 +-
 include/linux/bcma/bcma_driver_mips.h              |    9 +-
 include/linux/ieee80211.h                          |    5 +-
 include/linux/ssb/ssb_driver_mips.h                |    5 +
 include/net/bluetooth/a2mp.h                       |    4 +-
 include/net/bluetooth/bluetooth.h                  |   23 +
 include/net/bluetooth/hci.h                        |   18 +
 include/net/bluetooth/hci_core.h                   |    5 +
 include/net/bluetooth/l2cap.h                      |    1 -
 include/net/cfg80211.h                             |   42 +-
 include/net/mac80211.h                             |   31 +-
 include/uapi/linux/nl80211.h                       |   51 +-
 net/bluetooth/a2mp.c                               |   42 +-
 net/bluetooth/amp.c                                |   25 +-
 net/bluetooth/bnep/core.c                          |    1 -
 net/bluetooth/hci_core.c                           |   30 +-
 net/bluetooth/hci_event.c                          |   64 +-
 net/bluetooth/hci_sysfs.c                          |   22 +-
 net/bluetooth/l2cap_core.c                         |    5 -
 net/bluetooth/mgmt.c                               |  489 +++-
 net/bluetooth/sco.c                                |   18 +-
 net/mac80211/agg-rx.c                              |   14 +-
 net/mac80211/agg-tx.c                              |   61 +-
 net/mac80211/driver-ops.h                          |   36 +-
 net/mac80211/ieee80211_i.h                         |    3 +-
 net/mac80211/iface.c                               |    3 -
 net/mac80211/key.c                                 |    5 +-
 net/mac80211/main.c                                |   64 +-
 net/mac80211/mesh_plink.c                          |  168 +-
 net/mac80211/mlme.c                                |   42 +-
 net/mac80211/sta_info.c                            |    5 -
 net/mac80211/trace.h                               |   53 +-
 net/mac80211/tx.c                                  |    8 +-
 net/wireless/core.c                                |    5 +
 net/wireless/nl80211.c                             |  116 +
 net/wireless/rdev-ops.h                            |   12 +
 net/wireless/trace.h                               |   18 +
 net/wireless/util.c                                |    3 +-
 249 files changed, 26303 insertions(+), 3190 deletions(-)
 create mode 100644 drivers/net/wireless/iwlwifi/iwl-nvm-parse.c
 create mode 100644 drivers/net/wireless/iwlwifi/iwl-nvm-parse.h
 create mode 100644 drivers/net/wireless/iwlwifi/iwl-phy-db.c
 create mode 100644 drivers/net/wireless/iwlwifi/iwl-phy-db.h
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/Makefile
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/binding.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/d3.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/debugfs.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/fw-api-d3.h
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/fw-api-mac.h
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/fw-api-power.h
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/fw-api-rs.h
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/fw-api-sta.h
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/fw-api-tx.h
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/fw-api.h
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/fw.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/led.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/mac80211.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/mvm.h
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/nvm.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/ops.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/phy-ctxt.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/power.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/quota.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/rs.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/rs.h
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/rx.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/scan.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/sta.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/sta.h
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/time-event.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/time-event.h
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/tx.c
 create mode 100644 drivers/net/wireless/iwlwifi/mvm/utils.c
 create mode 100644 drivers/net/wireless/iwlwifi/pcie/7000.c
 create mode 100644 drivers/net/wireless/ti/wl12xx/event.c
 create mode 100644 drivers/net/wireless/ti/wl12xx/event.h
 create mode 100644 drivers/net/wireless/ti/wl12xx/scan.c
 create mode 100644 drivers/net/wireless/ti/wl12xx/scan.h
 create mode 100644 drivers/net/wireless/ti/wl18xx/cmd.c
 create mode 100644 drivers/net/wireless/ti/wl18xx/cmd.h
 create mode 100644 drivers/net/wireless/ti/wl18xx/event.c
 create mode 100644 drivers/net/wireless/ti/wl18xx/event.h
 create mode 100644 drivers/net/wireless/ti/wl18xx/scan.c
 create mode 100644 drivers/net/wireless/ti/wl18xx/scan.h
-- 
John W. Linville		Someday the world will need a hero, and you
linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org			might be all we have.  Be ready.

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply

* Re: [patch net-next v2 10/11] act_police: improved accuracy at high rates
From: Eric Dumazet @ 2013-02-08 19:12 UTC (permalink / raw)
  To: Jiri Pirko; +Cc: netdev, davem, edumazet, jhs, kuznet, j.vimal
In-Reply-To: <1360349981-27801-11-git-send-email-jiri@resnulli.us>

On Fri, 2013-02-08 at 19:59 +0100, Jiri Pirko wrote:
> Current act_police uses rate table computed by the "tc" userspace program,
> which has the following issue:
> 
> The rate table has 256 entries to map packet lengths to
> token (time units).  With TSO sized packets, the 256 entry granularity
> leads to loss/gain of rate, making the token bucket inaccurate.
> 
> Thus, instead of relying on rate table, this patch explicitly computes
> the time and accounts for packet transmission times with nanosecond
> granularity.
> 
> This is a followup to 56b765b79e9a78dc7d3f8850ba5e5567205a3ecd
> 
> Signed-off-by: Jiri Pirko <jiri@resnulli.us>
> ---
>  net/sched/act_police.c | 119 +++++++++++++++++++++++--------------------------
>  1 file changed, 57 insertions(+), 62 deletions(-)
> 
> diff --git a/net/sched/act_police.c b/net/sched/act_police.c
> index 378a649..8723183 100644
> --- a/net/sched/act_police.c
> +++ b/net/sched/act_police.c
> @@ -26,20 +26,19 @@ struct tcf_police {
>  	struct tcf_common	common;
>  	int			tcfp_result;
>  	u32			tcfp_ewma_rate;
> -	u32			tcfp_burst;
> +	s64			tcfp_burst;
>  	u32			tcfp_mtu;
> -	u32			tcfp_toks;
> -	u32			tcfp_ptoks;
> +	s64			tcfp_toks;
> +	s64			tcfp_ptoks;
>  	psched_time_t		tcfp_t_c;
> -	struct qdisc_rate_table	*tcfp_R_tab;
> -	struct qdisc_rate_table	*tcfp_P_tab;
> +	struct psched_ratecfg	rate;
> +	bool			rate_present;
> +	struct psched_ratecfg	peak;
> +	bool			peak_present;
>  };
>  #define to_police(pc)	\
>  	container_of(pc, struct tcf_police, common)
>  
> -#define L2T(p, L)   qdisc_l2t((p)->tcfp_R_tab, L)
> -#define L2T_P(p, L) qdisc_l2t((p)->tcfp_P_tab, L)
> -
>  #define POL_TAB_MASK     15
>  static struct tcf_common *tcf_police_ht[POL_TAB_MASK + 1];
>  static u32 police_idx_gen;
> @@ -123,10 +122,6 @@ static void tcf_police_destroy(struct tcf_police *p)
>  			write_unlock_bh(&police_lock);
>  			gen_kill_estimator(&p->tcf_bstats,
>  					   &p->tcf_rate_est);
> -			if (p->tcfp_R_tab)
> -				qdisc_put_rtab(p->tcfp_R_tab);
> -			if (p->tcfp_P_tab)
> -				qdisc_put_rtab(p->tcfp_P_tab);
>  			/*
>  			 * gen_estimator est_timer() might access p->tcf_lock
>  			 * or bstats, wait a RCU grace period before freeing p
> @@ -154,7 +149,6 @@ static int tcf_act_police_locate(struct net *net, struct nlattr *nla,
>  	struct nlattr *tb[TCA_POLICE_MAX + 1];
>  	struct tc_police *parm;
>  	struct tcf_police *police;
> -	struct qdisc_rate_table *R_tab = NULL, *P_tab = NULL;
>  	int size;
>  
>  	if (nla == NULL)
> @@ -197,21 +191,37 @@ static int tcf_act_police_locate(struct net *net, struct nlattr *nla,
>  	if (bind)
>  		police->tcf_bindcnt = 1;
>  override:
> +	spin_lock_bh(&police->tcf_lock);
> +	police->tcfp_mtu = parm->mtu;
> +	police->rate_present = false;
> +	police->peak_present = false;
>  	if (parm->rate.rate) {
> +		struct qdisc_rate_table *tab;
> +
>  		err = -ENOMEM;
> -		R_tab = qdisc_get_rtab(&parm->rate, tb[TCA_POLICE_RATE]);
> -		if (R_tab == NULL)
> -			goto failure;
> +		tab = qdisc_get_rtab(&parm->rate, tb[TCA_POLICE_RATE]);

This patch was not tested, it cannot possibly work

spin_lock_bh();
rtab = kmalloc(sizeof(*rtab), GFP_KERNEL);

should crash or complain loudly.

^ permalink raw reply

* Re: [patch net-next v2 06/11] tbf: improved accuracy at high rates
From: Eric Dumazet @ 2013-02-08 19:09 UTC (permalink / raw)
  To: Jiri Pirko; +Cc: netdev, davem, edumazet, jhs, kuznet, j.vimal
In-Reply-To: <1360349981-27801-7-git-send-email-jiri@resnulli.us>

On Fri, 2013-02-08 at 19:59 +0100, Jiri Pirko wrote:
> Current TBF uses rate table computed by the "tc" userspace program,
> which has the following issue:
> 
> The rate table has 256 entries to map packet lengths to
> token (time units).  With TSO sized packets, the 256 entry granularity
> leads to loss/gain of rate, making the token bucket inaccurate.
> 
> Thus, instead of relying on rate table, this patch explicitly computes
> the time and accounts for packet transmission times with nanosecond
> granularity.
> 
> This is a followup to 56b765b79e9a78dc7d3f8850ba5e5567205a3ecd
> 
> Signed-off-by: Jiri Pirko <jiri@resnulli.us>
> ---

Acked-by: Eric Dumazet <edumazet@google.com>

^ permalink raw reply

* [patch net-next v2 11/11] act_police: remove <=mtu check for gso skbs
From: Jiri Pirko @ 2013-02-08 18:59 UTC (permalink / raw)
  To: netdev; +Cc: davem, edumazet, jhs, kuznet, j.vimal
In-Reply-To: <1360349981-27801-1-git-send-email-jiri@resnulli.us>

This check made bigger packets incorrectly dropped. Remove this
limitation for gso skbs.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
---
 net/sched/act_police.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/sched/act_police.c b/net/sched/act_police.c
index 8723183..2a55cea 100644
--- a/net/sched/act_police.c
+++ b/net/sched/act_police.c
@@ -311,7 +311,7 @@ static int tcf_act_police(struct sk_buff *skb, const struct tc_action *a,
 		return police->tcf_action;
 	}
 
-	if (qdisc_pkt_len(skb) <= police->tcfp_mtu) {
+	if (qdisc_pkt_len(skb) <= police->tcfp_mtu || skb_is_gso(skb)) {
 		if (!police->rate_present) {
 			spin_unlock(&police->tcf_lock);
 			return police->tcfp_result;
-- 
1.8.1.2

^ permalink raw reply related

* [patch net-next v2 10/11] act_police: improved accuracy at high rates
From: Jiri Pirko @ 2013-02-08 18:59 UTC (permalink / raw)
  To: netdev; +Cc: davem, edumazet, jhs, kuznet, j.vimal
In-Reply-To: <1360349981-27801-1-git-send-email-jiri@resnulli.us>

Current act_police uses rate table computed by the "tc" userspace program,
which has the following issue:

The rate table has 256 entries to map packet lengths to
token (time units).  With TSO sized packets, the 256 entry granularity
leads to loss/gain of rate, making the token bucket inaccurate.

Thus, instead of relying on rate table, this patch explicitly computes
the time and accounts for packet transmission times with nanosecond
granularity.

This is a followup to 56b765b79e9a78dc7d3f8850ba5e5567205a3ecd

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
---
 net/sched/act_police.c | 119 +++++++++++++++++++++++--------------------------
 1 file changed, 57 insertions(+), 62 deletions(-)

diff --git a/net/sched/act_police.c b/net/sched/act_police.c
index 378a649..8723183 100644
--- a/net/sched/act_police.c
+++ b/net/sched/act_police.c
@@ -26,20 +26,19 @@ struct tcf_police {
 	struct tcf_common	common;
 	int			tcfp_result;
 	u32			tcfp_ewma_rate;
-	u32			tcfp_burst;
+	s64			tcfp_burst;
 	u32			tcfp_mtu;
-	u32			tcfp_toks;
-	u32			tcfp_ptoks;
+	s64			tcfp_toks;
+	s64			tcfp_ptoks;
 	psched_time_t		tcfp_t_c;
-	struct qdisc_rate_table	*tcfp_R_tab;
-	struct qdisc_rate_table	*tcfp_P_tab;
+	struct psched_ratecfg	rate;
+	bool			rate_present;
+	struct psched_ratecfg	peak;
+	bool			peak_present;
 };
 #define to_police(pc)	\
 	container_of(pc, struct tcf_police, common)
 
-#define L2T(p, L)   qdisc_l2t((p)->tcfp_R_tab, L)
-#define L2T_P(p, L) qdisc_l2t((p)->tcfp_P_tab, L)
-
 #define POL_TAB_MASK     15
 static struct tcf_common *tcf_police_ht[POL_TAB_MASK + 1];
 static u32 police_idx_gen;
@@ -123,10 +122,6 @@ static void tcf_police_destroy(struct tcf_police *p)
 			write_unlock_bh(&police_lock);
 			gen_kill_estimator(&p->tcf_bstats,
 					   &p->tcf_rate_est);
-			if (p->tcfp_R_tab)
-				qdisc_put_rtab(p->tcfp_R_tab);
-			if (p->tcfp_P_tab)
-				qdisc_put_rtab(p->tcfp_P_tab);
 			/*
 			 * gen_estimator est_timer() might access p->tcf_lock
 			 * or bstats, wait a RCU grace period before freeing p
@@ -154,7 +149,6 @@ static int tcf_act_police_locate(struct net *net, struct nlattr *nla,
 	struct nlattr *tb[TCA_POLICE_MAX + 1];
 	struct tc_police *parm;
 	struct tcf_police *police;
-	struct qdisc_rate_table *R_tab = NULL, *P_tab = NULL;
 	int size;
 
 	if (nla == NULL)
@@ -197,21 +191,37 @@ static int tcf_act_police_locate(struct net *net, struct nlattr *nla,
 	if (bind)
 		police->tcf_bindcnt = 1;
 override:
+	spin_lock_bh(&police->tcf_lock);
+	police->tcfp_mtu = parm->mtu;
+	police->rate_present = false;
+	police->peak_present = false;
 	if (parm->rate.rate) {
+		struct qdisc_rate_table *tab;
+
 		err = -ENOMEM;
-		R_tab = qdisc_get_rtab(&parm->rate, tb[TCA_POLICE_RATE]);
-		if (R_tab == NULL)
-			goto failure;
+		tab = qdisc_get_rtab(&parm->rate, tb[TCA_POLICE_RATE]);
+		if (!tab)
+			goto failure_unlock;
+		police->rate_present = true;
+		psched_ratecfg_precompute(&police->rate, tab->rate.rate);
+		if (!police->tcfp_mtu)
+			police->tcfp_mtu = 255 << tab->rate.cell_log;
+		qdisc_put_rtab(tab);
 
 		if (parm->peakrate.rate) {
-			P_tab = qdisc_get_rtab(&parm->peakrate,
-					       tb[TCA_POLICE_PEAKRATE]);
-			if (P_tab == NULL)
-				goto failure;
+			tab = qdisc_get_rtab(&parm->peakrate,
+					     tb[TCA_POLICE_PEAKRATE]);
+			if (!tab)
+				goto failure_unlock;
+			police->peak_present = true;
+			psched_ratecfg_precompute(&police->peak,
+						  tab->rate.rate);
+			qdisc_put_rtab(tab);
 		}
 	}
+	if (!police->tcfp_mtu)
+		police->tcfp_mtu = ~0;
 
-	spin_lock_bh(&police->tcf_lock);
 	if (est) {
 		err = gen_replace_estimator(&police->tcf_bstats,
 					    &police->tcf_rate_est,
@@ -227,26 +237,13 @@ override:
 	}
 
 	/* No failure allowed after this point */
-	if (R_tab != NULL) {
-		qdisc_put_rtab(police->tcfp_R_tab);
-		police->tcfp_R_tab = R_tab;
-	}
-	if (P_tab != NULL) {
-		qdisc_put_rtab(police->tcfp_P_tab);
-		police->tcfp_P_tab = P_tab;
-	}
-
 	if (tb[TCA_POLICE_RESULT])
 		police->tcfp_result = nla_get_u32(tb[TCA_POLICE_RESULT]);
-	police->tcfp_toks = police->tcfp_burst = parm->burst;
-	police->tcfp_mtu = parm->mtu;
-	if (police->tcfp_mtu == 0) {
-		police->tcfp_mtu = ~0;
-		if (police->tcfp_R_tab)
-			police->tcfp_mtu = 255<<police->tcfp_R_tab->rate.cell_log;
-	}
-	if (police->tcfp_P_tab)
-		police->tcfp_ptoks = L2T_P(police, police->tcfp_mtu);
+	police->tcfp_burst = PSCHED_TICKS2NS(parm->burst);
+	police->tcfp_toks = police->tcfp_burst;
+	if (police->peak_present)
+		police->tcfp_ptoks = (s64) psched_l2t_ns(&police->peak,
+							 police->tcfp_mtu);
 	police->tcf_action = parm->action;
 
 	if (tb[TCA_POLICE_AVRATE])
@@ -256,7 +253,7 @@ override:
 	if (ret != ACT_P_CREATED)
 		return ret;
 
-	police->tcfp_t_c = psched_get_time();
+	police->tcfp_t_c = ktime_to_ns(ktime_get());
 	police->tcf_index = parm->index ? parm->index :
 		tcf_hash_new_index(&police_idx_gen, &police_hash_info);
 	h = tcf_hash(police->tcf_index, POL_TAB_MASK);
@@ -270,11 +267,6 @@ override:
 
 failure_unlock:
 	spin_unlock_bh(&police->tcf_lock);
-failure:
-	if (P_tab)
-		qdisc_put_rtab(P_tab);
-	if (R_tab)
-		qdisc_put_rtab(R_tab);
 	if (ret == ACT_P_CREATED)
 		kfree(police);
 	return err;
@@ -303,8 +295,8 @@ static int tcf_act_police(struct sk_buff *skb, const struct tc_action *a,
 {
 	struct tcf_police *police = a->priv;
 	psched_time_t now;
-	long toks;
-	long ptoks = 0;
+	s64 toks;
+	s64 ptoks = 0;
 
 	spin_lock(&police->tcf_lock);
 
@@ -320,24 +312,27 @@ static int tcf_act_police(struct sk_buff *skb, const struct tc_action *a,
 	}
 
 	if (qdisc_pkt_len(skb) <= police->tcfp_mtu) {
-		if (police->tcfp_R_tab == NULL) {
+		if (!police->rate_present) {
 			spin_unlock(&police->tcf_lock);
 			return police->tcfp_result;
 		}
 
-		now = psched_get_time();
-		toks = psched_tdiff_bounded(now, police->tcfp_t_c,
-					    police->tcfp_burst);
-		if (police->tcfp_P_tab) {
+		now = ktime_to_ns(ktime_get());
+		toks = min_t(s64, now - police->tcfp_t_c,
+			     police->tcfp_burst);
+		if (police->peak_present) {
 			ptoks = toks + police->tcfp_ptoks;
-			if (ptoks > (long)L2T_P(police, police->tcfp_mtu))
-				ptoks = (long)L2T_P(police, police->tcfp_mtu);
-			ptoks -= L2T_P(police, qdisc_pkt_len(skb));
+			if (ptoks > (s64) psched_l2t_ns(&police->peak,
+							police->tcfp_mtu))
+				ptoks = (s64) psched_l2t_ns(&police->peak,
+							    police->tcfp_mtu);
+			ptoks -= (s64) psched_l2t_ns(&police->peak,
+						     qdisc_pkt_len(skb));
 		}
 		toks += police->tcfp_toks;
-		if (toks > (long)police->tcfp_burst)
+		if (toks > police->tcfp_burst)
 			toks = police->tcfp_burst;
-		toks -= L2T(police, qdisc_pkt_len(skb));
+		toks -= (s64) psched_l2t_ns(&police->rate, qdisc_pkt_len(skb));
 		if ((toks|ptoks) >= 0) {
 			police->tcfp_t_c = now;
 			police->tcfp_toks = toks;
@@ -363,15 +358,15 @@ tcf_act_police_dump(struct sk_buff *skb, struct tc_action *a, int bind, int ref)
 		.index = police->tcf_index,
 		.action = police->tcf_action,
 		.mtu = police->tcfp_mtu,
-		.burst = police->tcfp_burst,
+		.burst = PSCHED_NS2TICKS(police->tcfp_burst),
 		.refcnt = police->tcf_refcnt - ref,
 		.bindcnt = police->tcf_bindcnt - bind,
 	};
 
-	if (police->tcfp_R_tab)
-		opt.rate = police->tcfp_R_tab->rate;
-	if (police->tcfp_P_tab)
-		opt.peakrate = police->tcfp_P_tab->rate;
+	if (police->rate_present)
+		opt.rate.rate = psched_ratecfg_getrate(&police->rate);
+	if (police->peak_present)
+		opt.peakrate.rate = psched_ratecfg_getrate(&police->peak);
 	if (nla_put(skb, TCA_POLICE_TBF, sizeof(opt), &opt))
 		goto nla_put_failure;
 	if (police->tcfp_result &&
-- 
1.8.1.2

^ permalink raw reply related

* [patch net-next v2 09/11] act_police: move struct tcf_police to act_police.c
From: Jiri Pirko @ 2013-02-08 18:59 UTC (permalink / raw)
  To: netdev; +Cc: davem, edumazet, jhs, kuznet, j.vimal
In-Reply-To: <1360349981-27801-1-git-send-email-jiri@resnulli.us>

It's not used anywhere else, so move it.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
---
 include/net/act_api.h  | 15 ---------------
 net/sched/act_police.c | 15 +++++++++++++++
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/include/net/act_api.h b/include/net/act_api.h
index 112c25c..06ef7e9 100644
--- a/include/net/act_api.h
+++ b/include/net/act_api.h
@@ -35,21 +35,6 @@ struct tcf_common {
 #define tcf_lock	common.tcfc_lock
 #define tcf_rcu		common.tcfc_rcu
 
-struct tcf_police {
-	struct tcf_common	common;
-	int			tcfp_result;
-	u32			tcfp_ewma_rate;
-	u32			tcfp_burst;
-	u32			tcfp_mtu;
-	u32			tcfp_toks;
-	u32			tcfp_ptoks;
-	psched_time_t		tcfp_t_c;
-	struct qdisc_rate_table	*tcfp_R_tab;
-	struct qdisc_rate_table	*tcfp_P_tab;
-};
-#define to_police(pc)	\
-	container_of(pc, struct tcf_police, common)
-
 struct tcf_hashinfo {
 	struct tcf_common	**htab;
 	unsigned int		hmask;
diff --git a/net/sched/act_police.c b/net/sched/act_police.c
index 8dbd695..378a649 100644
--- a/net/sched/act_police.c
+++ b/net/sched/act_police.c
@@ -22,6 +22,21 @@
 #include <net/act_api.h>
 #include <net/netlink.h>
 
+struct tcf_police {
+	struct tcf_common	common;
+	int			tcfp_result;
+	u32			tcfp_ewma_rate;
+	u32			tcfp_burst;
+	u32			tcfp_mtu;
+	u32			tcfp_toks;
+	u32			tcfp_ptoks;
+	psched_time_t		tcfp_t_c;
+	struct qdisc_rate_table	*tcfp_R_tab;
+	struct qdisc_rate_table	*tcfp_P_tab;
+};
+#define to_police(pc)	\
+	container_of(pc, struct tcf_police, common)
+
 #define L2T(p, L)   qdisc_l2t((p)->tcfp_R_tab, L)
 #define L2T_P(p, L) qdisc_l2t((p)->tcfp_P_tab, L)
 
-- 
1.8.1.2

^ permalink raw reply related

* [patch net-next v2 08/11] tbf: fix value set for q->ptokens
From: Jiri Pirko @ 2013-02-08 18:59 UTC (permalink / raw)
  To: netdev; +Cc: davem, edumazet, jhs, kuznet, j.vimal
In-Reply-To: <1360349981-27801-1-git-send-email-jiri@resnulli.us>

q->ptokens is in ns and we are assigning q->mtu directly to it. That is
wrong. psched_l2t_ns() should be used to compute correct value.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Acked-by: Eric Dumazet <edumazet@google.com>
---
 net/sched/sch_tbf.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/net/sched/sch_tbf.c b/net/sched/sch_tbf.c
index dc562a8..6e8b670 100644
--- a/net/sched/sch_tbf.c
+++ b/net/sched/sch_tbf.c
@@ -165,8 +165,8 @@ static struct sk_buff *tbf_dequeue(struct Qdisc *sch)
 
 		if (q->peak_present) {
 			ptoks = toks + q->ptokens;
-			if (ptoks > (long)q->mtu)
-				ptoks = q->mtu;
+			if (ptoks > (s64) psched_l2t_ns(&q->peak, q->mtu))
+				ptoks = (s64) psched_l2t_ns(&q->peak, q->mtu);
 			ptoks -= (s64) psched_l2t_ns(&q->peak, len);
 		}
 		toks += q->tokens;
@@ -215,7 +215,8 @@ static void tbf_reset(struct Qdisc *sch)
 	sch->q.qlen = 0;
 	q->t_c = ktime_to_ns(ktime_get());
 	q->tokens = q->buffer;
-	q->ptokens = q->mtu;
+	if (q->peak_present)
+		q->ptokens = (s64) psched_l2t_ns(&q->peak, q->mtu);
 	qdisc_watchdog_cancel(&q->watchdog);
 }
 
@@ -296,11 +297,11 @@ static int tbf_change(struct Qdisc *sch, struct nlattr *opt)
 	q->max_size = max_size;
 	q->buffer = PSCHED_TICKS2NS(qopt->buffer);
 	q->tokens = q->buffer;
-	q->ptokens = q->mtu;
 
 	psched_ratecfg_precompute(&q->rate, rtab->rate.rate);
 	if (ptab) {
 		psched_ratecfg_precompute(&q->peak, ptab->rate.rate);
+		q->ptokens = (s64) psched_l2t_ns(&q->peak, q->mtu);
 		q->peak_present = true;
 	} else {
 		q->peak_present = false;
-- 
1.8.1.2

^ permalink raw reply related

* [patch net-next v2 07/11] tbf: ignore max_size check for gso skbs
From: Jiri Pirko @ 2013-02-08 18:59 UTC (permalink / raw)
  To: netdev; +Cc: davem, edumazet, jhs, kuznet, j.vimal
In-Reply-To: <1360349981-27801-1-git-send-email-jiri@resnulli.us>

This check made bigger packets incorrectly dropped. Remove this
limitation for gso skbs.

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Acked-by: Eric Dumazet <edumazet@google.com>
---
 net/sched/sch_tbf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/sched/sch_tbf.c b/net/sched/sch_tbf.c
index e05710a..dc562a8 100644
--- a/net/sched/sch_tbf.c
+++ b/net/sched/sch_tbf.c
@@ -121,7 +121,7 @@ static int tbf_enqueue(struct sk_buff *skb, struct Qdisc *sch)
 	struct tbf_sched_data *q = qdisc_priv(sch);
 	int ret;
 
-	if (qdisc_pkt_len(skb) > q->max_size)
+	if (qdisc_pkt_len(skb) > q->max_size && !skb_is_gso(skb))
 		return qdisc_reshape_fail(skb, sch);
 
 	ret = qdisc_enqueue(skb, q->qdisc);
-- 
1.8.1.2

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox