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 /arch/x86/include | |
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>
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/uv/uv_bau.h | 90 |
1 files changed, 51 insertions, 39 deletions
diff --git a/arch/x86/include/asm/uv/uv_bau.h b/arch/x86/include/asm/uv/uv_bau.h index 6a42d42eb8f..1c8f1e9bf74 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]); |