summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-08-10 16:35:32 +0800
committerin2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-08-10 16:35:32 +0800
commita9e607158671c1d8625125a58bbd40dd18acb8b5 (patch)
treeb432d5867c3a97ecb8e4082118b7e2f8314d0cab
parent4fe6fa6ea16743f6e6f265e1131df3bff3767116 (diff)
downloadpttbbs-a9e607158671c1d8625125a58bbd40dd18acb8b5.tar
pttbbs-a9e607158671c1d8625125a58bbd40dd18acb8b5.tar.gz
pttbbs-a9e607158671c1d8625125a58bbd40dd18acb8b5.tar.bz2
pttbbs-a9e607158671c1d8625125a58bbd40dd18acb8b5.tar.lz
pttbbs-a9e607158671c1d8625125a58bbd40dd18acb8b5.tar.xz
pttbbs-a9e607158671c1d8625125a58bbd40dd18acb8b5.tar.zst
pttbbs-a9e607158671c1d8625125a58bbd40dd18acb8b5.zip
user defined SHMALIGNEDSIZE.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3023 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--include/pttstruct.h4
-rw-r--r--sample/pttbbs.conf6
2 files changed, 8 insertions, 2 deletions
diff --git a/include/pttstruct.h b/include/pttstruct.h
index 7c5a12a6..1167fb33 100644
--- a/include/pttstruct.h
+++ b/include/pttstruct.h
@@ -586,8 +586,8 @@ typedef struct {
#endif
} SHM_t;
-#ifdef USE_HUGETLB // 4MB aligned
-# define SHMSIZE (sizeof(SHM_t)/(1048576*4)+1)*1048576*4
+#ifdef SHMALIGNEDSIZE
+# define SHMSIZE (sizeof(SHM_t)/(SHMALIGNEDSIZE)+1)*SHMALIGNEDSIZE
#else
# define SHMSIZE (sizeof(SHM_t))
#endif
diff --git a/sample/pttbbs.conf b/sample/pttbbs.conf
index 7715ce5a..37101764 100644
--- a/sample/pttbbs.conf
+++ b/sample/pttbbs.conf
@@ -150,6 +150,12 @@
/* 使用 HUGETLB shared memory . 目前只在 Linux 上有效 */
//#define USE_HUGETLB
+/* 在某些平台之下, shared-memory規定需要為一定的 aligned size,
+ 如在 linux x86_64 下使用 HUGETLB 時需為 4MB aligned,
+ 而在 linux ia64 下使用 HUGETLB時需為 256MB aligned.
+ 單位為 bytes */
+//#define SHMALIGNEDSIZE (1048576*4) // 4MB for x86_64
+
/* 讓過於熱門或被鬧的版冷靜, SHM 會變大一些些 */
#define USE_COOLDOWN