diff options
| author | Cliff Wickman <cpw@sgi.com> | 2010-06-02 17:22:02 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2010-06-08 15:13:45 -0400 |
| commit | 4faca1550838708d71f6eea14cdacb0876c3a5a4 (patch) | |
| tree | 29e99a3673d2e7f54a986f4c0c763f779944a168 | |
| parent | 712157aa703a01f58c7c17452096ab00b774d0a9 (diff) | |
x86, UV: BAU structure rearranging
Move some structure definitions from the C code to the BAU
header file, and change the organization of that header file a
little.
Signed-off-by: Cliff Wickman <cpw@sgi.com>
Cc: gregkh@suse.de
LKML-Reference: <E1OJvNy-0004aI-54@eag09.americas.sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
| -rw-r--r-- | arch/x86/include/asm/uv/uv_bau.h | 90 | ||||
| -rw-r--r-- | arch/x86/kernel/tlb_uv.c | 12 |
2 files changed, 51 insertions, 51 deletions
diff --git a/arch/x86/include/asm/uv/uv_bau.h b/arch/x86/include/asm/uv/uv_bau.h index 6a42d42eb8f9..1c8f1e9bf74f 100644 --- a/arch/x86/include/asm/uv/uv_bau.h +++ b/arch/x86/include/asm/uv/uv_bau.h | |||
| @@ -322,6 +322,57 @@ struct bau_payload_queue_entry { | |||
| 322 | /* bytes 24-31 */ | 322 | /* bytes 24-31 */ |
| 323 | }; | 323 | }; |
| 324 | 324 | ||
| 325 | struct msg_desc { | ||
| 326 | struct bau_payload_queue_entry *msg; | ||
| 327 | int msg_slot; | ||
| 328 | int sw_ack_slot; | ||
| 329 | struct bau_payload_queue_entry *va_queue_first; | ||
| 330 | struct bau_payload_queue_entry *va_queue_last; | ||
| 331 | }; | ||
| 332 | |||
| 333 | struct reset_args { | ||
| 334 | int sender; | ||
| 335 | }; | ||
| 336 | |||
| 337 | /* | ||
| 338 | * This structure is allocated per_cpu for UV TLB shootdown statistics. | ||
| 339 | */ | ||
| 340 | struct ptc_stats { | ||
| 341 | /* sender statistics */ | ||
| 342 | unsigned long s_giveup; /* number of fall backs to IPI-style flushes */ | ||
| 343 | unsigned long s_requestor; /* number of shootdown requests */ | ||
| 344 | unsigned long s_stimeout; /* source side timeouts */ | ||
| 345 | unsigned long s_dtimeout; /* destination side timeouts */ | ||
| 346 | unsigned long s_time; /* time spent in sending side */ | ||
| 347 | unsigned long s_retriesok; /* successful retries */ | ||
| 348 | unsigned long s_ntargcpu; /* total number of cpu's targeted */ | ||
| 349 | unsigned long s_ntarguvhub; /* total number of uvhubs targeted */ | ||
| 350 | unsigned long s_ntarguvhub16; /* number of times target hubs >= 16*/ | ||
| 351 | unsigned long s_ntarguvhub8; /* number of times target hubs >= 8 */ | ||
| 352 | unsigned long s_ntarguvhub4; /* number of times target hubs >= 4 */ | ||
| 353 | unsigned long s_ntarguvhub2; /* number of times target hubs >= 2 */ | ||
| 354 | unsigned long s_ntarguvhub1; /* number of times target hubs == 1 */ | ||
| 355 | unsigned long s_resets_plug; /* ipi-style resets from plug state */ | ||
| 356 | unsigned long s_resets_timeout; /* ipi-style resets from timeouts */ | ||
| 357 | unsigned long s_busy; /* status stayed busy past s/w timer */ | ||
| 358 | unsigned long s_throttles; /* waits in throttle */ | ||
| 359 | unsigned long s_retry_messages; /* retry broadcasts */ | ||
| 360 | unsigned long s_bau_reenabled; /* for bau enable/disable */ | ||
| 361 | unsigned long s_bau_disabled; /* for bau enable/disable */ | ||
| 362 | /* destination statistics */ | ||
| 363 | unsigned long d_alltlb; /* times all tlb's on this cpu were flushed */ | ||
| 364 | unsigned long d_onetlb; /* times just one tlb on this cpu was flushed */ | ||
| 365 | unsigned long d_multmsg; /* interrupts with multiple messages */ | ||
| 366 | unsigned long d_nomsg; /* interrupts with no message */ | ||
| 367 | unsigned long d_time; /* time spent on destination side */ | ||
| 368 | unsigned long d_requestee; /* number of messages processed */ | ||
| 369 | unsigned long d_retries; /* number of retry messages processed */ | ||
| 370 | unsigned long d_canceled; /* number of messages canceled by retries */ | ||
| 371 | unsigned long d_nocanceled; /* retries that found nothing to cancel */ | ||
| 372 | unsigned long d_resets; /* number of ipi-style requests processed */ | ||
| 373 | unsigned long d_rcanceled; /* number of messages canceled by resets */ | ||
| 374 | }; | ||
| 375 | |||
| 325 | /* | 376 | /* |
| 326 | * one per-cpu; to locate the software tables | 377 | * one per-cpu; to locate the software tables |
| 327 | */ | 378 | */ |
| @@ -369,45 +420,6 @@ struct bau_control { | |||
| 369 | long period_requests; | 420 | long period_requests; |
| 370 | }; | 421 | }; |
| 371 | 422 | ||
| 372 | /* | ||
| 373 | * This structure is allocated per_cpu for UV TLB shootdown statistics. | ||
| 374 | */ | ||
| 375 | struct ptc_stats { | ||
| 376 | /* sender statistics */ | ||
| 377 | unsigned long s_giveup; /* number of fall backs to IPI-style flushes */ | ||
| 378 | unsigned long s_requestor; /* number of shootdown requests */ | ||
| 379 | unsigned long s_stimeout; /* source side timeouts */ | ||
| 380 | unsigned long s_dtimeout; /* destination side timeouts */ | ||
| 381 | unsigned long s_time; /* time spent in sending side */ | ||
| 382 | unsigned long s_retriesok; /* successful retries */ | ||
| 383 | unsigned long s_ntargcpu; /* number of cpus targeted */ | ||
| 384 | unsigned long s_ntarguvhub; /* number of uvhubs targeted */ | ||
| 385 | unsigned long s_ntarguvhub16; /* number of times >= 16 target hubs */ | ||
| 386 | unsigned long s_ntarguvhub8; /* number of times >= 8 target hubs */ | ||
| 387 | unsigned long s_ntarguvhub4; /* number of times >= 4 target hubs */ | ||
| 388 | unsigned long s_ntarguvhub2; /* number of times >= 2 target hubs */ | ||
| 389 | unsigned long s_ntarguvhub1; /* number of times == 1 target hub */ | ||
| 390 | unsigned long s_resets_plug; /* ipi-style resets from plug state */ | ||
| 391 | unsigned long s_resets_timeout; /* ipi-style resets from timeouts */ | ||
| 392 | unsigned long s_busy; /* status stayed busy past s/w timer */ | ||
| 393 | unsigned long s_throttles; /* waits in throttle */ | ||
| 394 | unsigned long s_retry_messages; /* retry broadcasts */ | ||
| 395 | unsigned long s_bau_reenabled; /* for bau enable/disable */ | ||
| 396 | unsigned long s_bau_disabled; /* for bau enable/disable */ | ||
| 397 | /* destination statistics */ | ||
| 398 | unsigned long d_alltlb; /* times all tlb's on this cpu were flushed */ | ||
| 399 | unsigned long d_onetlb; /* times just one tlb on this cpu was flushed */ | ||
| 400 | unsigned long d_multmsg; /* interrupts with multiple messages */ | ||
| 401 | unsigned long d_nomsg; /* interrupts with no message */ | ||
| 402 | unsigned long d_time; /* time spent on destination side */ | ||
| 403 | unsigned long d_requestee; /* number of messages processed */ | ||
| 404 | unsigned long d_retries; /* number of retry messages processed */ | ||
| 405 | unsigned long d_canceled; /* number of messages canceled by retries */ | ||
| 406 | unsigned long d_nocanceled; /* retries that found nothing to cancel */ | ||
| 407 | unsigned long d_resets; /* number of ipi-style requests processed */ | ||
| 408 | unsigned long d_rcanceled; /* number of messages canceled by resets */ | ||
| 409 | }; | ||
| 410 | |||
| 411 | static inline int bau_uvhub_isset(int uvhub, struct bau_target_uvhubmask *dstp) | 423 | static inline int bau_uvhub_isset(int uvhub, struct bau_target_uvhubmask *dstp) |
| 412 | { | 424 | { |
| 413 | return constant_test_bit(uvhub, &dstp->bits[0]); | 425 | return constant_test_bit(uvhub, &dstp->bits[0]); |
diff --git a/arch/x86/kernel/tlb_uv.c b/arch/x86/kernel/tlb_uv.c index 261b9653cde5..d75929039846 100644 --- a/arch/x86/kernel/tlb_uv.c +++ b/arch/x86/kernel/tlb_uv.c | |||
| @@ -23,14 +23,6 @@ | |||
| 23 | #include <asm/irq_vectors.h> | 23 | #include <asm/irq_vectors.h> |
| 24 | #include <asm/timer.h> | 24 | #include <asm/timer.h> |
| 25 | 25 | ||
| 26 | struct msg_desc { | ||
| 27 | struct bau_payload_queue_entry *msg; | ||
| 28 | int msg_slot; | ||
| 29 | int sw_ack_slot; | ||
| 30 | struct bau_payload_queue_entry *va_queue_first; | ||
| 31 | struct bau_payload_queue_entry *va_queue_last; | ||
| 32 | }; | ||
| 33 | |||
| 34 | /* timeouts in nanoseconds (indexed by UVH_AGING_PRESCALE_SEL urgency7 30:28) */ | 26 | /* timeouts in nanoseconds (indexed by UVH_AGING_PRESCALE_SEL urgency7 30:28) */ |
| 35 | static int timeout_base_ns[] = { | 27 | static int timeout_base_ns[] = { |
| 36 | 20, | 28 | 20, |
| @@ -79,10 +71,6 @@ static DEFINE_PER_CPU(struct ptc_stats, ptcstats); | |||
| 79 | static DEFINE_PER_CPU(struct bau_control, bau_control); | 71 | static DEFINE_PER_CPU(struct bau_control, bau_control); |
| 80 | static DEFINE_PER_CPU(cpumask_var_t, uv_flush_tlb_mask); | 72 | static DEFINE_PER_CPU(cpumask_var_t, uv_flush_tlb_mask); |
| 81 | 73 | ||
| 82 | struct reset_args { | ||
| 83 | int sender; | ||
| 84 | }; | ||
| 85 | |||
| 86 | /* | 74 | /* |
| 87 | * Determine the first node on a uvhub. 'Nodes' are used for kernel | 75 | * Determine the first node on a uvhub. 'Nodes' are used for kernel |
| 88 | * memory allocation. | 76 | * memory allocation. |
