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>

authored by Cliff Wickman and committed by Ingo Molnar 4faca155 712157aa

+51 -51
+51 -39
arch/x86/include/asm/uv/uv_bau.h
··· 322 /* bytes 24-31 */ 323 }; 324 325 /* 326 * one per-cpu; to locate the software tables 327 */ ··· 418 int congested_period; 419 cycles_t period_time; 420 long period_requests; 421 - }; 422 - 423 - /* 424 - * This structure is allocated per_cpu for UV TLB shootdown statistics. 425 - */ 426 - struct ptc_stats { 427 - /* sender statistics */ 428 - unsigned long s_giveup; /* number of fall backs to IPI-style flushes */ 429 - unsigned long s_requestor; /* number of shootdown requests */ 430 - unsigned long s_stimeout; /* source side timeouts */ 431 - unsigned long s_dtimeout; /* destination side timeouts */ 432 - unsigned long s_time; /* time spent in sending side */ 433 - unsigned long s_retriesok; /* successful retries */ 434 - unsigned long s_ntargcpu; /* number of cpus targeted */ 435 - unsigned long s_ntarguvhub; /* number of uvhubs targeted */ 436 - unsigned long s_ntarguvhub16; /* number of times >= 16 target hubs */ 437 - unsigned long s_ntarguvhub8; /* number of times >= 8 target hubs */ 438 - unsigned long s_ntarguvhub4; /* number of times >= 4 target hubs */ 439 - unsigned long s_ntarguvhub2; /* number of times >= 2 target hubs */ 440 - unsigned long s_ntarguvhub1; /* number of times == 1 target hub */ 441 - unsigned long s_resets_plug; /* ipi-style resets from plug state */ 442 - unsigned long s_resets_timeout; /* ipi-style resets from timeouts */ 443 - unsigned long s_busy; /* status stayed busy past s/w timer */ 444 - unsigned long s_throttles; /* waits in throttle */ 445 - unsigned long s_retry_messages; /* retry broadcasts */ 446 - unsigned long s_bau_reenabled; /* for bau enable/disable */ 447 - unsigned long s_bau_disabled; /* for bau enable/disable */ 448 - /* destination statistics */ 449 - unsigned long d_alltlb; /* times all tlb's on this cpu were flushed */ 450 - unsigned long d_onetlb; /* times just one tlb on this cpu was flushed */ 451 - unsigned long d_multmsg; /* interrupts with multiple messages */ 452 - unsigned long d_nomsg; /* interrupts with no message */ 453 - unsigned long d_time; /* time spent on destination side */ 454 - unsigned long d_requestee; /* number of messages processed */ 455 - unsigned long d_retries; /* number of retry messages processed */ 456 - unsigned long d_canceled; /* number of messages canceled by retries */ 457 - unsigned long d_nocanceled; /* retries that found nothing to cancel */ 458 - unsigned long d_resets; /* number of ipi-style requests processed */ 459 - unsigned long d_rcanceled; /* number of messages canceled by resets */ 460 }; 461 462 static inline int bau_uvhub_isset(int uvhub, struct bau_target_uvhubmask *dstp)
··· 322 /* bytes 24-31 */ 323 }; 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 + 376 /* 377 * one per-cpu; to locate the software tables 378 */ ··· 367 int congested_period; 368 cycles_t period_time; 369 long period_requests; 370 }; 371 372 static inline int bau_uvhub_isset(int uvhub, struct bau_target_uvhubmask *dstp)
-12
arch/x86/kernel/tlb_uv.c
··· 23 #include <asm/irq_vectors.h> 24 #include <asm/timer.h> 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) */ 35 static int timeout_base_ns[] = { 36 20, ··· 70 static DEFINE_PER_CPU(struct ptc_stats, ptcstats); 71 static DEFINE_PER_CPU(struct bau_control, bau_control); 72 static DEFINE_PER_CPU(cpumask_var_t, uv_flush_tlb_mask); 73 - 74 - struct reset_args { 75 - int sender; 76 - }; 77 78 /* 79 * Determine the first node on a uvhub. 'Nodes' are used for kernel
··· 23 #include <asm/irq_vectors.h> 24 #include <asm/timer.h> 25 26 /* timeouts in nanoseconds (indexed by UVH_AGING_PRESCALE_SEL urgency7 30:28) */ 27 static int timeout_base_ns[] = { 28 20, ··· 78 static DEFINE_PER_CPU(struct ptc_stats, ptcstats); 79 static DEFINE_PER_CPU(struct bau_control, bau_control); 80 static DEFINE_PER_CPU(cpumask_var_t, uv_flush_tlb_mask); 81 82 /* 83 * Determine the first node on a uvhub. 'Nodes' are used for kernel