Pull s390 updates from Alexander Gordeev: - Remove unnecessary assignment of the performance event last_tag. - Create missing /sys/firmware/ipl/* attributes when kernel is booted in dump mode using List-directed ECKD IPL. - Remove odd comment. - Fix s390-specific part of scripts/checkstack.pl script that only matches three-digit numbers starting with 3 or any higher number and skips any stack sizes smaller than 304 bytes. * tag 's390-6.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: scripts/checkstack.pl: match all stack sizes for s390 s390: remove odd comment s390/ipl: add missing IPL_TYPE_ECKD_DUMP case to ipl_init() s390/pai: cleanup event initialization
Unified · Split
| @@ -228,7 +228,6 @@ typedef struct thread_struct thread_struct; · 227 unmodified lines | |||
| 228 | execve_tail(); \ | 228 | execve_tail(); \ |
| 229 | } while (0) | 229 | } while (0) |
| 230 | 230 | ||
| 231 | /* Forward declaration, a strange C thing */ | ||
| 232 | struct task_struct; | 231 | struct task_struct; |
| 233 | struct mm_struct; | 232 | struct mm_struct; |
| 234 | struct seq_file; | 233 | struct seq_file; |
| @@ -666,6 +666,7 @@ static int __init ipl_init(void) · 665 unmodified lines | |||
| 666 | &ipl_ccw_attr_group_lpar); | 666 | &ipl_ccw_attr_group_lpar); |
| 667 | break; | 667 | break; |
| 668 | case IPL_TYPE_ECKD: | 668 | case IPL_TYPE_ECKD: |
| 669 | case IPL_TYPE_ECKD_DUMP: | ||
| 669 | rc = sysfs_create_group(&ipl_kset->kobj, &ipl_eckd_attr_group); | 670 | rc = sysfs_create_group(&ipl_kset->kobj, &ipl_eckd_attr_group); |
| 670 | break; | 671 | break; |
| 671 | case IPL_TYPE_FCP: | 672 | case IPL_TYPE_FCP: |
| @@ -279,12 +279,6 @@ static int paicrypt_event_init(struct perf_event *event) · 278 unmodified lines | |||
| 279 | if (IS_ERR(cpump)) | 279 | if (IS_ERR(cpump)) |
| 280 | return PTR_ERR(cpump); | 280 | return PTR_ERR(cpump); |
| 281 | 281 | ||
| 282 | /* Event initialization sets last_tag to 0. When later on the events | ||
| 283 | * are deleted and re-added, do not reset the event count value to zero. | ||
| 284 | * Events are added, deleted and re-added when 2 or more events | ||
| 285 | * are active at the same time. | ||
| 286 | */ | ||
| 287 | event->hw.last_tag = 0; | ||
| 288 | event->destroy = paicrypt_event_destroy; | 282 | event->destroy = paicrypt_event_destroy; |
| 289 | 283 | ||
| 290 | if (a->sample_period) { | 284 | if (a->sample_period) { |
| @@ -318,6 +312,11 @@ static void paicrypt_start(struct perf_event *event, int flags) · 27 unmodified lines | |||
| 318 | { | 312 | { |
| 319 | u64 sum; | 313 | u64 sum; |
| 320 | 314 | ||
| 315 | /* Event initialization sets last_tag to 0. When later on the events | ||
| 316 | * are deleted and re-added, do not reset the event count value to zero. | ||
| 317 | * Events are added, deleted and re-added when 2 or more events | ||
| 318 | * are active at the same time. | ||
| 319 | */ | ||
| 321 | if (!event->hw.last_tag) { | 320 | if (!event->hw.last_tag) { |
| 322 | event->hw.last_tag = 1; | 321 | event->hw.last_tag = 1; |
| 323 | sum = paicrypt_getall(event); /* Get current value */ | 322 | sum = paicrypt_getall(event); /* Get current value */ |
| @@ -260,7 +260,6 @@ static int paiext_event_init(struct perf_event *event) · 259 unmodified lines | |||
| 260 | rc = paiext_alloc(a, event); | 260 | rc = paiext_alloc(a, event); |
| 261 | if (rc) | 261 | if (rc) |
| 262 | return rc; | 262 | return rc; |
| 263 | event->hw.last_tag = 0; | ||
| 264 | event->destroy = paiext_event_destroy; | 263 | event->destroy = paiext_event_destroy; |
| 265 | 264 | ||
| 266 | if (a->sample_period) { | 265 | if (a->sample_period) { |
| @@ -97,8 +97,7 @@ my (@stack, $re, $dre, $sub, $x, $xs, $funcre, $min_stack); · 96 unmodified lines | |||
| 97 | # 11160: a7 fb ff 60 aghi %r15,-160 | 97 | # 11160: a7 fb ff 60 aghi %r15,-160 |
| 98 | # or | 98 | # or |
| 99 | # 100092: e3 f0 ff c8 ff 71 lay %r15,-56(%r15) | 99 | # 100092: e3 f0 ff c8 ff 71 lay %r15,-56(%r15) |
| 100 | $re = qr/.*(?:lay|ag?hi).*\%r15,-(([0-9]{2}|[3-9])[0-9]{2}) | 100 | $re = qr/.*(?:lay|ag?hi).*\%r15,-([0-9]+)(?:\(\%r15\))?$/o; |
| 101 | (?:\(\%r15\))?$/ox; | ||
| 102 | } elsif ($arch eq 'sparc' || $arch eq 'sparc64') { | 101 | } elsif ($arch eq 'sparc' || $arch eq 'sparc64') { |
| 103 | # f0019d10: 9d e3 bf 90 save %sp, -112, %sp | 102 | # f0019d10: 9d e3 bf 90 save %sp, -112, %sp |
| 104 | $re = qr/.*save.*%sp, -(([0-9]{2}|[3-9])[0-9]{2}), %sp/o; | 103 | $re = qr/.*save.*%sp, -(([0-9]{2}|[3-9])[0-9]{2}), %sp/o; |