diff options
| author | mlelstv <mlelstv@NetBSD.org> | 2022-12-11 08:09:20 +0000 |
|---|---|---|
| committer | mlelstv <mlelstv@NetBSD.org> | 2022-12-11 08:09:20 +0000 |
| commit | f52ef5db799faf7d3137b8a3fdbf1d00db30b53f (patch) | |
| tree | d7d7d6dc0181bddddba34487f74d879aedd59b60 /sys/netinet | |
| parent | 756d6476271759b62d4f53e1372b79f43c97ac24 (diff) | |
Need larger fat pointers for 128bit cache lines.
Diffstat (limited to 'sys/netinet')
| -rw-r--r-- | sys/netinet/tcp_vtw.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/netinet/tcp_vtw.h b/sys/netinet/tcp_vtw.h index 50d12573b8f..9c0e3d2fdc4 100644 --- a/sys/netinet/tcp_vtw.h +++ b/sys/netinet/tcp_vtw.h @@ -1,4 +1,4 @@ -/* $NetBSD: tcp_vtw.h,v 1.9 2018/04/19 21:21:44 christos Exp $ */ +/* $NetBSD: tcp_vtw.h,v 1.10 2022/12/11 08:09:20 mlelstv Exp $ */ /* * Copyright (c) 2011 The NetBSD Foundation, Inc. * All rights reserved. @@ -151,7 +151,11 @@ */ struct fatp_mi; +#if CACHE_LINE_SIZE == 128 +typedef uint64_t fatp_word_t; +#else typedef uint32_t fatp_word_t; +#endif typedef struct fatp_mi fatp_t; @@ -161,7 +165,7 @@ typedef struct fatp_mi fatp_t; #define FATP_NTAGS (CACHE_LINE_SIZE / sizeof(fatp_word_t) - 1) #define FATP_NXT_WIDTH (sizeof(fatp_word_t) * NBBY - FATP_NTAGS) -#define FATP_MAX (1 << FATP_NXT_WIDTH) +#define FATP_MAX (1 << (FATP_NXT_WIDTH < 31 ? FATP_NXT_WIDTH : 31)) /* Worked example: ULP32 with 64-byte cacheline (32-bit x86): * 15 tags per cacheline. At most 2^17 fat pointers per fatp_ctl_t. |
