Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 114891
b: refs/heads/master
c: c763794
h: refs/heads/master
i:
  114889: e2b6250
  114887: a420cbf
v: v3
  • Loading branch information
Paul Mundt authored and Linus Torvalds committed Oct 16, 2008
1 parent 3005576 commit 72b05f5
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 18 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ec23847d6cfe445ba9a1a5ec513297f4cc0ada53
refs/heads/master: c7637941d16ae426a94058fe3b5460a31f68f61b
25 changes: 8 additions & 17 deletions trunk/fs/binfmt_elf_fdpic.c
Original file line number Diff line number Diff line change
Expand Up @@ -466,7 +466,8 @@ static int load_elf_fdpic_binary(struct linux_binprm *bprm,
#endif

/*
* present useful information to the program
* present useful information to the program by shovelling it onto the new
* process's stack
*/
static int create_elf_fdpic_tables(struct linux_binprm *bprm,
struct mm_struct *mm,
Expand All @@ -482,9 +483,13 @@ static int create_elf_fdpic_tables(struct linux_binprm *bprm,
int loop;
int nr; /* reset for each csp adjustment */

/* we're going to shovel a whole load of stuff onto the stack */
#ifdef CONFIG_MMU
sp = bprm->p;
/* In some cases (e.g. Hyper-Threading), we want to avoid L1 evictions
* by the processes running on the same package. One thing we can do is
* to shuffle the initial stack for them, so we give the architecture
* an opportunity to do so here.
*/
sp = arch_align_stack(bprm->p);
#else
sp = mm->start_stack;

Expand Down Expand Up @@ -527,20 +532,6 @@ static int create_elf_fdpic_tables(struct linux_binprm *bprm,
return -EFAULT;
}

#if defined(__i386__) && defined(CONFIG_SMP)
/* in some cases (e.g. Hyper-Threading), we want to avoid L1 evictions
* by the processes running on the same package. One thing we can do is
* to shuffle the initial stack for them.
*
* the conditionals here are unneeded, but kept in to make the code
* behaviour the same as pre change unless we have hyperthreaded
* processors. This keeps Mr Marcelo Person happier but should be
* removed for 2.5
*/
if (smp_num_siblings > 1)
sp = sp - ((current->pid % 64) << 7);
#endif

sp &= ~7UL;

/* stack the load map(s) */
Expand Down

0 comments on commit 72b05f5

Please sign in to comment.