aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/ngx_cpuinfo.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/core/ngx_cpuinfo.c b/src/core/ngx_cpuinfo.c
index 68eb094c9..39a6b05a0 100644
--- a/src/core/ngx_cpuinfo.c
+++ b/src/core/ngx_cpuinfo.c
@@ -72,7 +72,7 @@ void
ngx_cpuinfo(void)
{
u_char *vendor;
- uint32_t vbuf[5], cpu[4];
+ uint32_t vbuf[5], cpu[4], model;
vbuf[0] = 0;
vbuf[1] = 0;
@@ -103,8 +103,10 @@ ngx_cpuinfo(void)
case 6:
ngx_cacheline_size = 32;
- if ((cpu[0] & 0xf0) >= 0xd0) {
- /* Intel Core */
+ model = ((cpu[0] & 0xf0000) >> 8) | (cpu[0] & 0xf0);
+
+ if (model >= 0xd0) {
+ /* Intel Core, Core 2, Atom */
ngx_cacheline_size = 64;
}