Laurent Dufour
f85086f95f
mm: don't rely on system state to detect hot-plug operations
...
In register_mem_sect_under_node() the system_state's value is checked to
detect whether the call is made during boot time or during an hot-plug
operation. Unfortunately, that check against SYSTEM_BOOTING is wrong
because regular memory is registered at SYSTEM_SCHEDULING state. In
addition, memory hot-plug operation can be triggered at this system
state by the ACPI [1]. So checking against the system state is not
enough.
The consequence is that on system with interleaved node's ranges like this:
Early memory node ranges
node 1: [mem 0x0000000000000000-0x000000011fffffff]
node 2: [mem 0x0000000120000000-0x000000014fffffff]
node 1: [mem 0x0000000150000000-0x00000001ffffffff]
node 0: [mem 0x0000000200000000-0x000000048fffffff]
node 2: [mem 0x0000000490000000-0x00000007ffffffff]
This can be seen on PowerPC LPAR after multiple memory hot-plug and
hot-unplug operations are done. At the next reboot the node's memory
ranges can be interleaved and since the call to link_mem_sections() is
made in topology_init() while the system is in the SYSTEM_SCHEDULING
state, the node's id is not checked, and the sections registered to
multiple nodes:
$ ls -l /sys/devices/system/memory/memory21/node*
total 0
lrwxrwxrwx 1 root root 0 Aug 24 05:27 node1 -> ../../node/node1
lrwxrwxrwx 1 root root 0 Aug 24 05:27 node2 -> ../../node/node2
In that case, the system is able to boot but if later one of theses
memory blocks is hot-unplugged and then hot-plugged, the sysfs
inconsistency is detected and this is triggering a BUG_ON():
kernel BUG at /Users/laurent/src/linux-ppc/mm/memory_hotplug.c:1084!
Oops: Exception in kernel mode, sig: 5 [#1 ]
LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
Modules linked in: rpadlpar_io rpaphp pseries_rng rng_core vmx_crypto gf128mul binfmt_misc ip_tables x_tables xfs libcrc32c crc32c_vpmsum autofs4
CPU: 8 PID: 10256 Comm: drmgr Not tainted 5.9.0-rc1+ #25
Call Trace:
add_memory_resource+0x23c/0x340 (unreliable)
__add_memory+0x5c/0xf0
dlpar_add_lmb+0x1b4/0x500
dlpar_memory+0x1f8/0xb80
handle_dlpar_errorlog+0xc0/0x190
dlpar_store+0x198/0x4a0
kobj_attr_store+0x30/0x50
sysfs_kf_write+0x64/0x90
kernfs_fop_write+0x1b0/0x290
vfs_write+0xe8/0x290
ksys_write+0xdc/0x130
system_call_exception+0x160/0x270
system_call_common+0xf0/0x27c
This patch addresses the root cause by not relying on the system_state
value to detect whether the call is due to a hot-plug operation. An
extra parameter is added to link_mem_sections() detailing whether the
operation is due to a hot-plug operation.
[1] According to Oscar Salvador, using this qemu command line, ACPI
memory hotplug operations are raised at SYSTEM_SCHEDULING state:
$QEMU -enable-kvm -machine pc -smp 4,sockets=4,cores=1,threads=1 -cpu host -monitor pty \
-m size=$MEM,slots=255,maxmem=4294967296k \
-numa node,nodeid=0,cpus=0-3,mem=512 -numa node,nodeid=1,mem=512 \
-object memory-backend-ram,id=memdimm0,size=134217728 -device pc-dimm,node=0,memdev=memdimm0,id=dimm0,slot=0 \
-object memory-backend-ram,id=memdimm1,size=134217728 -device pc-dimm,node=0,memdev=memdimm1,id=dimm1,slot=1 \
-object memory-backend-ram,id=memdimm2,size=134217728 -device pc-dimm,node=0,memdev=memdimm2,id=dimm2,slot=2 \
-object memory-backend-ram,id=memdimm3,size=134217728 -device pc-dimm,node=0,memdev=memdimm3,id=dimm3,slot=3 \
-object memory-backend-ram,id=memdimm4,size=134217728 -device pc-dimm,node=1,memdev=memdimm4,id=dimm4,slot=4 \
-object memory-backend-ram,id=memdimm5,size=134217728 -device pc-dimm,node=1,memdev=memdimm5,id=dimm5,slot=5 \
-object memory-backend-ram,id=memdimm6,size=134217728 -device pc-dimm,node=1,memdev=memdimm6,id=dimm6,slot=6 \
Fixes: 4fbce63391
("mm/memory_hotplug.c: make register_mem_sect_under_node() a callback of walk_memory_range()")
Signed-off-by: Laurent Dufour <ldufour@linux.ibm.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Reviewed-by: David Hildenbrand <david@redhat.com >
Reviewed-by: Oscar Salvador <osalvador@suse.de >
Acked-by: Michal Hocko <mhocko@suse.com >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: "Rafael J. Wysocki" <rafael@kernel.org >
Cc: Fenghua Yu <fenghua.yu@intel.com >
Cc: Nathan Lynch <nathanl@linux.ibm.com >
Cc: Scott Cheloha <cheloha@linux.ibm.com >
Cc: Tony Luck <tony.luck@intel.com >
Cc: <stable@vger.kernel.org >
Link: https://lkml.kernel.org/r/20200915094143.79181-3-ldufour@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-09-26 10:33:57 -07:00
..
2020-06-30 00:32:59 +02:00
2020-05-22 20:47:21 -07:00
2020-06-15 23:08:31 -05:00
2020-08-24 10:33:08 +02:00
2020-07-24 02:19:08 -07:00
2020-08-03 11:05:26 +02:00
2020-07-31 11:49:08 +02:00
2020-08-12 10:57:59 -07:00
2020-08-03 18:19:23 -07:00
2020-08-05 11:43:47 -07:00
2020-04-19 16:56:21 +01:00
2020-08-05 20:13:21 -07:00
2020-08-04 01:22:02 +02:00
2020-05-13 13:59:13 +02:00
2020-07-13 15:07:34 +01:00
2020-07-08 22:31:51 -07:00
2020-08-12 10:57:59 -07:00
2020-08-07 12:58:11 -07:00
2020-08-15 08:09:38 -07:00
2020-06-05 14:05:57 -07:00
2020-08-06 16:43:36 -07:00
2020-08-05 20:13:21 -07:00
2020-08-07 08:54:16 +02:00
2020-06-25 22:25:13 -07:00
2020-08-28 20:11:58 +02:00
2020-06-25 00:50:31 +02:00
2020-06-25 00:50:31 +02:00
2020-05-18 19:30:56 +05:30
2020-08-15 08:18:22 -07:00
2020-07-29 22:33:10 +02:00
2020-09-09 14:28:18 -07:00
2020-07-16 15:35:21 +02:00
2020-07-17 00:16:50 +01:00
2020-07-28 17:11:02 -07:00
2020-06-16 14:19:57 +02:00
2020-05-07 11:04:38 -07:00
2020-08-17 09:39:18 -07:00
2020-08-16 22:00:22 +01:00
2020-07-21 16:05:40 +05:30
2020-07-27 14:55:22 +01:00
2020-08-15 08:26:55 -07:00
2020-08-05 20:13:21 -07:00
2020-07-15 20:34:02 -07:00
2020-07-28 15:51:31 +01:00
2020-08-04 18:11:58 -07:00
2020-07-22 10:22:05 +02:00
2020-08-03 19:30:59 -07:00
2020-08-12 10:57:59 -07:00
2020-07-19 18:16:40 -07:00
2020-06-11 08:03:24 +02:00
2020-06-25 08:23:22 -07:00
2020-06-11 08:03:24 +02:00
2020-07-21 11:12:31 -04:00
2020-07-08 17:20:46 -06:00
2020-07-08 17:20:46 -06:00
2020-07-20 10:27:11 +01:00
2020-05-24 20:48:11 +02:00
2020-07-21 08:24:52 -05:00
2020-06-29 09:09:08 -06:00
2020-08-10 12:16:51 -07:00
2020-06-04 19:06:25 -07:00
2020-07-08 10:48:35 -07:00
2020-07-17 07:15:10 -06:00
2020-07-08 17:05:53 -06:00
2020-05-14 09:48:03 -06:00
2020-07-28 10:22:19 -06:00
2020-08-05 11:12:34 -07:00
2020-07-17 20:18:16 -07:00
2020-06-22 22:22:58 +02:00
2020-07-25 20:16:35 -07:00
2020-07-17 20:18:16 -07:00
2020-08-06 16:39:14 -07:00
2020-07-24 15:41:54 -07:00
2020-05-15 10:56:31 -07:00
2020-06-11 15:14:53 +02:00
2020-07-21 13:26:26 -07:00
2020-06-25 16:17:05 +02:00
2020-08-12 10:57:59 -07:00
2020-06-24 09:16:02 -06:00
2020-09-02 20:59:40 -06:00
2020-06-09 09:39:16 -07:00
2020-07-19 20:14:42 +02:00
2020-06-15 23:08:31 -05:00
2020-07-08 16:20:01 -06:00
2020-07-09 16:28:44 -07:00
2020-07-07 13:34:11 -07:00
2020-08-03 15:07:18 -07:00
2020-08-12 10:57:56 -07:00
2020-08-23 17:36:59 -05:00
2020-08-27 09:53:06 +02:00
2020-08-29 09:29:32 +02:00
2020-08-12 10:57:59 -07:00
2020-08-04 13:49:43 -07:00
2020-08-03 14:25:40 -07:00
2020-05-05 09:23:25 -06:00
2020-06-24 17:08:33 +02:00
2020-06-24 17:08:31 +02:00
2020-06-11 15:14:36 +02:00
2020-07-24 13:56:23 +02:00
2020-04-27 02:06:53 -04:00
2020-07-21 15:48:40 +02:00
2020-05-14 11:11:20 +02:00
2020-05-19 12:55:29 +02:00
2020-04-18 15:44:55 -05:00
2020-06-17 17:28:08 +02:00
2020-08-27 12:51:25 +02:00
2020-09-17 18:12:18 +01:00
2020-09-16 19:36:26 +02:00
2020-08-12 10:58:01 -07:00
2020-06-09 09:39:13 -07:00
2020-07-16 21:49:09 +10:00
2020-06-24 09:16:02 -06:00
2020-09-21 06:53:09 -07:00
2020-07-29 16:14:27 +02:00
2020-06-11 15:15:28 +02:00
2020-07-10 13:54:00 -07:00
2020-08-12 10:57:59 -07:00
2020-06-08 11:05:56 -07:00
2020-07-30 19:26:10 +02:00
2020-07-30 17:22:57 +09:00
2020-06-01 16:44:06 -07:00
2020-08-03 11:57:03 -07:00
2020-09-10 19:19:42 +02:00
2020-04-18 15:44:54 -05:00
2020-04-18 15:44:54 -05:00
2020-06-05 14:59:41 -04:00
2020-07-10 15:39:29 +05:30
2020-08-14 15:22:43 -07:00
2020-08-14 16:27:00 +02:00
2020-07-21 09:42:19 +02:00
2020-08-14 16:27:00 +02:00
2020-06-09 09:39:13 -07:00
2020-07-29 16:14:25 +02:00
2020-08-07 12:41:36 -07:00
2020-07-24 14:33:39 +02:00
2020-09-04 17:21:56 +02:00
2020-08-06 16:13:13 +02:00
2020-06-16 19:25:20 +02:00
2020-09-10 18:19:16 +02:00
2020-08-07 11:33:28 -07:00
2020-05-29 10:23:24 -06:00
2020-07-27 14:29:22 -04:00
2020-07-27 14:29:23 -04:00
2020-06-04 19:06:25 -07:00
2020-04-18 15:44:54 -05:00
2020-06-24 17:16:42 +02:00
2020-09-04 15:50:14 +02:00
2020-07-24 15:03:42 +02:00
2020-05-04 11:19:58 -07:00
2020-06-05 13:17:05 -07:00
2020-07-08 12:39:05 -07:00
2020-08-12 10:57:59 -07:00
2020-07-27 23:24:00 +02:00
2020-08-04 07:37:23 +02:00
2020-06-17 00:07:38 +02:00
2020-06-03 23:16:55 -04:00
2020-07-13 11:03:45 -07:00
2020-08-23 17:36:59 -05:00
2020-04-17 09:59:39 +02:00
2020-04-30 20:14:33 +02:00
2020-07-17 13:12:44 -04:00
2020-08-12 10:57:57 -07:00
2020-07-14 14:45:41 +02:00
2020-09-16 19:12:27 -04:00
2020-07-29 16:14:27 +02:00
2020-08-28 10:57:14 -07:00
2020-06-15 23:08:31 -05:00
2020-05-05 09:22:20 -06:00
2020-07-21 16:02:13 -07:00
2020-07-27 23:25:50 +02:00
2020-07-27 23:24:00 +02:00
2020-07-21 16:02:41 -07:00
2020-05-19 15:51:18 +02:00
2020-09-19 13:13:39 -07:00
2020-05-15 16:34:52 +02:00
2020-04-18 15:44:54 -05:00
2020-08-12 10:57:59 -07:00
2020-07-17 20:18:00 -06:00
2020-06-03 20:09:45 -07:00
2020-07-10 12:00:01 +02:00
2020-07-20 17:00:02 -07:00
2020-06-24 15:45:51 +10:00
2020-09-01 12:06:41 +02:00
2020-08-12 10:57:57 -07:00
2020-07-10 16:24:28 -03:00
2020-07-17 16:06:14 +02:00
2020-08-06 16:13:13 +02:00
2020-08-14 19:56:56 -07:00
2020-08-12 10:58:02 -07:00
2020-08-06 17:54:04 +02:00
2020-05-28 07:59:45 -07:00
2020-06-20 09:16:19 +00:00
2020-09-09 10:22:40 +02:00
2020-05-15 11:23:49 +02:00
2020-05-29 12:53:04 +02:00
2020-08-13 18:41:00 -07:00
2020-07-24 17:12:41 -07:00
2020-06-19 13:41:59 -07:00
2020-05-19 12:54:05 +02:00
2020-05-28 10:31:09 +02:00
2020-08-03 10:54:54 +02:00
2020-07-14 13:46:42 -07:00
2020-05-11 13:19:00 -07:00
2020-07-07 15:48:38 -07:00
2020-05-20 20:31:27 -04:00
2020-04-18 15:44:55 -05:00
2020-07-20 13:28:16 -04:00
2020-06-23 15:11:19 -07:00
2020-04-30 12:54:01 -07:00
2020-08-04 21:02:38 -04:00
2020-07-30 08:22:33 +02:00
2020-07-24 13:56:23 +02:00
2020-07-27 14:17:36 +02:00
2020-07-24 14:33:39 +02:00
2020-05-18 15:37:25 +02:00
2020-06-16 16:43:23 +03:00
2020-06-10 14:04:39 -07:00
2020-07-30 11:16:01 -07:00
2020-08-14 19:56:57 -07:00
2020-08-14 19:56:57 -07:00
2020-07-24 12:42:42 -07:00
2020-07-24 14:29:47 +02:00
2020-06-05 16:19:28 -07:00
2020-07-29 14:42:00 +02:00
2020-05-06 11:29:25 +03:00
2020-06-07 10:59:32 -07:00
2020-06-08 11:05:56 -07:00
2020-07-24 17:12:41 -07:00
2020-05-18 10:30:21 +01:00
2020-06-28 17:01:20 +02:00
2020-07-27 16:20:40 +02:00
2020-07-27 08:55:04 +01:00
2020-07-04 10:02:06 +02:00
2020-05-18 10:29:26 +01:00
2020-08-26 12:41:56 +02:00
2020-07-04 10:02:06 +02:00
2020-08-21 11:03:38 -07:00
2020-08-23 17:36:59 -05:00
2020-06-19 14:17:05 -06:00
2020-07-08 15:59:57 -07:00
2020-08-07 11:33:28 -07:00
2020-05-12 13:28:33 +09:00
2020-06-26 10:01:08 -06:00
2020-06-02 15:15:46 +01:00
2020-08-28 11:21:20 -07:00
2020-07-29 23:47:53 +10:00
2020-05-19 15:42:22 +01:00
2020-05-14 09:46:54 -06:00
2020-07-09 20:12:19 -07:00
2020-05-30 10:34:03 -07:00
2020-04-20 15:45:22 -06:00
2020-07-23 10:33:12 +02:00
2020-09-18 14:27:24 -04:00
2020-09-04 09:25:20 -07:00
2020-06-11 13:25:53 -07:00
2020-08-06 16:13:13 +02:00
2020-08-21 14:04:14 +01:00
2020-07-29 16:14:29 +02:00
2020-07-09 13:29:42 -04:00
2020-04-27 02:07:40 -04:00
2020-07-22 14:41:29 +02:00
2020-08-12 10:57:59 -07:00
2020-07-22 14:42:07 +02:00
2020-09-02 11:31:23 -06:00
2020-07-28 19:29:22 -06:00
2020-07-01 07:27:24 -06:00
2020-05-08 18:18:11 +01:00
2020-04-18 17:43:09 +02:00
2020-07-20 17:59:43 -07:00
2020-04-18 15:44:55 -05:00
2020-08-02 20:39:44 -07:00
2020-05-08 00:12:42 +02:00
2020-05-28 10:31:09 +02:00
2020-05-28 10:31:09 +02:00
2020-07-28 10:45:46 +02:00
2020-08-26 12:41:53 +02:00
2020-09-05 12:14:30 -07:00
2020-05-19 15:47:38 +01:00
2020-08-11 14:30:36 -07:00
2020-08-11 14:30:36 -07:00
2020-06-22 16:28:34 -07:00
2020-08-07 21:27:37 -07:00
2020-06-26 13:40:09 -07:00
2020-07-10 15:08:09 +02:00
2020-08-14 19:56:57 -07:00
2020-06-10 13:42:09 -07:00
2020-08-12 10:57:56 -07:00
2020-09-04 09:59:59 +02:00
2020-05-28 11:22:13 +02:00
2020-05-22 09:35:43 +02:00
2020-07-23 09:35:36 +02:00
2020-08-12 10:58:02 -07:00
2020-08-14 19:56:56 -07:00
2020-08-14 19:56:56 -07:00
2020-09-26 10:33:57 -07:00
2020-08-07 11:33:26 -07:00
2020-06-09 09:39:14 -07:00
2020-08-26 12:41:53 +02:00
2020-08-07 11:33:21 -07:00
2020-09-26 10:33:57 -07:00
2020-05-13 11:41:22 +02:00
2020-07-23 09:12:15 +02:00
2020-08-05 10:31:28 +02:00
2020-05-19 11:42:16 +01:00
2020-07-20 10:39:54 +02:00
2020-06-09 15:40:50 -07:00
2020-06-02 10:59:07 -07:00
2020-07-31 18:08:59 +10:00
2020-07-24 15:41:54 -07:00
2020-07-24 15:41:54 -07:00
2020-08-06 16:13:13 +02:00
2020-07-24 15:41:54 -07:00
2020-09-10 13:30:22 -07:00
2020-09-07 12:46:58 -07:00
2020-08-13 04:16:15 +02:00
2020-07-24 15:41:54 -07:00
2020-07-15 07:45:25 -07:00
2020-08-15 08:26:55 -07:00
2020-07-13 17:52:45 -04:00
2020-07-13 17:52:46 -04:00
2020-07-13 17:52:45 -04:00
2020-04-27 02:07:40 -04:00
2020-09-26 10:33:57 -07:00
2020-07-21 10:50:36 +01:00
2020-05-09 13:57:12 +02:00
2020-06-05 20:02:08 -04:00
2020-07-29 07:45:20 +02:00
2020-05-09 16:18:33 -06:00
2020-07-29 07:45:21 +02:00
2020-07-29 17:12:08 +02:00
2020-07-29 17:12:08 +02:00
2020-07-28 22:49:52 +02:00
2020-07-28 15:51:32 +01:00
2020-07-01 10:49:02 +02:00
2020-07-28 15:51:32 +01:00
2020-07-28 15:51:32 +01:00
2020-06-30 15:57:34 -07:00
2020-05-12 22:45:39 +02:00
2020-08-03 19:30:59 -07:00
2020-08-12 10:57:56 -07:00
2020-06-16 20:45:08 -07:00
2020-07-23 17:34:18 +10:00
2020-06-02 10:59:09 -07:00
2020-07-16 12:32:25 -07:00
2020-06-04 15:36:52 -04:00
2020-08-07 11:33:29 -07:00
2020-08-14 19:56:56 -07:00
2020-04-23 17:05:39 +02:00
2020-05-15 13:51:28 -07:00
2020-05-27 05:21:23 -06:00
2020-08-12 12:09:36 -07:00
2020-06-04 12:59:16 -05:00
2020-07-24 09:50:41 -05:00
2020-05-07 09:29:43 +01:00
2020-05-22 12:35:07 +01:00
2020-08-07 18:48:15 -07:00
2020-08-07 11:33:26 -07:00
2020-07-21 10:50:37 +01:00
2020-09-16 16:26:56 +02:00
2020-08-05 20:13:21 -07:00
2020-09-26 10:33:57 -07:00
2020-08-03 15:01:02 -07:00
2020-08-17 11:46:22 -07:00
2020-04-22 10:51:21 -05:00
2020-06-04 13:54:34 -07:00
2020-06-13 09:56:21 -07:00
2020-04-28 17:44:33 +02:00
2020-07-28 17:07:06 -07:00
2020-07-14 15:14:27 +02:00
2020-08-04 12:44:53 +02:00
2020-08-04 12:39:28 +02:00
2020-07-27 13:52:36 +02:00
2020-04-22 11:36:11 +02:00
2020-08-12 10:57:59 -07:00
2020-04-18 15:44:55 -05:00
2020-08-06 16:50:59 +02:00
2020-07-31 14:33:56 +02:00
2020-09-10 19:27:59 +02:00
2020-08-03 23:24:26 -07:00
2020-05-19 15:51:17 +02:00
2020-07-27 17:46:24 +09:00
2020-07-25 20:16:32 -07:00
2020-05-09 13:57:12 +02:00
2020-07-19 14:16:09 +02:00
2020-05-20 19:10:37 +01:00
2020-06-15 14:10:03 +02:00
2020-06-15 17:38:53 +10:00
2020-05-31 19:49:00 -07:00
2020-05-30 10:34:03 -07:00
2020-05-31 19:49:00 -07:00
2020-05-30 10:34:03 -07:00
2020-06-02 10:59:10 -07:00
2020-05-15 13:48:59 -07:00
2020-07-21 10:50:37 +01:00
2020-06-17 20:42:11 +02:00
2020-07-24 22:09:54 -04:00
2020-07-13 22:43:43 -07:00
2020-05-28 10:31:09 +02:00
2020-08-03 23:24:26 -07:00
2020-04-14 15:58:08 +02:00
2020-07-27 17:46:24 +09:00
2020-07-27 17:46:24 +09:00
2020-04-21 10:29:19 -06:00
2020-04-21 10:29:19 -06:00
2020-06-29 11:58:11 -07:00
2020-08-03 14:39:35 -07:00
2020-06-29 12:00:46 -07:00
2020-04-27 11:03:51 -07:00
2020-06-29 11:59:26 -07:00
2020-06-29 11:59:26 -07:00
2020-06-29 11:59:25 -07:00
2020-05-20 03:39:40 -04:00
2020-07-17 00:03:11 +01:00
2020-07-27 14:31:13 -04:00
2020-04-20 15:45:22 -06:00
2020-08-04 20:16:37 -07:00
2020-07-28 17:09:49 -07:00
2020-06-30 17:18:56 -04:00
2020-04-18 15:44:56 -05:00
2020-06-09 09:39:14 -07:00
2020-07-21 14:07:51 -07:00
2020-04-18 15:44:56 -05:00
2020-07-16 13:35:25 +02:00
2020-07-22 13:39:31 +02:00
2020-07-16 23:19:51 +02:00
2020-07-06 16:07:25 +02:00
2020-07-20 11:50:47 +01:00
2020-08-26 12:41:51 +02:00
2020-07-13 09:40:21 +01:00
2020-05-18 17:47:48 +01:00
2020-06-15 23:08:32 -05:00
2020-08-04 21:00:11 -07:00
2020-06-14 11:39:31 -07:00
2020-06-04 19:06:26 -07:00
2020-08-06 16:13:13 +02:00
2020-07-29 17:14:38 +02:00
2020-09-16 13:22:44 +02:00
2020-06-11 15:19:17 +02:00
2020-08-07 11:33:24 -07:00
2020-08-23 17:36:59 -05:00
2020-09-09 11:04:39 -07:00
2020-06-30 10:46:39 -07:00
2020-08-07 11:33:25 -07:00
2020-08-07 11:33:25 -07:00
2020-08-07 11:33:25 -07:00
2020-06-28 17:01:20 +02:00
2020-06-28 17:01:20 +02:00
2020-06-30 09:34:23 -04:00
2020-08-10 12:06:44 -07:00
2020-06-17 18:33:13 +02:00
2020-06-17 18:33:13 +02:00
2020-05-17 14:10:07 -06:00
2020-09-19 13:13:39 -07:00
2020-06-10 19:14:18 -07:00
2020-05-14 16:44:24 +02:00
2020-04-21 15:54:45 -07:00
2020-07-15 12:45:06 +03:00
2020-06-03 20:09:42 -07:00
2020-07-28 19:28:32 -06:00
2020-04-30 20:14:41 +02:00
2020-08-12 10:57:56 -07:00
2020-08-14 19:56:56 -07:00
2020-08-14 19:56:56 -07:00
2020-07-25 19:34:48 -06:00
2020-05-15 14:53:19 +02:00
2020-06-30 12:18:08 -06:00
2020-07-27 14:11:22 +02:00
2020-07-31 17:00:44 -07:00
2020-05-25 23:15:03 +02:00
2020-07-07 15:55:21 +02:00
2020-06-22 19:58:06 +03:00
2020-04-18 15:44:56 -05:00
2020-06-15 23:08:32 -05:00
2020-07-08 11:14:22 +02:00
2020-08-06 16:13:13 +02:00
2020-06-18 11:37:03 +02:00
2020-04-27 02:07:40 -04:00
2020-06-29 12:01:44 -07:00
2020-07-24 08:16:01 +03:00
2020-07-24 09:26:23 +03:00
2020-08-07 17:05:01 -04:00
2020-08-03 13:34:37 -04:00
2020-05-04 09:16:37 -07:00
2020-07-29 16:14:18 +02:00
2020-06-04 15:50:42 -07:00
2020-05-29 14:52:53 +02:00
2020-08-12 10:57:59 -07:00
2020-06-30 09:34:23 -04:00
2020-07-04 09:35:36 -05:00
2020-07-15 16:48:11 +02:00
2020-07-07 11:58:59 -05:00
2020-07-20 15:04:32 +02:00
2020-07-10 13:45:32 +02:00
2020-08-05 19:00:23 -04:00
2020-04-25 20:18:53 -07:00
2020-05-13 12:42:46 -05:00
2020-05-28 15:53:29 -06:00
2020-08-01 11:28:17 +02:00
2020-08-06 16:13:13 +02:00
2020-08-05 11:08:41 -04:00
2020-08-05 19:56:03 -04:00
2020-05-28 16:31:30 -07:00
2020-08-05 09:30:19 -04:00
2020-04-27 10:18:01 -07:00
2020-04-17 06:05:30 -04:00
2020-09-04 09:31:54 -07:00
2020-06-26 00:27:38 -07:00
2020-08-07 11:33:24 -07:00
2020-07-10 14:55:25 +02:00
2020-06-02 02:45:13 -04:00
2020-06-24 17:08:31 +02:00
2020-09-17 10:26:41 -07:00
2020-05-19 15:08:24 +01:00
2020-08-05 18:43:02 +02:00
2020-08-12 10:57:59 -07:00
2020-06-01 11:02:28 -04:00
2020-06-05 16:19:28 -07:00
2020-08-06 16:13:13 +02:00
2020-06-08 11:05:56 -07:00
2020-08-09 13:58:04 -07:00
2020-08-12 10:57:59 -07:00
2020-08-12 10:57:59 -07:00
2020-08-12 10:57:59 -07:00
2020-06-02 10:59:10 -07:00