Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
Pull tile updates from Chris Metcalf: "These changes cover a range of new arch/tile features and optimizations. They've been through LKML review and on linux-next for a month or so. There's also one bug-fix that just missed 3.4, which I've marked for stable." Fixed up trivial conflict in arch/tile/Kconfig (new added tile Kconfig entries clashing with the generic timer/clockevents changes). * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: tile: default to tilegx_defconfig for ARCH=tile tile: fix bug where fls(0) was not returning 0 arch/tile: mark TILEGX as not EXPERIMENTAL tile/mm/fault.c: Port OOM changes to handle_page_fault arch/tile: add descriptive text if the kernel reports a bad trap arch/tile: allow querying cpu module information from the hypervisor arch/tile: fix hardwall for tilegx and generalize for idn and ipi arch/tile: support multiple huge page sizes dynamically mm: add new arch_make_huge_pte() method for tile support arch/tile: support kexec() for tilegx arch/tile: support <asm/cachectl.h> header for cacheflush() syscall arch/tile: Allow tilegx to build with either 16K or 64K page size arch/tile: optimize get_user/put_user and friends arch/tile: support building big-endian kernel arch/tile: allow building Linux with transparent huge pages enabled arch/tile: use interrupt critical sections less
This commit is contained in:
@@ -128,10 +128,10 @@ void arch_release_thread_info(struct thread_info *info)
|
||||
* Calling deactivate here just frees up the data structures.
|
||||
* If the task we're freeing held the last reference to a
|
||||
* hardwall fd, it would have been released prior to this point
|
||||
* anyway via exit_files(), and "hardwall" would be NULL by now.
|
||||
* anyway via exit_files(), and the hardwall_task.info pointers
|
||||
* would be NULL by now.
|
||||
*/
|
||||
if (info->task->thread.hardwall)
|
||||
hardwall_deactivate(info->task);
|
||||
hardwall_deactivate_all(info->task);
|
||||
#endif
|
||||
|
||||
if (step_state) {
|
||||
@@ -245,7 +245,8 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
|
||||
|
||||
#ifdef CONFIG_HARDWALL
|
||||
/* New thread does not own any networks. */
|
||||
p->thread.hardwall = NULL;
|
||||
memset(&p->thread.hardwall[0], 0,
|
||||
sizeof(struct hardwall_task) * HARDWALL_TYPES);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -515,12 +516,7 @@ struct task_struct *__sched _switch_to(struct task_struct *prev,
|
||||
|
||||
#ifdef CONFIG_HARDWALL
|
||||
/* Enable or disable access to the network registers appropriately. */
|
||||
if (prev->thread.hardwall != NULL) {
|
||||
if (next->thread.hardwall == NULL)
|
||||
restrict_network_mpls();
|
||||
} else if (next->thread.hardwall != NULL) {
|
||||
grant_network_mpls();
|
||||
}
|
||||
hardwall_switch_tasks(prev, next);
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user